BP训练算法实现步骤

准备:训练数据组。设网络有$m$层,$y_j^m$表示第$m$中第$j$个节点的输出,$y_^0$(零层输出)等于$x_j$,即第$j$个输入。$w_{ij}^m$表示从$y_i^{m-1}$到$y_j^m$的连接加权。这里,$m$代表层号,而不是向量的类号。

1.将各加权随机置为小的随机数。可用均匀分布的随机数,以保证网络不被大的加权值所饱和。

2. 从训练数据组中选一数据对$x^k,T^k$, 将输入向量加到输入层$(m=0)$,使得对所有端点$i$:         $y_i^0=x_i^k$, $k$表示向量类号

3. 信号通过网络向前传播,即利用关系式:

\[y_j^m=F(s_j^m)=F(\sum_iw_{ij}^my_i^{m-1})\]

计算从第一层开始的各层内每个节点$i$的输出$y_j^m$,直到输出层的每个节点的输出计算完为止。

4. 计算输出层每个结点的误差值(利用公式(1))

\[\delta_j^m=F‘(s_j^m)(T_j^k-y_i^m)=y_j^m(1-y_j^m)(T_j^k-y_j^m),(\text{对Sigmod函数})\]

它是由实际输出和要求目标值之差获得。

5. 计算前面各层结点的误差值(利用公式(2))

\[\delta_j^{m-1}=F‘(s_j^{m-1}\sum_iw_{ji}\delta_i^m)\]

这里逐层计算反传误差,直到将每层类每个结点的误差值算出为止。

6. 利用加权修正公式

\[
\Delta w_{ij}^m = \eta \delta _j^m y_i^{m - 1}
\]

和关系

\[
w_{ij}^{new} = w_{ij}^{old} + \Delta w_{ij}
\]

修正所有连接权。一般$\eta=0.01--1$,称为训练速率系数。

7. 返回第2步,为下一个输入向量重复上述步骤,直至网络收敛。

时间: 2024-11-06 22:48:19

BP训练算法实现步骤的相关文章

传统神经网络ANN训练算法总结 参考 。 以后研究

http://blog.163.com/yuyang_tech/blog/static/21605008320146451352506/ 传统神经网络ANN训练算法总结 2014-07-04 17:13:52|  分类: deeplearning |  标签:ann  |举报|字号 订阅 下载LOFTER我的照片书  | 原文来自:http://blog.csdn.net/bluebelfast/article/details/17139095 ——————————以下为原文——————————

传统神经网络ANN训练算法总结

传统神经网络ANN训练算法总结 学习/训练算法分类 神经网络类型的不同,对应了不同类型的训练/学习算法.因而根据神经网络的分类,总结起来,传统神经网络的学习算法也可以主要分为以下三类: 1)前馈型神经网络学习算法-----(前馈型神经网络) 2)反馈型神经网络学习算法------(反馈型神经网络) 3)自组织神经网络学习算法------(自组织神经网络) 以下我们将通过三类典型的神经网络模型分别阐述这三类不同的学习算法其区别与相似点. 虽然针对不同的网络模型,这里产生了三类不同类型的训练算法,但

感知器的训练算法

 1.感知器算法来源和基本思想 “感知器”一词出自于20世纪50年代中期到60年代中期人们对一种分类学习机模型的称呼,它是属于有关动物和机器学习的仿生学领域中的问题.当时的一些研究者认为感知器是一种学习机的强有力模型,后来发现估计过高了,但发展感知器的一些相关概念仍然沿用下来. 采用感知器算法(Perception Approach)能通过对训练模式样本集的“学习”得到判别函数的系数.由于该算法不需要对各类别中模式的统计性质做任何假设,因此称为确定性的方法. 感知器算法实质上是一种赏罚过程: –

数据挖掘系列(9)——BP神经网络算法与实践

神经网络曾经很火,有过一段低迷期,现在因为深度学习的原因继续火起来了.神经网络有很多种:前向传输网络.反向传输网络.递归神经网络.卷积神经网络等.本文介绍基本的反向传输神经网络(Backpropagation 简称BP),主要讲述算法的基本流程和自己在训练BP神经网络的一些经验. BP神经网络的结构 神经网络就是模拟人的大脑的神经单元的工作方式,但进行了很大的简化,神经网络由很多神经网络层构成,而每一层又由许多单元组成,第一层叫输入层,最后一层叫输出层,中间的各层叫隐藏层,在BP神经网络中,只有

EM算法(2):GMM训练算法

目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法详解

bp神经网络算法

对于BP神经网络算法,由于之前一直没有应用到项目中,今日偶然之时 进行了学习, 这个算法的基本思路是这样的:不断地迭代优化网络权值,使得输入与输出之间的映射关系与所期望的映射关系一致,利用梯度下降的方法更新调整各层的权值,求目标函数的最小化. 1:初始化网络权值和神经元阈值(最简单的方法是随机初始化): 2:前向算法:这是bp神经网络的经典算法,主要过程是,按照公式一层层计算隐层神经元和输出神经元的Input和Output. net=x1*w1 + x2*w2 + .....+xn*wn tan

【原创】batch-GD, SGD, Mini-batch-GD, Stochastic GD, Online-GD -- 大数据背景下的梯度训练算法

机器学习中梯度下降(Gradient Descent, GD)算法只需要计算损失函数的一阶导数,计算代价小,非常适合训练数据非常大的应用. 梯度下降法的物理意义很好理解,就是沿着当前点的梯度方向进行线搜索,找到下一个迭代点.但是,为什么有会派生出 batch.mini-batch.online这些GD算法呢? 原来,batch.mini-batch.SGD.online的区别在于训练数据的选择上:   batch mini-batch Stochastic Online 训练集 固定 固定 固定

使用python实现森林算法方法步骤详解

本文和大家分享的是使用python实现森林算法相关内容,一起来看看吧,希望对大家学习python有所帮助. 算法描述 随机森林算法 决策树运行的每一步都涉及到对数据集中的最优**点(best split point)进行贪婪选择(greedy selection). 这个机制使得决策树在没有被剪枝的情况下易产生较高的方差.整合通过提取训练数据库中不同样本(某一问题的不同表现形式)构建的复合树及其生成的预测值能够稳定并降低这样的高方差.这种方法被称作引导**算法(bootstrap aggrega

读论文《BP改进算法在哮喘症状-证型分类预测中的应用》

总结: 一.研究内容 本文研究了CAL-BP(基于隐层的竞争学习与学习率的自适应的改进BP算法)在症状证型分类预测中的应用. 二.算法思想 1.隐层计算完各节点的误差后,对有最大误差的节点的权值进行正常修正,  而对其它单元的权值都向相反方向修正,用 δ表示隐层节点的权值修正量, 则修正量的调整公式具体为 2.每次算法迭代完以后,计算误差函数的值并与前一次的值进行比较,如果误差函数的值增大,     则代表过调了学习率,应在下一次迭代时以一定比率下调学习率 ],若误差函数的i+1值减小,