梯度下降法

本文深入解析了方向导数和梯度的概念,探讨了它们在多元函数中的应用,包括如何计算方向导数,理解梯度向量的意义,以及梯度下降法在优化问题中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、方向导数与梯度的概念

方向导数是一个值而梯度是一个向量
1、方向导数
对于多元函数,如果说偏导数表示的是多元函数在沿坐标轴的变化率,那么可以说方向导数是沿着任意一指定方向的变化率,不一定是沿着坐标轴。
方向导数的数学表达式:∂f∂l∣(x0,y0)=lim⁡t→0+f(x0+tcos⁡α,y0+tcos⁡β)−f(x0,y0)t \left.\frac{\partial f}{\partial l}\right|_{\left(x_{0}, y_{0}\right)}=\lim _{t \rightarrow 0^{+}} \frac{f\left(x_{0}+t \cos \alpha, y_{0}+t \cos \beta\right)-f\left(x_{0}, y_{0}\right)}{t} lf(x0,y0)=t0+limtf(x0+tcosα,y0+tcosβ)f(x0,y0)其中对于lll的单位向量是e=(cos⁡α,cos⁡β)e=(\cos \alpha, \cos \beta)e=(cosα,cosβ),而这正表示函数fff沿着lll方向的变化率。当我们让e=(1,0)e=(1,0)e=(1,0)时上述式子其实是fff对于xxx的偏导数,即沿着xxx轴的变化率,而当让e=(1,0)e=(1,0)e=(1,0)时,上述式子便是fff对于yyy的偏导数,即沿着yyy轴的变化率.对于二元函数,给出求方向导数的公式:∂f∂l∣(x0,y0)=f(x0,y0)xcos⁡α+f(x0,y0)ycos⁡β \left.\frac{\partial f}{\partial l}\right|_{\left(x_{0}, y_{0}\right)}=f\left(x_{0}, y_{0}\right)_{x} \cos \alpha+f\left(x_{0}, y_{0}\right)_{y} \cos \beta lf(x0,y0)=f(x0,y0)xcosα+f(x0,y0)ycosβ解释这个式子:方向导数等于函数在xxx处的偏导数乘以单位向量的xxx部分加上在yyy处的偏导乘以单位向量的部分,得到的值就是方向导数。从中也可以看出要求方向导数要先求它在xxxyyy的偏导数,然后再求它方向的单位向量,最后做乘积加和得到结果。
2、梯度
在二元函数的情形下,如果函数f(x,y)f(x,y)f(x,y)具有一阶连续偏导,对于函数任意一点 p(x0,y0)p(x_0,y_0)p(x0,y0)都有这样一个向量:f(x0,y0)xi+f(x0,y0)yjf\left(x_{0}, y_{0}\right)_{x} i+f\left(x_{0}, y_{0}\right)_{y} jf(x0,y0)xi+f(x0,y0)yj,那么这个向量就称为f(x,y)f(x,y)f(x,y)ppp这一点的梯度。记作grad⁡f(x0,y0)\operatorname{grad} f\left(x_{0}, y_{0}\right)gradf(x0,y0).
可以通过公式直观地看方向导数和梯度的关系:
∂f∂l∣(x0,y0)=f(x0,y0)xcos⁡α+f(x0,y0)ycos⁡β=grad⁡f(x0,y0)⋅el=∣grad⁡f(x0,y0)∣cos⁡θ \begin{aligned}\left.\frac{\partial f}{\partial l}\right|_{\left(x_{0}, y_{0}\right)} &=f\left(x_{0}, y_{0}\right)_{x} \cos \alpha+f\left(x_{0}, y_{0}\right)_{y} \cos \beta \\=& \operatorname{grad} f\left(x_{0}, y_{0}\right) \cdot e_{l}=\left|\operatorname{grad} f\left(x_{0}, y_{0}\right)\right| \cos \theta \end{aligned} lf(x0,y0)==f(x0,y0)xcosα+f(x0,y0)ycosβgradf(x0,y0)el=gradf(x0,y0)cosθθ=0\theta=0θ=0 时,eee与梯度方向相同时,方向导数最大,函数增加最快
θ=π\theta=\piθ=π 时,eee与梯度方向相反时,方向导数最小,函数减少最快
θ=π2\theta=\frac{\pi}{2}θ=2π 时,eee与梯度方向垂直时,方向导数为0, 函数变化率为零

二、梯度下降法

梯度法是用负梯度方向dk=−∇f(xk) d_{k}=-\nabla f\left(x_{k}\right) dk=f(xk)作为搜索方向的.
f(x)f(x)f(x)xkx_kxk附近连续可微,dkd_kdk为搜索方向向量,gk=∇f(xk)g_{k}=\nabla f\left(x_{k}\right)gk=f(xk),由泰勒展开式得f(xk+αdk)=f(xk)+αgkTdk+o(α),α>0 f\left(x_{k}+\alpha d_{k}\right)=f\left(x_{k}\right)+\alpha g_{k}^{T} d_{k}+o(\alpha), \alpha>0 f(xk+αdk)=f(xk)+αgkTdk+o(α),α>0那么目标函数f(x)f(x)f(x)xkx_kxk沿方向dkd_kdk下降的变化率为lim⁡α→0f(xk+αdk)−f(xk)α=lim⁡α→0αgkTdk+o(α)α=gkTdk=∥gkT∥∥dk∥cos⁡θk \begin{aligned} \lim _{\alpha \rightarrow 0} \frac{f\left(x_{k}+\alpha d_{k}\right)-f\left(x_{k}\right)}{\alpha} &=\lim _{\alpha \rightarrow 0} \frac{\alpha g_{k}^{T} d_{k}+o(\alpha)}{\alpha} \\ &=g_{k}^{T} d_{k}=\left\|g_{k}^{T}\right\|\left\|d_{k}\right\| \cos \theta_{k} \end{aligned} α0limαf(xk+αdk)f(xk)=α0limααgkTdk+o(α)=gkTdk=gkTdkcosθk式中θk\theta_kθkgkg_kgkdkd_kdk的夹角。
对于不同的方向dkd_kdk,函数变化率取决于它与gkg_kgk夹角的余弦值,要使变化率最小,只要cos⁡θk=−1\cos \theta_{k}=-1cosθk=1,即θk=π\theta_{k}=\piθk=π时才能达到,亦即dkd_kdk应取负梯度方向,即负梯度方向是函数f(x)f(x)f(x)在当前点的最速下降方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值