深度学习一词,最早是在2006~2007年,由Geoffrey Hinton 在《Science》上发表的文章开始被提出和逐步兴起的。深度学习是在机器学习的基础上发展的,神经网络的层级比机器学习的多而复杂,算法也有了很大发展。
算法的汇总,也是按照机器学习常用算法和深度学习常用算法进行分类的,算法基础分类:
机器学习Machine Learning
深度学习Deep Learning
如下图:
机器学习算法
机器学习算法,可根据是监督学习还是非监督学习分为两大类。
监督学习Supervised Learning
回归Regression
线性回归Linear Regression
非线性回归Non-Linear Regression
分类Classification
决策树Decision Tree
临近取样Near Neighbor
KNN算法
支持向量机Support Vector Machine
神经网络Neural Network
反向传播Back Propagation
非监督学习Unsupervised Learning
聚类Clustering
K-means算法
层次聚类算法Hierarchical Clustering
机器学习算法分类层级如下:
机器学习:机器学习算法分类层级 ↑
在分类中,我们看到有神经网络结构,这个也是深度学习的根基。深度学习正是在机器学习的基础上发展的,区别在于深度学习的神经网络的层级比机器学习的多而复杂。
正是受到生物学领域中的神经网络的启发,才有了今天机器学习、深度学习中的神经网络的结构。
生物学领域神经网络中的单个神经元 ↑
机器学习:2层神经网络 ↑
深度学习:3层神经网络 ↑
提示:在统计神经网络的层数时,通常是不把输入层Input Layer计算在内的。这也是上面两个神经网络图中明明是3层、4层却分别被标记为2层、3层的神经网络的原因。
深度学习算法
正如深度学习是在机器学习的基础上发展的,其算法分类也可根据是监督学习还是非监督学习分为两大类。
监督学习Supervised Learning
分类Classification
神经网络Neural Network
反向传播Back Propagation
梯度下降Gradient Descent
随机梯度下降Stochastic Gradient Descent
卷积神经网络Convolutional Neural Network
深度卷积神经网络Convolutional Neural Network
非监督学习Unsupervised Learning
限制波尔兹曼Restricted Boltzmann Machine
自动编码AutoEncode
深度信念网络Deep Belief Network
深度学习:机器学习算法分类层级 ↑
神经网络信息传递过程
下图是一个3层的神经网络,其中:每一个⭕️代表一个神经元,也可以叫做神经节点、神经结点,每个神经元有一个偏置bias。每一条线,有一个权重weight。神经网络学习的目标:就是通过减少损失loss或cost,来确定权重和偏置。
理论上,如果有足够多的隐藏层和足够大的训练集,则可以模拟出任何方程。
通常,一层中的神经元经过加权求和,然后再经过非线性方程得到的结果转化为输出,或者作为下一层的输入。如下图所示:
常用的激励函数↑
注意:非线性方程,即是通常所说的激励函数。常见的激励函数:sigmoid函数、tanh函数、ReLu函数、SoftMax函数等等。激励函数各有各的优缺点,使用时要注意对学习效果的影响。激励函数的图像如下:
常用的激励函数↑
激励函数:sigmoid函数图像↑
激励函数:tanh函数图像↑
激励函数:ReLu函数图像↑
小结
本文对机器学习、深度学习算法先总览,脑海中有个整体的框架认识,每种算法不做展开。接下来会用TensorFlow框架学习,等后面学习过程中用到哪种算法再进行详细阐述。
获取电子版《白话深度学习与TensorFlow》请回复:深度学习
领取专属 10元无门槛券
私享最新 技术干货