您的位置:首页 > 运维架构

UFLDL Tutorial深度学习基础——学习总结:稀疏自编码器(二)反向传播算法(Backpropagation Algorithm)

2018-03-14 16:15 369 查看
反向传播过程参考:http://blog.csdn.net/win_in_action/article/details/52704639
反向传播算法步骤:
1、进行前馈传导计算,利用前向传导公式,得到L2,L3,......知道输出层Lnl的激活值。
2、对输出层(第nl层)计算残差(error term):


3、对于l=nl-1,nl-2,nl-3,...,2的各层,计算:


4、计算最终需要的偏导数值:

单个样例(x,y)的代价函数(cost function)(损失函数(loss unction))(二分之一方差代价函数):

整体代价函数(overall cost function):


(以上公式中第一项为均方差(average sum-of-squares error)项,第二项为规则化项(regularization term)(也叫权重衰减项(weight decay))),目的是减小权重幅度,防止过度拟合。


为权重衰减参数用于控制公式中两项的相对重要性。

代价函数(损失函数)经常被用于分类和回归问题。
代价函数(损失函数)作用是:衡量模型预测的好坏(用来表现预测与实际数据的差距程度)。
我们的目标是针对W和b来求其函数J(W,b)的最小值
梯度下降法迭代更新参数W和b:


其中,

为学习速率(learning rate)。关键步骤是计算偏导数,反向传播算法是计算偏导数的一种有效方法。如何用反向传播算法计算代价函数的偏导数:


(第一行比第二行多出一项的原因是权重衰减作用于W而不是b。)
梯度下降算法(gradient descent)总结:

 是一个与矩阵

维度相同的矩阵,

是一个与

维度相同的向量。
1、对于所有l,令

(设置为全零矩阵或全零向量)
2、对于i=1到m,a.使用反向传播算法计算




                            b.计算


                            c.计算


                            d.更新权重参数:


重复梯度下降算法的迭代步骤来减小代价函数的值,进而求解我们的神经网络。                        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