神经网络(三)—— BP算法基本推导
BP算法 前情回顾 上回我们说到,单层的线性神经网络权值的迭代公式是: w : = w − η X T ( f ( w X ) − y ) f ′ ( w X ) w:=w-\eta X^T(f(wX)-y)f'(wX) w : = w − η X T ( f ( w X ) − y ) f ′ ( w X ) 其中呢,这个 ( f ( w X ) − y ) f ′ ( w X ) (f(wX)-y)f'(wX) ( f ( w X ) − y ) f ′ ( w X ) 我们称它为 δ \delta δ ,于是 w : = w − η X T δ w:=w-\eta X^T\delta w : = w − η X T δ 不用必须是线性神经网络,其他激活函数也适用于这个公式,只不过线性的话就可以把f’(wX)这一项去掉。 对于多层的神经网络来说,每一层的权值怎么更新呢? 下面以二层的网络为例给出推导。 基本推导 损失函数自然就是 E = 1 2 ( O − Y ) 2 E=\frac12(O-Y)^2 E = 2 1 ( O − Y ) 2 这个二层的网络是如何工作的? 我们把它看成两个单层的就好。 一开始我们初始化了两层的权值V和W。 假设我们的激活函数是f(x). 中间层的输出就可以计算: M = f ( V X ) M = f(VX) M = f ( V X )