梯度下降原理推导

方向导数

l 是xoy平面上以 ( x 0 , y 0 ) 为始点的一条射线, e l = ( c o s α , c o s β ) 是与 l 同方向的单位向量,射线 l 的参数方程为

x = x 0 + t c o s α
y = y 0 + t c o s β
t 0

设函数 z = f ( x , y ) 在点 P 0 ( x 0 , y 0 ) 的某个领域 U ( P 0 ) 内有定义, P ( x 0 + t c o s α , y 0 + t c o s β ) l 上的另一点,且 P U ( P 0 ) 。如果函数增量与点 P 到点 P 0 的距离比值
f ( x 0 + t c o s α , y 0 + t c o s β ) f ( x 0 , y 0 ) t
P 沿着 l 趋向于 P 0 ( t 0 + ) 时的极限存在,则称此极限为函数 f ( x , y ) 在点 P 0 沿方向 l 的方向倒数,即
f l ( x 0 , y 0 ) = lim t 0 + f ( x 0 + t c o s α , y 0 + t c o s β ) f ( x 0 , y 0 ) t

证明: f ( x , y ) 在点 P 0 ( x 0 , y 0 ) 可微分,那么函数在该点沿任意方向导数 l 都存在,且有
f l ( x 0 , y 0 ) = f x ( x 0 , y 0 ) c o s α + f y ( x 0 , y 0 ) c o s β

证:由假设,函数 f ( x , y ) 在点 ( x 0 , y 0 ) 可微分,故有
f ( x 0 + Δ x y 0 + Δ y ) f ( x 0 , y 0 ) = f x ( x 0 , y 0 ) Δ x + f y ( x 0 , y 0 ) Δ y + o ( ( Δ x ) 2 + ( Δ y ) 2 )

在方向 l 上,有 Δ x = t c o s α , Δ y = t c o s β , ( Δ x ) 2 + ( Δ y ) 2 = t
f l ( x 0 , y 0 ) = lim t 0 + f ( x 0 + t c o s α , y 0 + t c o s β ) f ( x 0 , y 0 ) t = f x ( x 0 , y 0 ) c o s α + f y ( x 0 , y 0 ) c o s β

梯度

二元函数的情形下,设函数 f ( x , y ) 在平面区域D中具有一阶连续偏导数,则对于每一点 P 0 ( x 0 , y 0 ) D ,都可定出一个向量

f x ( x 0 , y 0 ) i + f y ( x 0 , y 0 ) j
这向量称为函数 f ( x , y ) 在点 P 0 ( x 0 , y 0 ) 的梯度,记为 f ( x 0 , y 0 )
f l ( x 0 , y 0 ) = f x ( x 0 , y 0 ) c o s α + f y ( x 0 , y 0 ) c o s β = f ( x 0 , y 0 ) e l = | f ( x 0 , y 0 ) | c o s θ

θ = ( f ( x 0 , y 0 ) , ^ e l )

因此得出结论:
θ = 0 时,即单位向量 e l 的方向与梯度方向相同,函数 f ( x , y ) 增加最快,函数在这个方向的方向导数达到最大值 f l ( x 0 , y 0 ) = | f ( x 0 , y 0 ) | ;当 θ = π 时,即单位向量 e l 的方向与梯度方向相反,函数 f ( x , y ) 减小最快,函数在这个方向的方向导数达到最小值 f l ( x 0 , y 0 ) = | f ( x 0 , y 0 ) |

梯度下降优化

对参数 x y 进行优化,从而使得 f ( x , y ) 得到最小值

对于每一次优化, ( x , y ) 都会向当前减小最快的方向移动。首先计算 ( x 0 , y 0 ) 点的梯度 f ( x 0 , y 0 )

f ( x 0 , y 0 ) = f x ( x 0 , y 0 ) i + f y ( x 0 , y 0 ) j
( x 0 , y 0 ) 沿梯度方向移动 η | f ( x 0 , y 0 ) | 的距离,其中 η 是学习率,用于控制参数移动的多少。对应于:
x : x η f x ( x 0 , y 0 )
y : y η f y ( x 0 , y 0 )

通过每一次的优化,参数 x y 就会逐渐移动到 f ( x , y ) 最低点

猜你喜欢

转载自blog.csdn.net/winycg/article/details/80168860