人工神经网络
Artificial Neural Nerworks
基本术语概念:
人工神经网络(Artificial Neural Networks,ANN)
感知器(Perceptron):以一个实数值向量作为输入,计算输入的线性组合,如果结果大于某个阈值输出1,否则输出-1。
权值(weight):贡献率。
线性可分(linearly separable)
Delta法则(delta rule):LMS的一个变态,采用梯度下降。
感知器训练法则(perceptron training rule)
梯度下降(gradient descent)
反向传播算法(The Backpropagation Algorithm)
1 适合神经网络学习的问题
- 实例使用很多"属性-值"对表示的。
- 目标函数的输出可能是离散值。
- 训练数据可能包含错误。
- 可容忍长时间的训练。
- 可能需要快速求出目标函数值。
- 人类能否理解学到的目标函数是不重要的。
2 感知器(perceptron)
感知器:ANN系统的基础单元
其中,w是一个实数常量,叫做权值(weight)。
学习一个感知器意味着选择权w的值。
2.1 感知器的表征能力
单独的感知器可以解决线性可分(linearly separable)样例集合,例如很多布尔函数,AND,OR,但不能解决线性不可分的函数,例如异或函数XOR。
2.2 感知器训练法则
- 感知器法则(perceptron training rule):
该法则收敛的前提是训练样例线性可分。
- Delta法则:
如果训练样本不是线性可分的,那么delta法则会收敛到目标概念的最佳近似。它的关键思想是使用梯度下降(gradient descent)来进行搜索。
先制定一个度量标准来衡量假设相对于训练样本的训练误差(training error)。
其中,D是训练样例集合,t是训练样例d的目标输出,o是线性单元对训练样例d的输出。
接下来要是误差最小,计算E相对w每个分量的导数。
这个向量导数被称为E对于w的梯度(gradient)。
通过求导得:
3 多层网络和反向传播算法(The Backpropagation Algorithm)
3.1 可微阈值单元(A Differentiable Threshold Unit)
这里需要的单元应该是,它的输出是输入的非线性函数,并且输出是输入的可微函数,这样我们就能表征非线性函数的网络。Sigmoid单元满足。
Sigmoid单元:
3.2 反向传播算法(The Backpropagation Algorithm)
这里描述的算法适用于包含两层sigmoid单元的分层前馈网络,它采用梯度下降方法试图最小化网络输出值和目标值之间的误差平方,来学习这个网络的权值。一些符号意义:
3.3 反向传播法则的推导
符号表示: