BP神经网络

原创 2016年06月01日 13:20:30

BP神经网络

基本BP神经网络算法包括:
- 信号的前向传播
- 误差的反向传播

也即计算实际输出时按照输入到输出的方向进行,权值阈值调整则相反。
BP是一种多层前馈神经网络,由输入层、隐含层和输出层组成。层与层之间有两种信号在流动:一种是从输入流向输出的工作信号,是输入和权值的函数;另一种是输入流向输出的信号,即误差

信号的前向传播:

==隐含层==i个节点的输入和输出分别为:
输入:

neti=j=1Mωijxj+θi

输出:
oi=ϕ(neti)
=ϕ(j=1Mωijxj+θi)

M——输入层节点个数
ωij——隐含层第i个节点到第j个节点之间的权值
θi表示隐含层第i个节点的阈值
ϕ表示隐含层的激励函数
==输出层==第k个节点的输入和输出分别为:
输入:
netk=i=1qωkiyi+ak
=i=1qωkiϕ(neti)+ak

输出:
ok=ψ(netk)

误差的反向传播

由输出层开始逐层计算各层神经元的输出误差,根据==梯度下降法==调节各层的权值阈值
每一个样本p的二次型误差准则函数Ep

Ep=12k=1L(Tkok)2

系统对P个训练样本的总误差准则函数为:
Ep=12p=1Pk=1L(Tkok)

根据梯度下降法依次修正输出层权值的修正量Δωki输出层阈值的修正量Δak隐含层权值的修正量Δωij隐含层阈值的修正量Δθi
Δωki=ηEωki

Δak=ηEak

Δωij=ηEωij

Δθi=ηEθi

以上几个公式有专门公式推导。

BP算法流程图:

Created with Raphaël 2.1.0开始初始化权值阈值输入训练样本计算隐含层各神经元的输入输出计算输出层各神经元的输入输出计算输出层各误差计算隐含层各误差修正输出层、隐含层权值和阈值样本全部训练完?误差<e?本轮训练结束更新训练总步数yesnoyesno
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

BP神经网络的拓扑优化算法

  • 2017年11月12日 15:35
  • 15KB
  • 下载

神经网络和BP算法C及python代码

以上仅给出了代码。具体BP实现原理及神经网络相关知识请见:神经网络和反向传播算法推导 首先是前向传播的计算: 输入: 首先为正整数 n、m、p、t,分别代表特征个数、训练样本个数、隐藏层...

BP神经网络的语音识别Matlab程序

  • 2017年11月14日 21:27
  • 370KB
  • 下载

BP神经网络推导

  • 2017年11月12日 11:10
  • 45KB
  • 下载

字符识别OCR研究一(模板匹配&BP神经网络训练)

 基于机器学习的方法做OCR识别详见我其他博客:http://blog.csdn.net/zhubenfulovepoem/article/details/51165887  Abst...

BP神经网络的预测Matlab程序

  • 2017年11月14日 21:32
  • 49KB
  • 下载

BP人工神经网络的C++实现

BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:BP神经网络
举报原因:
原因补充:

(最多只允许输入30个字)