随机梯度下降算法学习心得

来源:互联网 发布:c语言实验交换字母 编辑:程序博客网 时间:2024/04/30 21:09

百度了很多,看了很多篇博客也没明白,最后大神给我讲了讲才明白。

其实跟最小二乘法的需求差不多,有一批目标点,需要找到一条曲线,使曲线对于目标点的误差最小。

不同的地方在于,最小二乘法直接得到结果,而随机梯度下降算法通过迭代。

随机梯度下降算法对于问题的解决方法是:首先给出一条初始的随机曲线(说是随机,其实初始的随机曲线中有大学问),然后给定一个进步系数(相当于道士下山问题中的步长,进步系数越大,算法的学习率(可以理解为得出结果的快慢)越高,学习率与最终结果的好坏程度没有必然联系),从初始的随机曲线开始,每次根据进步系数改变曲线的系数,使曲线对于目标点的误差减小的速度最快,如此迭代下去直到得到最终的近似曲线。

可以看出随机梯度下降算法采用的是局部最优策略,咋一看觉得还不如最小二乘法的全局最优,而且最小二乘法比较简单,但在现实中运用起来,随机梯度下降算法在很多问题中的效果都比做最小二乘法要好,因为最小二乘法逻辑太简单,不足以应对现实中的很多复杂问题。

0 0