梯度检验 Gradient checking
在自己编代码计算上节中的反向传递算法时,有时候即使程序出错,造成了只优化一部分权重,或者其他原因,得到的结果看起来不错,但是不是最优结果。 这一节就介绍了一个检验在求导时是否正确的方法。
在高数中我们知道,下式成立
在这里我们也可以用这样的方法来检验得到的值是不是与等式右边的值相同,或者相似。
文中说,如果取
ϵ=0.0001
一般得到的结果与实际结果至少四位有效数字相同,但是找注意
ϵ
也不能太小,要不然,会被忽略掉
具体应用方法如下:
将所有的参数(W,b)中的一个,先变大一点点,代入求一下损失函数,然后变小一点点,然后代入求下损失函数,最后代入上面的公式,得到一个近似值,看这个值与我们求得的值是否相似。
高级优化算法
上一节中我们用了梯度下降法,除了这个方法之外还是有很多别的方法的。
原文也提到几种可以利用原来的求偏导公式的方法,比如L-BFGS和共轭梯度算法。
他们往往可以智能的规划下降的步伐,已达到快速收敛的目的。