概述
深度学习也是机器学习的一种,是由前向神经网络或者多层感知机算法演化而来,由于计算资源和可计算数据增加,神经网络的效果逐渐浮现出来,从而迎来了蓬勃发展。本节主要介绍深度学习中基础网络结构前向神经网络(Feedword Netural Network)
FNN基本概念
机器学习都是在学习一种变换,深度学习也不例外,即 y=f(x)=ϕ(x;θ) ,机器学习目标需要找到最优的拟合函数。不同的学习算法由于其模型表达能力不同,所拟合效果也不太一样。例如有的方法能够拟合线性函数、有的模型能够拟合二次函数等等。
FNN理论上能够拟合各种不同类型函数表达。
FNN采取的思路是对输入x进行各种非线性变换,直到达到较好的效果。
例如 y=f(x)=f3(f2(f1(x))) ,变换可以线性或者非线性变换,但是如果所有的变化都是线性变换,则多层变换和一层变换效果一致,因此FNN会包含各种不同类型的非线性变换。
基于梯度学习算法
基于梯度的学习算法是机器学习中非常常用的方法,在深度学习中也不例外。比较经典的梯度反向传播算法也是其中的一种,根据以往机器学习的经验,需要解决一下问题。
价值函数
在大多数的情形下,深度学习模型能够学习到 P(y|x;θ) 。因此只需要选择交叉熵计算训练数据和模型预测结果作为价值函数,采用最大释然估计进行求解。
通用的价值函数可以表达为
可以根据不同的概率分布选择模型表示。
输出单元
FNN包括三种比较重要的层次,输入层常常表示为一维向量或者多维向量;中间层也叫隐藏层;输出层。
常见的输出单元有
1. 线性单元,即输出表示为 y^=WTh+b ,常用于回归
2. Sigmoid单元:即 y^=σ(WTh+b) ,常用于二元分类
3. SoftMax单元:即