BP算法

神经元模型

仿照生物的神经元模型,神经元接收到来自n个其他神经元的输入信号,这些输入信号带有犬只连接,神经元接收到的总输入值与神经元的阈值进行比较,然后通过激活函数产生神经元的输出。
如下图所示:

  • 输入为[x_1,x_2,x_3,…,x_n]
  • 输出为 y = f ( i = 1 N w i x i θ )

其中典型的激活函数有四种sigmod, softmax, tanh, relu。现在的深度学习里面用的激活函数一般是Relu.具体总结可以看我上一篇博客激活函数的选择

感知机模型

感知机被视为最简单形式的前馈神经网络,是一种二元线性分类器,是神经网络和支持向量机的基础。 感知机由两层神经元组成,输入层接受并处理外界信息,然后传递给输出层。如图所示:

其中 x 1 , x 2 表示的是输入, y 表示的是输出, θ 是阈值, w 1 , w 2 表示的是权值。所以有:

y = f ( w 1 x 1 + w 2 x 2 θ )

一般的,对于给定训练数据集,权值 w i ( i = 1 , 2 , . . . , n ) 以及阈值 θ 可通过学习得到。感知机的学习规则非常简单,对于训练样例 ( x , y ) ,若当前感知机的输出为 y ^ ,感知机的权值将这样调整:

w i w i + w i

w i = η ( y y ^ ) x i

其中 η ( 0 , 1 ) 称为学习率,其中可以出如果对于样例 ( x , y ) 预测正确,即 y ^ = y ,则感知机不会发生变化,否则根据错误程度进行调整。需要注意的是,感知机只有输出层有激活函数处理,其学习能力非常有限。

BP算法

对于包含隐含层的神经网络,就可以成为多层网络。

现在来看看BP算法。
对于给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } ,其中 x i R d , y i R l

一些变量的解释:

  • v i h 表示的是输出层第 i 个神经元与隐含层第 h 个神经元的连接权值
  • w h j 表示的是隐含层第 h 个神经元与输出层第 j 个神经元的连接权值
  • α h = i = 1 d v i h x i 表示为隐含层第 h 个神经元的输入
  • β j = h = 1 q w h j b h 表示的是输出层第 j 个神经元的输入
  • b h 表示隐含层第 h 个神经元的输出

下图为一个拥有 d 个输入神经元,l个输出神经元和q个隐含神经元的多层前馈神经网络。

对于训练样例 ( x k , y k ) ,假定神经网络的的输出为 y ^ k = ( y ^ 1 k , y ^ 2 k , . . . , y ^ l k ) ,所以有:

y ^ j k = f ( β j θ j )

网络的误差为

E k = 1 2 j = 1 l ( y ^ j k y j k ) 2

任意参数的更新估计式为

v v + v

下面以隐含层到输出层的连接权 w h j 来进行推导

BP算法基于梯度下降的策略,以目标的负梯度方向对参数进行调整,对于误差 E k 和给定学习率 η ,有:

w h j = η E k w h j

w h j 是先影响输出层第 j 个神经元,然后再进一步影响输出 y ^ j k 的。所以有

E k w h j = E k y ^ j k y ^ j k β j β j w h j

其中有

β j w h j = b h

其中激活函数为sigmod函数所以有 f ( x ) = 1 1 + e x
对于sigmoid函数有

f ( x ) = f ( x ) ( 1 f ( x ) )

所以有

y ^ j k = f ( β j θ )

因此令

g j = E k y ^ j k y ^ j k β j

= ( y ^ j k y j k ) y ^ j k ( 1 y ^ j k )

综合得:

w = η g ( j ) b h

类似的能够得到

θ = η g j

v = η e h g j

γ = η e h

其中 e h 表示的是隐含层的梯度。其实根据前面的结构图,我们能够得到公式 b h = f ( j = 1 d w j h x j γ h )

所以有

e h = E k b h b h a h

= j = 1 l E k β j β j b h f ( a h γ h )

= j = 1 l g j w h j b h ( 1 b h )

上述流程图总结如下。

BP算法的目标是最小化训练集上的累计误差

E = 1 m k = 1 m E k

参考文献

1.什么是学习率,以及他是如何影响深度学习的?

2.机器学习,周志华

3.统计学习方法,李航

猜你喜欢

转载自blog.csdn.net/gzj_1101/article/details/80489137