BP神经网络

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JkPMMrLg-1584019421370)(https://i.loli.net/2018/05/08/5af0f8c4ee0c1.png)]
BP神经网络的特点:

  • 网络由多层构成,层与层之间全连接,同一层之间无连接
  • BP网络的传递函数必须可微(二值函数就不行,一般用Sigmoid或线性函数作为传递函数)
  • 采用误差反向传播算法进行学习

反向传播算法推导(以三层BP网络为例)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dn7kjMbu-1584019421371)(https://i.loli.net/2018/05/08/5af0f8d026639.png)]
在三层BP网络中,定义:

  • 输入神经元个数为 M M M
  • 隐含层神经元个数为 I I I
  • 输出层神经元个数为 J J J
  • 输入层第 m m m个神经元记为 x m x_m xm
  • 隐含层第 i i i个神经元记为 k i k_i ki
  • 输出层第 j j j个神经元记为 y j y_j yj
  • x m x_m xm k i k_i ki的连接权值为 w m i w_{mi} wmi
  • k i k_i ki y j y_j yj的连接权值记为 w i j w_ij wij
  • 隐含层传递函数为 S i g m o i d Sigmoid Sigmoid函数
  • 输出层传递函数为线性函数
  • u u u v v v分别表示每一层的输入输出(如 u I 1 u_I^1 uI1表示 I I I层的第一个神经元的输入)
  • 网络的实际输出 Y ( n ) = [ v J 1 , v J 2 , . . . , v J J ] Y(n)=[v_J^1,v_J^2,...,v_J^J] Y(n)=[vJ1,vJ2,...,vJJ]
  • 网络的期望输出 d ( n ) = [ d 1 , d 2 , . . . , d n ] d(n)=[d_1,d_2,...,d_n] d(n)=[d1,d2,...,dn]
  • n n n次迭代的误差信号 e j ( n ) = d j ( n ) − Y j ( n ) e_j(n)=d_j(n)-Y_j(n) ej(n)=dj(n)Yj(n)
  • n n n次迭代的误差能量定义为 e ( n ) = 1 2 ∑ j = 1 J e j 2 ( n ) e(n)=\frac 1 2\sum_{j=1}^Je_j^2(n) e(n)=21j=1Jej2(n)

你可能感兴趣的:(深度学习)