监督学习-梯度下降算法
如果你还没有接触过梯度下降算法,你在看下面内容之前可以先看一下,吴恩达的梯度下降
的视频:http://open.163.com/movie/2008/1/B/O/M6SGF6VB4_M6SGHJ9BO.html
我认为在学习梯度下降算法之前,应该先了解什么是方向导数、什么是梯度,我将介绍
它们两者之间的关系。
这副图是我在学习吴恩达-梯度下降算法教学视频中截取的,还记得吴恩达说:“环顾四周找
到下山最快的方向,向前走一步,然后再环顾四周找到下山最快的方向,向前走一
步,.........” ,这也就是梯度下降算法的精髓。
1、环顾四周——方向导数(方向导数反应函数沿某个方向的变化率)是一个值
定理:如果函数
在点
可微,那么函数在该点沿任一方向
( (cos ,cos ) )
l
ll
αβ
=e 是与 同向的
单位向量
的方向导数存在,且有
00
00 00
(x ,y )
(x , y )cos ( , y )cos
xy
f
f fx
l
αβ
∂
= +
∂
(1)
其中
是方向
的方向余弦。(这件事情毋庸置疑,如有疑问,看高数下册,第九
章)。
2、如何找到下降速度最快的方向---梯度(是一个向量)
刚刚说了,方向导数反应函数沿某个方向的变化率,可以通过调整
表示所有方向
函数的变化率,要找到变化的最快的方向即方向导数绝对值最大的方向。
( )
00
00 00
(x ,y )
max (x , y ), ( ,y )
xy l
f
f fx
l
∂
=
∂
e
(2)
( )
( )
00 00
max (x , y ), ( ,y ) cos
xy l
f fx
θ
= ⋅⋅e