机器学习(四)
——梯度下降算法解释以及求解θ
(原创内容,转载请注明来源,谢谢)
(本文接机器学习(二)的内容)
一、解释梯度算法
梯度算法公式以及简化的代价函数图,如上图所示。
1)偏导数
由上图可知,在a点,其偏导数小于,故θ减去小于的数,相当于加上一个数。另外,从图上可以看出,在a点不是最佳点,需要继续向右移动,即a需要增加。因此符合要求。
对于在b点,可以同理得到需要减少的结果。
2)学习速率α
α表示点移动向最小值点的速率,α取值需要注意。
当值太大,每次移动的距离太长,可能导致在最小值点附近时,移动会超出最小值点的位置,导致不断的在大于、小于最小值点的位置偏移,无法收敛;
当值太小,移动速度非常慢,会导致程序执行时间太久。
另外,由于在越接近最小值点,偏导数的数量值(绝对值)越小,因此变化速率本身就会变慢,因此选定α后,不需要再去调整数值,其自己会减慢速率。
二、梯度算法缺陷
由上图可知,对于有多个极小值点的代价函数,梯度算法只能取到局部最小值点,即函数的极小值点,但是没法保证该点就是最小值点。
三、求解θ
公式如上图所示,实质上就是求偏倒的结果。
不断的计算θ和θ1,直到偏导数为(或者设定小于某个阈值),则停止计算,此时的结果则是对于某个起始点的局部最优结果。
——written by linhxx 2017.12.28
领取专属 10元无门槛券
私享最新 技术干货