吃瓜学习笔记4-第五章神经网络(感知机、多层前馈网络、误差逆传播算法BP,过拟合)

感知机

感知机 由两层神经元组成, 如图5.3 所示,输入层接收外界输入信号后传递给输出层, 输出层是M-P 神经元,亦称"阈值逻辑单元" 

其中感知机是用在线性可分的数据集上。感知机的目的就是能得到一个对数据集T中的正负样本完全正确划分的超平面,其中就是超平面方程

什么叫线性可分?就是找到一个超平面把数据分开。

什么叫超平面?

超平面就是能把数据集分开的,比如说在一维可以用点区分,点就是超平面;二维可以用线条区分,线条就是超平面;三维可以用一个平面区分,平面就是超平面;

各个维度的超平面

感知机学习策略︰随机初始化w,b,将全体训练样本代入模型找出误分类样本,假设此时误分类样本集合为M T,对任意一个误分类样本(x, y) ∈M来说,当时,模型输出值=1,样本真实标记为y =0;反之,当时,模型输出值为=0,样本真实标记为y = 1。综合两种情形可知,以下公式恒成立

所以,给定数据集T,其损失函数可以定义为:

只要让损失函数最小化,就可以得到w和,从而得到超平面的方程


神经网络

要解决非线性可分问题,需考虑位多层功能神经元. 例如图5.5 中这个简单的两层感知机就能解决异或问题. 


图5.5 能解决异或问题的两层感知机

什么叫非线性可分问题?就是不能用点或线或平面划分。如下,找不到一条蓝线把正负分开。这时候我们用多层感知机来做。



多层前馈网络:每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。(隐层阈值,输出层阈值)


多层前馈网络

隐含层和输出层神经元都是拥有激活函数的功能神经元.

其中,如果做(单输出)回归,那么我们最后的预测结果,用到的函数是,无激活函数。我们的误差用的是均方差误差。

如果做分类{0,1},那么我们最后的预测结果,用到的激活函数如下。我们用到的误差是交叉熵。

某个训练样本(),其中,假定其多层前馈网络的输出为,则该单个样本的均方误差(损失)为

然后用下列的BP算法求出w,b。

误差逆传播算法


误差逆传播(error BackPropagation,简称BP)算法就是其中最杰出的代表.它是迄今最成功的神经网络学习算法.现实任务中使用神经网络时,大多是在使用BP 算法进行训练.值得指出的是, BP 算法不仅可用于多层前馈神经网络,还可用于其他类型的神经网络. 例如训练递归神经网络. 但通常说"BP 网络"时,一般是指用BP 算法训练的多层前馈神经网络.

误差逆传播算法(BP算法)︰基于随机梯度下降的参数更新算法。


随机梯度一般指的是一次迭代随机抽取一个样本进行梯度下降。普通梯度是一次迭代所有样本进行梯度下降。

假设隐藏层和输出层激活函数是sigmoid函数,误差用的是均方差误差。

对单个训练样本 , 假设神经网络的输出为,即

(5.3)

则网络在上的均方误差为

5.4

BP 算法基于梯度下降(gradient descent)策略, 以目标的负梯度方向对参数进行调整. 对式(5 .4) 的误差Ek, 给定学习率η,有


5.6




学习率η属于(0 , 1) 控制着算沾每一轮迭代中的更新步长,若太大则容易振荡,太小则收敛速度又会过慢.有时为了做精细调节、可令式(5.11) 与(5.12) 使用η1 ,式(5.13) 与(5.14) 使用η2 , 两者未必相等.

过拟合现象

BP算法容易过拟合,两种方法。

一种策略是"早停" (early stopping): 将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值.

 第二种策略是"正则化" (regularization),其基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和.仍令Ek 表示第k 个训练样例上的误差,wi表示连接权和阈值,则误差目标函数(5.16) 改变为


其中λ∈(0 , 1) 用于对经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计.

你可能感兴趣的:(吃瓜学习笔记4-第五章神经网络(感知机、多层前馈网络、误差逆传播算法BP,过拟合))