首页 > 代码库 > 神经网络反向传播算法(4,5)

神经网络反向传播算法(4,5)

“反向传播”是最小化成本函数的神经网络术语,就像我们在logistic回归和线性回归中的梯度下降一样。我们的目标是计算:

技术分享

也就是说,我们希望在θ中使用一组最优参数来最小化我们的成本函数j。在这一节中我们将看看我们用来计算J(Θ)的偏导数方程:

技术分享

为此,我们使用下面的算法:

技术分享

 

反向传播算法实现:

1.得到训练集技术分享

2.设置技术分享所有i,j,l(因此你最终有一个矩阵全零)

3.遍历训练样本t = 1到m:

(1)技术分享

(2)进行正向传播计算a(j)  j从1到m;

技术分享

(3)使用y(t),计算技术分享

其中L是我们的总层数,而a(l)是最后一层激活单元的输出向量。所以我们最后一层的“误差值”仅仅是我们最后一层的实际结果和y中的正确输出的差值:

(4)技术分享

 

计算出每一层的每个节点的误差

然后我们使用函数,称为G或G-Prime,这是激励函数g评价与输入值的Z(L)。

了G-Prime导数项也可以写出来:

技术分享

 

(5)技术分享或用矢量化技术分享

因此我们更新我们的新Δ矩阵。

技术分享

矩阵D作为一个“累加器”来增加我们的价值,因为我们去,并最终计算我们的偏导数。

技术分享

神经网络反向传播算法(4,5)