1 BP神经网络介绍
多层感知器可以很好的解决分类问题,但是单层感知器的权值调整算法无法
运用到多层感知器中(无法确定隐藏层的期望输出)。而随着误差反向传播算法(Error
Back Propagation, BP)的提出, 解决了多层神经网络的学习问题, 故人们称这种采用
误差反向传播算法训练的多层神经网络称为BP网络。 BP网络的学习过程由信号的正向
传播和反向传播两个过程组成:
· 正向传播时信号从输入层计算各层加权和经由各隐层最终传递到输出层,得到输出结
果· 输出结果与期望结果(监督信号)比较得到输出误差,误差反传是依照梯度下降算法
将误差沿着隐藏层到输入层逐层反传,将误差分摊给各层的所有单元,从而得到各个
单元的误差信号(学习信号),据此修改各单元权值
2 网络结构
其中的向量定义如下
3 研究步骤-输出
研究步骤-代价函数
· 3 权值调整:
这里我们用代价函数E来描述网络误差,使用随机梯度下降(SGD,Stochastic
Gradient Descent)策略, 以代价函数的负梯度方向对参数进行调整。每次只针对
一个训练样例更新权值。这种算法被称作误差逆传播(error Back Propagation)算
法,简称标准BP算法
研究步骤-梯度下降反向调整权值
4 bp算法推导
5 学习算法步骤——标准化、初始化
1 观察输入向量,一般需要标准化,当量纲差别不大是不需要标准化。
· 2 初始化:
- 选取学习率η(0 < η ≤ 1) - 对权值矩阵、赋初值(较小的非零随机数)
- 根据循环训练的需要定义训练集内样本计数器p = 1(全部样本训练完一次后归
一)和训练次数计数器q = 1(记录总的训练次数),误差E = 0(记录每次的训
练误差)。给出训练需要满足的精度Emin,设定最大迭代次数M
学习算法步骤——计算
学习算法步骤——调整权重、循环:
6 学习算法步骤——流程图
7 拓展——累积BP算法
除了标准BP算法,还有另一种基于标准梯度下降(BGD,Batch Gradient Descent)策
略的BP算法(累积BP算法). 相较于标准BP算法的对于每个样本都要回传误差调整权值,
累积BP算法是在所有样本输入后计算总误差然后调整权值,总误差
累积BP算法在样本数多的情况下学习速度快很多;而
标准BP算法往往会获得较好的解