神经网络(9)--如何求参数: backpropagation algorithm(反向传播算法)

Backpropagation algorithm(反向传播算法)

Θij(l) is a real number.

Forward propagation

上图是给出一个training example(x,y),是怎么进行forward propagation的. 

Backpropagation algorithm(一个trainning example)

因为我们是先求的δ(4),再求δ(3),再一层层往input layer那边推,所以叫做Backpropagation algorithm。

δj(l)是对的第l层的node(activation) j的修正,因为第一层是我们观察到的features 的值,是正确的值,不需要修正,所以不存在δ(1)

g'(z(3))是表示对z(3)求sigmoid函数后再求导,在数学上它=a(3) .* (1-a(3))

是对没有regularization的偏导结果,即忽略λ(λ=0).

通过上面的这个式子,我们可以通过backpropagation计算这些δ的式子,这样得到我们需要的偏导

Backpropagation algorithm(m个trainning example)

我们有m个trainning examples.

Δ 是δ(delta)的大写,Δ ,δ是用来求偏导的。在后面我们要对Δ进行累加。

Δij(l)可以看成是Δ(l)的第i行第j列的元素,所以可以对计算向量化,如上图所示。

原文地址:https://www.cnblogs.com/yan2015/p/5008562.html