1.5感知机网络
1.5.1感知机原理
感知机(Perceptron)是1957年提出的分类方法,由Rosenblat提出,是神经网络和支持向量机的基础。
1.5.2感知机模型
输入:训练数据集{}(监督学习)
输出:w
1.赋初值w0,数据序号i=1,迭代次数k=0
2.选择数据点()
3.判断该数据点是否为当前模型的误分类点,即判断若,则更新权值:
4.转到2,直到训练集中没有误分类点
1.5.3训练过程
线性可分任务
线性不可分任务
2. 1 多层感知机
2.1.1 XOR问题
线性不可分问题:无法进行线性分类。Minsky 1969年提出XOR问题。
2.1.2 解决方法:使用多层感知机
在输入和输出层间加一层或多层隐单元,构成多层感知机(多层前馈神经网络)。
加一层隐节点(单元)为三层网络,可解决异或(XOR)问题,如图。
由输入得到两个隐节点、一个输出层节点的输出:
可得到
设网络有如下一组权值和阈值,可得各节点的输出:
三层感知机可识别任一凸多边形或无界的凸区域。
更多层感知机网络,可识别更为复杂的图形。
多层感知器网络,有如下定理:
定理1 若隐层节点(单元)可任意设置,用三层阈值节点的网络,可以实现任意的二值逻辑函数。
定理2 若隐层节点(单元)可任意设置,用三层S型非线性特性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧集上的平方可积函数。
2.2 多层前馈网络
多层前馈网络的反向传播 (BP)学习算法,简称BP算法,是有导师的学习,它是梯度下降法在多层前馈网中的应用。
网络结构:见图,u、y是网络的输入、输出向量,神经元用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层,也可多层(图中是单隐层),前层至后层节点通过权联接。由于用BP学习算法,所以常称BP神经网络。
2.3 BP算法简述
已知网络的输入/输出样本,即导师信号
BP学习算法由正向传播和反向传播组成:
①正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。
②反向传播是将误差(样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。
2.4 BP算法基本思想
记法(尽量与吴恩达“深度学习”一致):
(粗整体为向量或矩阵,一般斜体为变量)
层:用上标[l]表示,供L层。其中输入为第0层,输出为L层
网络输出:;网络输入:
网络中第l层输出:,选取作用函数为Sigmoid函数,则可记为:
权值连接: ,表示连接第l层第i个节点和第l-1层第j个节点的权值
设算法的输入输出样本(导师信号)为:
即共N个样本。或记为
网络训练的目的,是使对每一个输入样本,调整网络参数,使输出均方误差最小化。这是一个最优化问题。
选取:
考虑迭代算法,设初始权值为, k时刻权值为
, 则使用泰勒级数
展开,有:
问题:如何选择,使
最小?
最直接的方法就是选择
这样每一步都能保证 ,从而使J最终可收敛到最小。
这就是梯度下降算法,也是BP学习算法的基本思想。
①设置初始权系数为较小的随机非零值;
②给定输入/输出样本对,计算网络输出, 完成前向传播
③计算目标函数。如
, 训练成功,退出;否则转入④
④反向传播计算 由输出层,按梯度下降法将误差反向传播,逐层调整权值。
2.5 总结
缺点
算法非全局收敛;
收敛速度慢;
学习速率α选择;
神经网络如何设计(几层?节点数?)