赞
踩
沿负梯度方向移动可以减小函数值,证明过程自行搜索。主要利用泰勒展开:
f ( x + ϵ ) = f ( x ) + ϵ f ′ ( x ) + O ( ϵ 2 ) f(x+\epsilon)=f(x)+\epsilon f'(x)+\mathcal{O}(\epsilon ^2) f(x+ϵ)=f(x)+ϵf′(x)+O(ϵ2)
假设坐标 x x x移动量为 η f ′ ( x ) \eta f'(x) ηf′(x),则沿着负梯度方向就是 x − η f ′ ( x ) x-\eta f'(x) x−ηf′(x),代入泰特展开式:
f ( x − η f ′ ( x ) ) = f ( x ) − η f ′ 2 ( x ) + O ( η 2 f ′ 2 ( x ) ) f(x-\eta f'(x))= f(x)-\eta f'^{2}(x)+\mathcal{O}(\eta^2f'^2(x)) f(x−ηf′(x))=f(x)−ηf′2(x)+O(η2f′2(x))
取合适的学习率 η \eta η(较小的时候),满足 η f ′ 2 ( x ) > O ( η 2 f ′ 2 ( x ) ) \eta f'^{2}(x)>\mathcal{O}(\eta^2f'^2(x)) ηf′2(x)>O(η2f′2(x)),则:
f ( x − η f ′ ( x ) ) ≲ f ( x ) x ← x − η f ′ ( x ) f(x-\eta f'(x)) \lesssim f(x)\\ x \leftarrow x-\eta f'(x) f(x−ηf′(x))≲f(x)x←x−ηf′(x)
如果 η \eta η过大,是可能 η f ′ 2 ( x ) < O ( η 2 f ′ 2 ( x ) ) \eta f'^{2}(x)<\mathcal{O}(\eta^2f'^2(x)) ηf′2(x)<O(η2f′2(x))的,即 f ( x − η f ′ ( x ) ) = f ( x ) + f(x-\eta f'(x))= f(x)+ f(x−ηf′(x))=f(x)+正数,变成梯度上升。
下面用学习率 η \eta η分别为0.2、0.05、1.1的例子来看这个问题,初始点都为x=10:
在最后一个图中从x=10开始,由于学习率过大,函数值越来越大,最后呈发散的情况。
∇ f ( x ) = [ ∂ f ( x ) x 1 , ∂ f ( x ) x 2 , … , ∂ f ( x ) x n ] T f ( x + ϵ ) = f ( x ) + ϵ T ∇ f ( x ) + O ( ∣ ∣ ϵ ∣ ∣ 2 ) x ← x − η ∇ f ( x ) \nabla f(\mathbf x)=\left[\frac{\partial f(\mathbf x)}{x_1},\frac{\partial f(\mathbf x)}{x_2},\dots,\frac{\partial f(\mathbf x)}{x_n}\right]^{T}\\ f(\mathbf x+\epsilon)=f(\mathbf x)+\epsilon ^T \nabla f(\mathbf x)+\mathcal O(||\epsilon||^2)\\ \mathbf x \leftarrow\mathbf x-\eta \nabla f(\mathbf x) ∇f(x)=[x
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。