方向导数与梯度下降


梯度下降法(Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。

方向角与方向余弦

方向角

在这里插入图片描述
向量(或有向直线)与坐标轴正向或基向量的交角称为向量的方向角。定义域为 [ 0 , π ] [0,\pi] [0,π]

方向余弦

{ cos ⁡ α = x ∣ r ∣ cos ⁡ β = y ∣ r ∣ cos ⁡ γ = z ∣ r ∣ \begin{cases} \cos\alpha = \frac{x}{|r|}\\ \cos\beta = \frac{y}{|r|}\\ \cos\gamma = \frac{z}{|r|} \end{cases} cosα=rxcosβ=rycosγ=rz
且有 cos ⁡ 2 α + cos ⁡ 2 β + cos ⁡ 2 γ = 1 \cos^2\alpha+\cos^2\beta+\cos^2\gamma=1 cos2α+cos2β+cos2γ=1

方向导数

定义

给定标量函数 f ( x , y , z ) f(x,y,z) f(x,y,z),和任意向量 l ⃗ \vec{l} l ,该向量与三个坐标轴的夹角分别为 α \alpha α β \beta β γ \gamma γ,从定义域中一定 P 0 ( x , y , z ) P_0(x,y,z) P0(x,y,z)出发,沿着向量 l ⃗ \vec{l} l 方向移动距离 Δ s \Delta s Δs,到达点 P 1 ( x + Δ s cos ⁡ α , y + Δ s cos ⁡ β , z + Δ s cos ⁡ γ ) P_1(x+\Delta s \cos\alpha,y+\Delta s \cos\beta,z+\Delta s \cos\gamma) P1(x+Δscosα,y+Δscosβ,z+Δscosγ),定义方向导数:
d f d l ⃗ = lim ⁡ Δ s → 0 f ( x + Δ s cos ⁡ α , y + Δ s cos ⁡ β , z + Δ s cos ⁡ γ ) − f ( x , y , z ) Δ s \frac{df}{d\vec{l}}=\lim_{\Delta s \to 0}\frac{f(x+\Delta s \cos\alpha,y+\Delta s \cos\beta,z+\Delta s \cos\gamma)-f(x,y,z)}{\Delta s} dl df=limΔs0Δsf(x+Δscosα,y+Δscosβ,z+Δscosγ)f(x,y,z)

代表函数 f f f在方向 l ⃗ \vec{l} l 的变化率。

性质

d f d l ⃗ = ∂ f ∂ x cos ⁡ α + ∂ f ∂ y cos ⁡ β + ∂ f ∂ z cos ⁡ γ = ( ∂ f ∂ x , ∂ f ∂ y , ∂ f ∂ z ) ⋅ ( cos ⁡ α , cos ⁡ β , cos ⁡ γ ) = ∇ f ⋅ n ⃗ = ∣ ∇ f ∣ cos ⁡ ⟨ ∇ f , l ⃗ ⟩ \begin{aligned} \frac{df}{d\vec{l}} &=\frac{\partial f}{\partial x}\cos\alpha+\frac{\partial f}{\partial y}\cos\beta+\frac{\partial f}{\partial z}\cos\gamma \\ \\ &=(\frac{\partial f}{\partial x},\frac{\partial f}{\partial y},\frac{\partial f}{\partial z})\cdot(\cos\alpha,\cos\beta,\cos\gamma)=\nabla f \cdot\vec{n}=|\nabla f|\cos\lang\nabla f,\vec{l}\rang \end{aligned} dl df=xfcosα+yfcosβ+zfcosγ=(xf,yf,zf)(cosα,cosβ,cosγ)=fn =∣∇fcosf,l

l ⃗ \vec{l} l f f f的梯度方向时, cos ⁡ ⟨ ∇ f , l ⃗ ⟩ = 1 \cos\lang\nabla f,\vec{l}\rang=1 cosf,l =1,变化率绝对值最大且为正;当 l ⃗ \vec{l} l f f f的负梯度方向时, cos ⁡ ⟨ ∇ f , l ⃗ ⟩ = − 1 \cos\lang\nabla f,\vec{l}\rang=-1 cosf,l =1,变化率绝对值最大且为负。

梯度下降

应用场景:求损失函数的最小值。
梯度下降的具体算法实现过程是:

1、确定模型和损失函数;
2、参数初始化,包括:参数、算法终止条件和步长;
3、参数更新 θ j + 1 = θ j − α ∂ J ∂ θ j \theta_{j+1}=\theta_j - \alpha \frac{\partial J}{\partial\theta_j} θj+1=θjαθjJ
4、判断停止条件,若满足,则停止,若不满足,则继续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值