BP神经网络后向传播算法
Posted yunpiao123456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BP神经网络后向传播算法相关的知识,希望对你有一定的参考价值。
下图显示了三层神经网络的后向传播算法实现过程: |
![](https://image.cha138.com/20230226/e38f51f282ea4d3d9322639a83102f34.jpg)
每个神经元有两个单元组成。一个是权重和输入信号。另一个是非线性单元,叫做激励函数。信号e是激励信号。y = f(e) 是非线性单元的输出,即是神经元的输出。
![](https://image.cha138.com/20230226/ee5158b0413c49298c5b60fec93858f3.jpg)
为了训练神经网络,我们需要训练数据。训练数据由输入信号(x1 and x2 )和期望输出z组成。网络的训练过程是一个迭代处理的过程。训练数据集用来在每次迭代过程中更新神经元的权重。每次学习过程由来自训练数据的输入信号开始。我们可以得出每一层的输出。下图说明信号在神经网络的传输路线。w(xm)n 是神经元xm 在第n层输入的连接权重。 yn 表示神经元n的输出。
![](https://image.cha138.com/20230226/5742a4fbae4e44299c2efae4bb630087.jpg)
![](https://image.cha138.com/20230226/167a7be2e9b343d9bb784e4f436d8d5e.jpg)
![](https://image.cha138.com/20230226/7b34a4a71a804f4d98fc3ac97f36b45f.jpg)
隐层的信号传播路线如下图所示: wmn 代表输出神经元m和输入神经元n的连接权重。
![](https://image.cha138.com/20230226/dddfdaccf65a4588b7416b4f9776a71a.jpg)
![](https://image.cha138.com/20230226/ef42b14f3e534b8fbcfe72b7c3322e4b.jpg)
输出层的信号传导:
![](https://image.cha138.com/20230226/96186b4f081e43c488e5116ddf12f8e6.jpg)
在接下来的计算过程中,输出信号y同训练数据集中的期望输出结果z做对比。他们之间的差异用d 表示。
![](https://image.cha138.com/20230226/0c097a7d5a634ed492ac7c7f9d35075d.jpg)
由于这些神经元的输出不知道,所以直接计算损失信号不太可能。很多年前训练多层感知器的有效方法已经被发现了。仅仅后向传播算法被广泛应用。其主要思想是计算损失信号d反向传播所有神经元。
![](https://image.cha138.com/20230226/029a6ddb82ab4d7bb7f6ecd5ac4e6b0b.jpg)
![](https://image.cha138.com/20230226/0b20043b610c48aeb0a8f5ed8859608d.jpg)
权重系数wmn 用来计算损失信号。神经网络的所有层都按照此过程计算。
![](https://image.cha138.com/20230226/d27fde20f0ed41bb952d22ba61b888bc.jpg)
![](https://image.cha138.com/20230226/9cfc52ef83994510b2a2cca42b075f30.jpg)
![](https://image.cha138.com/20230226/8f72b6ddf2ce492eba0ce22a0208b716.jpg)
当计算每个神经元的损失信号的时候。每个神经元的输入节点权重系数被修改。公式df(e)/de代表每隔神经元激励函数的梯度。
![](https://image.cha138.com/20230226/712b112c57854446977148d650b2b19f.jpg)
![](https://image.cha138.com/20230226/b317801bc8584339b989e917e2cc08c8.jpg)
![](https://image.cha138.com/20230226/9c968bafcae542f897cd983bd4aef608.jpg)
![](https://image.cha138.com/20230226/d3c60705d2374e62bcc0d1137d55c03c.jpg)
![](https://image.cha138.com/20230226/f327ad4d6bfd46ee878a288bd04dd542.jpg)
![](https://image.cha138.com/20230226/72c3a8de27ca4f58b34738cf23b0ea42.jpg)
系数h 决定了学习的速率。有一些选择参数的方法。第一种方法是选择较大的值开始网络训练。然而,当权重系数确定之后,参数值急剧减小。第二种方法比较复杂,参数值从较小开始。在学习的过程中,参数值增加,然后在最后阶段再一次减小参数值。用小参数值训练网络能够决定权重系数。
以上是关于BP神经网络后向传播算法的主要内容,如果未能解决你的问题,请参考以下文章