作为刚开始接触机器学习的小白,想把每一次学习的收获都记录在博客里,成为自己的笔记随时复习,以及为日后学习这领域的朋友当成参考的资料。文中若有错误请各位大牛帮忙订正。
(一)什么是BP神经网络?
BP(back propagation)从字面上翻译就是反向传播,传播误差,期望输出值与真实输出值的差异就是误差,因此BP神经网络就是一种算法根据误差反向传播训练的多层前馈神经网络。
在此有个疑问,什么是多层前馈神经网络?
神经网络粗略分有两种类型:前馈网络以及反馈网络
前馈网络: O=f(w*x+b){\textbf{O=f(w*x+b)}}O=f(w*x+b) 每一层的输出只与前一层输入乘上权重加上偏置项有关
反馈网络: Ot=f(w*x + Ot-1*v+ b){\textbf{Ot=f(w*x + Ot-1*v+ b)}}Ot=f(w*x + Ot-1*v+ b) 每一层的输出与前一次状态输出有关
(二)BP神经网络模型

我假设 X = [ 0.5 , 0.4 , 0.3 ] 为 一组输入,且期望输出值为 Y = 0.8
(三)BP神经网络前向传播
BP神经网络前向传播与感知机模型计算一样,例如隐含层 H1H_1H1 输出是 f(w∗x+b)f(w*x+b)f(w∗x+b),
其中f()f( )f()是激活函数11+e−x\frac{1}{1+e^{-x}}1+e−x1 ,因此 w∗x+bw*x+bw∗x+b = 0.5∗0.4+0.4∗0.5+0.3∗0.2+1∗0.20.5*0.4 + 0.4*0.5 + 0.3*0.2 + 1*0.20.5∗0.4+0.4∗0.5+0.3∗0.2+1∗0.2 = 0.660.660.66,代入11+e−(w∗x+b)\frac{1}{1+e^{-(w*x+b)}}1+e−(w∗x+b)1 = 11+e−(0.66)\frac{1}{1+e^{-(0.66)}}1+e−(0.66)1 = 0.659
这篇博客适合机器学习初学者,详细介绍了BP神经网络的基本概念、模型、前向传播过程以及计算步骤。博主通过实例解释了多层前馈神经网络的工作原理,并探讨了BP算法如何利用误差反向传播进行训练。
8151

被折叠的 条评论
为什么被折叠?



