Andrew Ng -machine learning 课堂笔记(二)第五周

来源:互联网 发布:软件工程软件开发方向 编辑:程序博客网 时间:2024/05/21 08:59

对于多类别的分类cost function:

----对于前向传播算法:


----对于Backpropagation Algorithm:

为了计算代价函数的偏导数,我们采用反向传播算法,也就是首先计算最后一层的误差,然后一层一层的反向求出各层的误差。

Z:未进入activation的输出,

  δ:表示误差,图中 δ(4)表示下一层的误差, δ(3)表示上一层的误差



其中 g'(z (3) )是 S 形函数的导数,g'(z (3) )=a (3) .*(1-a (3) )。而(θ (3) ) T δ (4) 则是权重导致的误差的
和与(θ (3) ) T X (4)的正向传播类似


cost function 的偏导可以通过误差求出,a=sigmod(z)

----出现vanishing/exploding gradients的原因:正是因为要求costfunction的偏导,需要该层输出乘上下一层的误差(由以上公式可知)。而要求下一层误差,则需要乘上这个层的Z输出的导数(上述公式),递归到最后:公式中的主要参量便是几个层Z输出的导数相乘,如果这几个Z输出的导数很小便有可能出现梯度消失问题,如果很大便可能出现梯度爆炸,层数越多出现该问题的可能性越大。

0 0
原创粉丝点击