1. 前言:
细微之处,彰显本质;不求甚解,难以理解。
一直以来,我都认为,梯度下降法就是最速下降法,反之亦然,老师是这么叫的,百度百科上是这么写的,wiki百科也是这么说的,这么说,必然会导致大家认为,梯度的反方向就是下降最快的方向,然而最近在读Stephen Boyd 的凸优化的书,才发现事实并非如此,梯度下降和最速下降并不相同,梯度方向也不一定总是下降最快的方向。
2. 梯度下降法
梯度下降法是一种优化方法,用来求解目标函数的极小值。梯度下降法认为梯度的反方向就是下降最快的方向,所以每次将变量沿着梯度的反方向移动一定距离,目标函数便会逐渐减小,最终达到最小。
f(x)=f(x0)+∇f(x)(x−x0)+12(x−x0)T∇2f(x)(x−x0)+…
f(x)≈f(x0)+∇f(x)(x−x0)
所以如果x-x_0和 ∇f(x) 的方向相反,那么相同距离的移动, f(x) 的减小最大。
所以梯度下降法的核心步骤就是
xk+1=xk−a∇f(x) 其中,a是步长,可以通过精准线性查找或非精准线性查找确定。
3. 最速下降法
最速下降法在选取x的变化方向时与梯度下降法有细微的差别。
△nsd=argminv(∇f(x)Tv∣∥v∥<=1) △nsd