从今天开把重要知识点记录在博客,方便以后整理思路。20160620_xj
学习斯坦福大学机器学习课程,发现对梯度下降法理解不彻底;
(360百科:最速下降法是求解无约束优化问题最简单和最古老的方法之一),居然是最简单和最古老的方法!
先明确几个概念:
1:回归:在数学上,给定一个点集,能用一条曲线(注意是曲线)去拟合,如果是直线,就是线性回归,如果是二次曲线,就叫做二次回归;
2:最小二乘法:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配;
3:方向导数:方向导数(directional derivative)的通俗解释是:我们不仅要知道函数在坐标轴方向上的变化率
(即偏导数),而且还要设法求得函数在其他特定方向上的变化率。而方向导数就是函数在其他特定方向上的变化率。
4:梯度:梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。(百科)
所以,我理解:
回归(线性回归)就是找到离散的点集本应该属于的位置(直线上),因为某些原因(误差和偏差),这些点调皮的离开了本应该位置(直线上的点),跑出去玩了(误差和偏差等),因为跑得不远(误差和偏差时比较小的),所以,晚饭的时候(需要求解拟合曲线),一声令下(我们开始计算),这些个点立刻回家(排成一排直线或者曲线)。所以叫做“回归”,就是回归成本来的样子。
最小二乘法,就是一个拟合的标准而已,(假设,这群离散的点都跑得不远),根据这个标准(假设)来求解拟合函数(直线),求解的方法就比较多了,梯度下降法就是其中之一。
方向导数是梯度的基础,有了方向导数的概念才引申出梯度的概念,在斯坦福机器学习课程2课中,讲的比较生动:如下图所示
你站在山上,要下山,环顾四周,找到下山最快,也就是坡度最大的方向(求解梯度),然后迈出一小步(参数更新,朝着最优解靠近),然后,又环顾四周找坡度最大的方向,又迈出一小步... ...直到下山为止;
在理解梯度下降过程中,有一个问题:因为梯度是方向导数最大的方向,也就是说,梯度方向为增速最快的方向;因为更新参数时,是减去梯度,并认为梯度反方向就是下降最快的方向?那么它的反方向就一定是下降最快的方向吗?
梯度下降法,有自己的缺点:
(1)有可能求得局部最小值;
(2)数据量大时,搜索慢(所以有随机梯度下降法);
(3)等... ...
随机梯度下降:
http://blog.csdn.net/lilyth_lilyth/article/details/8973972
http://www.cnblogs.com/murongxixi/p/3467365.html
参考:1:http://blog.csdn.net/woxincd/article/details/7040944
2:http://www.cnblogs.com/CBDoctor/archive/2011/10/21/2220490.html
3:http://lib.csdn.net/article/machinelearning/2972?knId=41