无约束优化问题之梯度下降法、牛顿法原理

无约束优化问题是机器学习中最普遍、最简单的优化问题

x ∗ = m i n x f ( x ) , x ∈ R n x^{*}=\mathop{min}\limits_{x}f_{(x)},x\in R^{n} x=xminf(x),xRn

梯度下降法推导

对于只有两个维度的函数 f ( x , y ) f_{(x,y)} f(x,y),如下图所示。

在这里插入图片描述
如果现在在 P P P点,假设 ∣ P P ′ ∣ = L , ∠ P ′ P x = θ |PP'|=L,\angle P'Px=\theta PP=L,PPx=θ,则由 P P P P ′ P' P,函数的单位长度变化量为:
f ( x 0 + L cos ⁡ θ , y 0 + L sin ⁡ θ ) − f ( x 0 , y 0 ) L \frac{f_{(x_{0}+L\cos{\theta}, y_{0}+L\sin{\theta})}-f_{(x_{0}, y_{0})}}{L} Lf(x0+Lcosθ,y0+Lsinθ)f(x0,y0)
= f ( x 0 + L cos ⁡ θ , y 0 + L sin ⁡ θ ) − f ( x 0 + L cos ⁡ θ , y 0 ) L + f ( x 0 + L cos ⁡ θ , y 0 ) − f ( x 0 , y 0 ) L =\frac{f_{(x_{0}+L\cos{\theta}, y_{0}+L\sin{\theta})}-f_{(x_{0}+L\cos{\theta}, y_{0})}}{L}+\frac{f_{(x_{0}+L\cos{\theta}, y_{0})}-f_{(x_{0}, y_{0})}}{L} =Lf(x0+Lcosθ,y0+Lsinθ)f(x0+Lcosθ,y0)+Lf(x0+Lcosθ,y0)f(x0,y0)
= sin ⁡ θ f ( x 0 + L cos ⁡ θ , y 0 + L sin ⁡ θ ) − f ( x 0 + L cos ⁡ θ , y 0 ) L sin ⁡ θ + cos ⁡ θ f ( x 0 + L cos ⁡ θ , y 0 ) − f ( x 0 , y 0 ) L cos ⁡ θ =\sin{\theta}\frac{f_{(x_{0}+L\cos{\theta}, y_{0}+L\sin{\theta})}-f_{(x_{0}+L\cos{\theta}, y_{0})}}{L\sin{\theta}}+\cos{\theta}\frac{f_{(x_{0}+L\cos{\theta}, y_{0})}-f_{(x_{0}, y_{0})}}{L\cos{\theta}} =sinθLsinθf(x0+Lcosθ,y0+Lsinθ)f(x0+Lcosθ,y0)+cosθLcosθf(x0+Lcosθ,y0)f(x0,y0)
= sin ⁡ θ f y ( x 0 , y 0 ) + cos ⁡ θ f x ( x 0 , y 0 ) ( L → 0 ) =\sin{\theta}f_{y(x_{0},y_{0})}+\cos{\theta}f_{x(x_{0},y_{0})}\quad(\mathop{L\rightarrow0}) =sinθfy(x0,y0)+cosθfx(x0,y0)(L0)
由柯西不等式:
< m , n > = ∣ ∣ m ∣ ∣ ⋅ ∣ ∣ n ∣ ∣ ⋅ c o s θ <m, n>=||m||\cdot||n||\cdot cos{\theta} <m,n>=mncosθ
< m , n > 2 = ∣ ∣ m ∣ ∣ 2 ⋅ ∣ ∣ n ∣ ∣ 2 ⋅ c o s 2 θ ≤ ∣ ∣ m ∣ ∣ 2 ⋅ ∣ ∣ n ∣ ∣ 2 <m, n>^{2}=||m||^{2}\cdot||n||^{2}\cdot cos^{2}{\theta}\leq||m||^{2}\cdot||n||^{2} <m,n>2=m2n2cos2θm2n2
且只有当 θ = 0 \theta =0 θ=0即两向量共线时等号成立。
m = ( sin ⁡ θ , cos ⁡ θ ) , n = ( f y , f x ) m=(\sin{\theta},\cos{\theta}),n=(f_{y},f_{x}) m=(sinθ,cosθ),n=(fy,fx),则
( sin ⁡ θ ⋅ f y + cos ⁡ θ ⋅ f x ) 2 ≤ ( sin ⁡ 2 θ + cos ⁡ 2 θ ) ( f y 2 + f x 2 ) = f y 2 + f x 2 (\sin{\theta}\cdot f_{y}+\cos{\theta}\cdot f_{x})^{2}\leq(\sin^{2}{\theta}+\cos^{2}{\theta})(f_{y}^{2}+f_{x}^{2})=f_{y}^{2}+f_{x}^{2} (sinθfy+cosθfx)2(sin2θ+cos2θ)(fy2+fx2)=fy2+fx2
" = " "=" "="成立的条件是两向量共线,即
sin ⁡ θ cos ⁡ θ = f y f x \frac{\sin{\theta}}{\cos{\theta}}=\frac{f_{y}}{f_{x}} cosθsinθ=fxfy
此时函数的单位长度变化量最大。
sin ⁡ θ cos ⁡ θ = f y f x \frac{\sin{\theta}}{\cos{\theta}}=\frac{f_{y}}{f_{x}} cosθsinθ=fxfy意味着单位长度变化量最大的方向为梯度方向。
类比于有 n n n个自变量的函数 f ( x 1 , x 2 … … x n ) f_{(x_{1},x_{2}……x_{n})} f(x1,x2xn),其梯度为 ( ∂ f ∂ x 1 , ∂ f ∂ x 2 … … ∂ f ∂ x n ) (\frac{\partial f}{\partial x_{1}},\frac{\partial f}{\partial x_{2}}……\frac{\partial f}{\partial x_{n}}) (x1f,x2fxnf),则延梯度方向函数增长最快。
基于此原理,梯度下降法取梯度的反方向作为移动方向,延此方向函数下降最快。

