大家好,欢迎来到IT知识分享网。
最近阅读了有关鞍点得到文章,做了一下总结:
- 鞍点的定义:
鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0, 但从该点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点。
而当在某点的一阶导为0时,该点称为驻点。 - 判断鞍点的一个充分条件是:函数在一阶导数为零处(驻点)的Hessian矩阵为不定矩阵。
半正定矩阵: 所有特征值为非负,或主子式全部非负。
半负定矩阵:所有特征值为非正,或主子式负正相间。
不定矩阵:特征值有正有负,或主子式不满足上面的两种情况。
(ps: 也正因为如此,牛顿法在Hessian为正定的时候,比梯度下降速度快,因为牛顿法直接找梯度为0 的点,而梯度下降则是一次一次的寻找当前点的最优梯度)
如何逃出鞍点:
1)利用Hessian矩阵,判断是否为鞍点,因为,Hessian在鞍点具有正负特征值,而在局部最小值点正定。
2)随机梯度,相当于给正确的梯度 加noise ,一定程度上避免了鞍点(但是只是一定程度),达到类似于如下公式的效果
3)随机初始化起点,也有助于逃离鞍点
4)增加偶尔的随机扰动
看到的一篇博客中的动图很直观的表明个算法逃离鞍点的示意图:
参考文章:
https://blog.csdn.net/robert_chen1988/article/details/53056568
https://blog.csdn.net/BVL10101111/article/details/78051939
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/124262.html