bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)

BP神经网络可以用于解决回归问题也可以用于解决分类问题。

本文将详细讲解BP网络用于解决分类问题的过程。其中包含了BP分类网络的基本结构和其正向传播和反向传播。

1.分类问题的模型

用于解决分类问题的BP网络通常像如下图中的结构:

其中i是输入层,h是隐含层,o是输出层,s是softmax层。y是ground truth,即真实值。

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(1)

这里给网络中的参数赋予一些初始值,方便进行计算演示:

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(2)

2、正向传播

首先看正向传播,首先看输入层向隐含层的传递。

隐含层的计算如下图所示。

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(3)

以隐含层h1计算

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(4)

隐含层h2计算

接着看隐含层向输出层的传递。

输出层的计算如下图所示:

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(5)

输出层o1计算

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(6)

输出层o2计算

最后看输出层向softmax层的传递,

softmax的计算如下图所示

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(7)

3.反向传播

反向传播中,分类问题与回归问题不同的是,增加了softmax层的反向传播。

那么问题来了,Softmax层如何求导?这是分类问题中的难点。

这里首先看一个通例,有m个输入元素z,然后通过softmax计算,形成了m个softmax元素s,s的计算公式如下图所示:

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(8)

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(9)

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(10)

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(11)

最后可以得到一个结论,即:

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(12)

最后将这个公式带入到损失函数中,可以得到如下的结果:

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(13)

这样就可以得到Loss函数对w5的偏导数。

bp神经网络建立的步骤(BP神经网络分类问题正向传播和反向传播)(14)

这里只推导了对Loss函数对w5的偏导数,实际上对w6,w7,w8的偏导数的计算是很类似的。这里不算赘述。

除此以外,对w1,w2,w3,w4的偏导数和回归问题并没有太大区别,这里不再赘述。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页