牛顿法推导

初级版本

在这里插入图片描述
对于 m i n f ( x ) minf_{(x)} minf(x)来说,需要 g ( x ) = f ( x ) ′ = 0 g_{(x)}=f_{(x)}^{'}=0 g(x)=f(x)=0
x n x_{n} xn是第 n n n个点的横坐标,我们需要求出 g ( x ) = 0 g_{(x)}=0 g(x)=0时的横坐标。
首先对第 n n n个点求切线为:
y − g ( x n ) = g ( x n ) ′ ( x − x n ) y-g_{(x_{n})}=g_{(x_{n})}^{'}(x-x_{n}) yg(xn)=g(xn)(xxn)
y = 0 y=0 y=0得到 x = x n − g ( x n ) g ( x n ) ′ x=x_{n}-\frac{g_{(x_{n})}}{g_{(x_{n})}^{'}} x=xng(xn)g(xn)
f ( x ) ′ f_{(x)}^{'} f(x)代替 g ( x ) g_{(x)} g(x),得:
x n + 1 = x n − f ( x n ) ′ f ( x n ) ′ ′ x_{n+1}=x_{n}-\frac{f_{(x_{n})}^{'}}{f_{(x_{n})}^{''}} xn+1=xnf(xn)f(xn)

高级版本

在这里插入图片描述
要求 m i n f ( x ) minf_{(x)} minf(x)
先将 f ( x ) f_{(x)} f(x)进行泰勒公式展开,得:
f ( x ) = f ( x n ) + f ( x n ) ′ ( x − x n ) + f ( x n ) ′ ′ 2 ! ( x − x n ) 2 + … … f_{(x)}=f_{(x_{n})}+f_{(x_{n})}^{'}(x-x_{n})+\frac{f_{(x_{n})}^{''}}{2!}(x-x_{n})^{2}+…… f(x)=f(xn)+f(xn)(xxn)+2!f(xn)(xxn)2+
将只保留有关 x x x的项,得:
f ( x ) = f ( x n ) ′ ′ 2 x 2 + ( f ( x n ) ′ − x n f ( x n ) ′ ′ ) x + … … f_{(x)}=\frac{f_{(x_{n})}^{''}}{2}x^{2}+(f_{(x_{n})}^{'}-x_{n}f_{(x_{n})}^{''})x+…… f(x)=2f(xn)x2+(f(xn)xnf(xn))x+
此时已将 f ( x ) f_{(x)} f(x)化为一个一元二次函数。
所以当此函数取最小值时的横坐标为:
x n + 1 = − b 2 a = − f ( x n ) ′ − x n f ( x n ) ′ ′ f ( x n ) ′ ′ = x n − f ( x n ) ′ f ( x n ) ′ ′ x_{n+1}=-\frac{b}{2a}=-\frac{f_{(x_{n})}^{'}-x_{n}f_{(x_{n})}^{''}}{f_{(x_{n})}^{''}}=x_{n}-\frac{f_{(x_{n})}^{'}}{f_{(x_{n})}^{''}} xn+1=2ab=f(xn)f(xn)xnf(xn)=xnf(xn)f(xn)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
优化是指在一定的约束条件下,寻找一个使目标函数取得最大值或最小值的过程。梯度下降法牛顿法都是最优化问题中常用的方法梯度下降法是一种迭代优化,通过计算目标函数的梯度来不断更新参数的值,直到达到某个停止条件。梯度下降法的思想是沿着目标函数梯度的反方向进行参数调整,以逐步接近最优解。它适用于凸函数和可微函数,并且可以用于求解无约束优化问题和约束优化问题的局部最优解。 牛顿法也是一种迭代优化,它利用函数的二阶导数信息(Hessian矩阵)来逼近函数的局部性质,从而更快地收敛到最优解。牛顿法在求解方程根或函数的最小值时非常有效。它经常被用于数学建模、机器学习、数据分析等领域中的参数优化问题,比如最小二乘、逻辑回归、神经网络等模型的参数优化。 需要注意的是,梯度下降法牛顿法在不同情况下的效果可能会有所不同。梯度下降法在参数空间中沿着梯度方向逐步搜索最优解,对于大规模数据集和高维参数空间比较适用。而牛顿法利用了更多的二阶导数信息,对于曲率较大的函数,在局部区域更容易找到最优解。但是牛顿法在计算复杂度和存储空间上可能会有一定的挑战。因此,在实际应用中,我们需要根据具体问题的特点选择合适的优化方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cofisher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值