作者:Stefan Kojouharov

译者:郝毅

2018 年 11 月 27 日

话题:AI语言 & 开发大数据深度学习

2018 年 11 月 27 日

话题:AI语言 & 开发大数据深度学习机器学习

本文是根据 Stefan Kojouharov 发表在 Medium 上的文章整理而成的一份人工智能、神经网络、机器学习、深度学习和大数据方面的速查表。为了便于查找与使用,本文对每个主题进行了分类,希望可以对各位的工作有所帮助。

注意!这可能是相关领域最全的的一份速查表,文末还列出了各种算法的复杂度统计。

神经网络

图 1:神经网络速查表

神经网络图

图 2:神经网络结构图速查表

图 3a:神经网络相关概念速查表(上)

图 3b:神经网络相关概念速查表(下)

机器学习概览

图 4:机器学习速查表

机器学习:Scikit-learn 算法

如果在你的项目中出现了一些未知问题,那么这份机器学习速查表可以帮助你快速地找到出问题的那部分。下面这个流程图可以帮助你快速的浏览文档并快速导航,这可以帮助你更深入的理解问题的原因,同时为你提供对应的解决方案。

图 5:机器学习速查表

Scikit-Learn

Scikit-learn(原 scikits.learn) 是基于 Python 的一款免费机器学习库。它涵盖了很多 分类回归 以及 聚类 算法,包括 支持向量机随机森林梯度加速k-means 聚类 以及 DBSGAN 聚类算法。该库可以与 Python 的科学计算库 Numpy 以及 SciPy 互操作。

图 6:Scikit-Learn 速查表

机器学习:算法速查表

这份来自微软 Azure 的机器学习速查表可以帮助你在解决方案的预分析过程中快速选择合适的机器学习算法。使用这份速查表时,你可以根据自己的目的和数据特征快速地选择对应的算法。

图 7:机器学习速查表

Python 的数据科学相关功能

图 8:Python 数据科学速查表

图 9:大数据速查表

TensorFlow

2017 年 5 月,Google 发布了第二代 TPU(张量计算单元),同时在 谷歌计算引擎 上提供了 TPU 集群。第二代 TPU 提供了高达每秒 180 万亿次的浮点数运算能力,由 64 个 TPU 组成的集群可以提供每秒 1.15 亿亿次的浮点数运算能力。

图 10:TensoFlow 速查表

Keras

2017 年,Google 的 TensorFlow 团队决定在 TensorFlow 的核心库中添加 Keras 支持。Ghollet 解释说,Keras 是按接口来设计的,而不是一个端到端的机器学习框架。它代表着更高级、更直观的使用方式,这使得配置神经网络变得更为简单,用户不需要再去了解复杂的后端科学计算库。

图 11:Keras 速查表

Numpy

Numpy 旨在作为 Python 的 CPython 参考实现,它是一个非优化的字节码解释器。针对这个 Python 版本编写的一些数学算法通常比相同代码的编译版本慢一些。Numpy 通过提供多维数组和函数,以及在数组上的高效运算符来解决运算缓慢的问题,这需要需要重写一些代码,主要是使用 NumPy 的一些内循环。

图 12:Numpy 速查表

Pandas

“Pandas” 这个名称来源于术语 “ 面板数据”, 这是多维结构化数据集的一个计量经济学术语。

图 13:Pandas 速查表

数据清洗

“数据清洗”正逐渐渗入流行文化。在 2017 年的电影《 金刚:骷髅岛》中,由 Marc Evan Jackson 扮演的角色 Steve Woodward 就是一位数据清洗师。

图 14:数据清洗速查表

图 15:Pandas 数据清洗速查表

使用 dplyr 和 tidyr 进行数据清洗

图 16a:基于 dplyr 和 tidyr 的数据清洗速查表

图 16b:基于 dplyr 和 tidyr 的数据清洗速查表

Scipy

Scipy 是基于 Numpy 数组对象的一个科学计算库,它是 NumPy 全家桶(包括 Matplotlib、Pandas、SymPy 等工具包)的一部分,也是科学计算库的一个扩展集。这个 Numpy 全家桶与其他应用程序(如 MATLAB、GNU Octave 和 Scilab)有很多共同的用户。NumPy 全家桶有时也被称为 SciPy 全家桶。

图 17:Scipy 速查表

Matplotlib

Matplotlib 是一个面向 Python 编程语言及其数学计算库 NumPy 的绘图工具库。Matplotlib 提供了面向对象的 API,它使用通用的 GUI 工具包(例如 Tkinter、wxPython、Qt 或者 GTK+)。虽然也有基于状态机的程序接口“pylab“(像 OpenGL),其设计与 MATLAB 非常相似,但是大家却不提倡使用它。SciPy 使用了 matplotlib。

pyplot 是 matplotlib 中的一个模块,提供类似 MATLAB 的接口。按照设计,Matplotlib 可以跟 MATLAB 一样使用,你可以在 Python 中使用它,并且是免费的。

图 18:Matplotlib 速查表

数据可视化

图 19:数据可视化速查表

图 20:ggplot 速查表

PySpark

图 21:Pyspark 速查表

Big-O(时间复杂度)

![](https://img.6aiq.com/e/35469246a8584