首页 / 神经网络 / 神经网络后馈算法剖析
神经网络后馈算法剖析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了神经网络后馈算法剖析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2780字,纯文字阅读大概需要4分钟。
内容图文
![神经网络后馈算法剖析](/upload/InfoBanner/zyjiaocheng/736/f7ade2725ab94cc5a20cbadafd76e5e9.jpg)
在coursera中Ng的机器学习课程中,他介绍了神经网络中的前向传播算法以及后馈算法,但是对于后馈算法中,为什么要那么做,只用了一句需要使用复杂的数学来证明。我查阅了相关的资料,对这一部分的原理进行了学习,现将这部分知识记录下来,以供共同学习。
1、简单的线性模型中误差分析
使用一个大小为N的训练集对一个预测(分类)模型进行训练时,总误差为:
————(1)
而在一个线性模型中,第k个输出yk是输入xi的线性组合:
————(2)
其中,wki是第i个输入到第k个输出的边权。对于某个输入数据(另外一种讲法叫模式)n,它的误差函数被定义为:
————(3)
其中,ynk为:
————(4)
tnk是输入数据n是先所打上的标签,即真实结果。
由(3)和(4)可求得:
————(5)
我们可以看到,误差对某个边权wji的偏导,等于这个边所连输出端的误差信号(ynj-tnj)与这个边所连输入端的变量的乘积。
2、神经网络的后馈算法
2.1 前馈过程
一个简单的神经网络模型如下图所示:
这个神经网络有1个输入层,2个隐层以及1个输出层;对于某个unit(神经元),它的输入等于各个前一层神经元的加权和:
————(6)
其中,带括号的上标表示层数,(6)也可以写成向量的形式:
————(7)
经过每个神经元activation函数h()的处理后,第l层第j个神经元的输出为:
————(8)
需要注意的是,我们可以在每一层中,加入一个修正神经元,它的activation输出始终是+1。神经网络不断地重复(6)、(8),直到输出层产生相应的输出,神经网络的输出层神经元直接将输入加权作为结果输出,而不经过h()的处理。这是神经网络的前馈过程。
2.2 后馈过程
现在我们考虑后馈的过程,En对wji的偏导只通过输入ai传导到神经元j,应用偏导的链式法则有:
————(9)
我们定义:
————(10)
它表示(l+1)层神经元j的误差。而:
————(11)
将(10)、(11)代入(9),可得:
————(12)
(12)说明在神经网络中,误差对l层某个边权wji的偏导,等于这个边所连输出端(l+1层第j个神经元)的误差与这个边所连输入端(l层第i个神经元的输出)的乘积。(12)写成向量的形式为:
————(13)
这个就是最终的结论!
2.3 误差的后馈传播
下面介绍如何计算。
在输出层中,有:
————(14)
而对于隐层或者输入层,有:
————(15)
(15)式实际上表示了一个误差后馈的过程,l层的误差是l+1层的误差通过w(l)传递过来的。由于:
————(16)
由(6)、(7)式可得:
————(17)
(16)、(17)代入(15)可以得到:
————(18)
(18)写成向量的形式为:
————(19)
其中.*表示点乘。
2.3 误差后馈总结
- 将一个输入向量xn输入到网络中,使用公式(6)、(8)前向转播;
- 使用(14)式计算输出层的误差δ;
- 后馈输出层的δ,并计算每一个隐层的δ。
- 使用(13)计算所求的偏导。
转载于:https://www.cnblogs.com/XjChenny/archive/2013/05/29/3106105.html
内容总结
以上是互联网集市为您收集整理的神经网络后馈算法剖析全部内容,希望文章能够帮你解决神经网络后馈算法剖析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。