理解梯度下降法

1 单变量函数

导数定义:
在这里插入图片描述
变换一下有: f ′ ( x ) h = f ( x 0 + h ) − f ( x 0 ) f^{'}(x)h=f(x_0+h)-f(x_0) f(x)h=f(x0+h)f(x0)

可以理解为:当自变量 x 有一个微小的增量变化 h 时, 函数的增量变化为 f ′ ( x ) h f^{'}(x)h f(x)h。也可以将导数理解为一个控制因子,当 x 变化 h 时, 函 数 值 变 化 = 该 点 导 数 值 ∗ h 函数值变化=该点导数值*h =h

函数值增量以 Δh 表示: Δ h = f ′ ( x ) h = f ( x 0 + h ) − f ( x 0 ) Δh = f^{'}(x)h=f(x_0+h)-f(x_0) Δh=f(x)h=f(x0+h)f(x0)

f ( x ) = ( x − 1 ) 2 f(x)=(x-1)^2 f(x)=(x1)2 为例,计算导数及了解其含义
在这里插入图片描述
计算函数在 x=3 和 x=-1 处的导数值,这里我们使用定义进行计算,而不直接使用导数公式,因为导数公式也是根据定义而来的,我们直接从源头出发
在这里插入图片描述
函数 f 在 x = 1 处的导数 4; 在 x = -1 处的导数为 -2

通常求函数的最小值时候,我们会用到函数的导数

当我们想求 f(x) 的最小值时,假设初始点为 x 0 x_0 x0,当使用迭代计算的话,就需要分两种情况去更新 x 的值,一是导数值大于 0,另一种是导数值小于 0

若 x 点导数为正,即 f ′ ( x ) f^{'}(x) f(x)为正,那么 Δh = f ′ ( x ) h f^{'}(x)h f(x)h 也为正,即当给自变量 x 增加一个微小的变量 h 时,函数值是在增加的,所以要使 f 取得最小值,就需要减小 x 值 所以 x_new = x_old -λ f ′ ( x ) f^{'}(x) f(x)

若 x 点导数为负, f ′ ( x ) h f^{'}(x)h f(x)h 为负数 ( 注 : − f ′ ( x ) ) (注:-f^{'}(x)) (f(x))为正,当给自变量增加一个微小的变量时,函数值在减少,要取得最小值,就需要继续增大 x 值 x n e w = x o l d + λ ( − f ′ ( x ) ) = x o l d + λ ( − f ′ ( x ) ) = x o l d − λ f ′ ( x ) x_{new} = x_{old}+ λ (-f^{'}(x)) = x_{old}+λ(-f^{'}(x))=x_{old} -λf^{'}(x) xnew=xold+λ(f(x))=xold+λ(f(x))=xoldλf(x)

可以看出不管导数为正还是为负,最后更新 x 时计算形式是一样的,这也就是为什么在求极小值时需要 x 加上导数的相反数,通常在导数之前需要乘一个很小的变化因子,称为学习率(learning rate) λ ,所以我们实际上并不关心梯度的绝对值大小

2 多变量函数

与单变量类似,多变量函数也可以表示为(以二元函数为例):

Δ h = f ′ ( x ) Δ x + f ′ ( y ) Δ y = f ( x + Δ x , y + Δ y ) − f ( x , y ) Δh = f^{'}(x)Δx+ f^{'}(y)Δy=f(x+Δx,y+Δy)-f(x,y) Δh=f(x)Δx+f(y)Δy=f(x+Δx,y+Δy)f(x,y)

可以理解为: 当自变量 x,y 变化微小量时,函数值的变化情况

上式也可以表示为 ▽ f = ( ∂ f ∂ x , ∂ f ∂ y ) ▽f=(\frac{\partial{f}}{\partial{x}},\frac{\partial{f}}{\partial{y}}) f=(xf,yf) ( Δ x , Δ y ) (Δx,Δy) (ΔxΔy)的内积(标量)

三元函数可以表示为:

Δ h = f ′ ( x ) Δ x + f ′ ( y ) Δ y + f ′ ( z ) Δ z = f ( x + Δ x , y + Δ y , z + Δ z ) − f ( x , y , z ) Δh = f^{'}(x)Δx+ f^{'}(y)Δy+ f^{'}(z)Δz=f(x+Δx,y+Δy,z+Δz)-f(x,y,z) Δh=f(x)Δx+f(y)Δy+f(z)Δz=f(x+Δx,y+Δy,z+Δz)f(x,y,z)

类似地可以表示其它多变量的计算公式

关于二元函数的内积: ▽ f = ( ∂ f ∂ x , ∂ f ∂ y ) ▽f=(\frac{\partial{f}}{\partial{x}},\frac{\partial{f}}{\partial{y}}) f=(xf,yf) ( Δ x , Δ y ) (Δx,Δy) (ΔxΔy) 内积表示为 Δ h = ∂ f ∂ x Δ x + ∂ f ∂ y Δ y Δh =\frac{\partial{f}}{\partial{x}}Δx+\frac{\partial{f}}{\partial{y}}Δy Δh=xfΔx+yfΔy

当两向量做内积时,向量方向相反时,函数取得最小值[^1],当求函数 f 的最小值时,我们给自变量微小的改变,我们希望函数值沿值衰减最大的方向减小,所以自变量增加方向 ( Δ x , Δ y ) (Δx,Δy) (ΔxΔy)应该与梯度向量方向相反,也即
( Δ x , Δ y ) = − λ ( ∂ f ∂ x , ∂ f ∂ y ) (Δx,Δy)= -λ(\frac{\partial{f}}{\partial{x}},\frac{\partial{f}}{\partial{y}}) (ΔxΔy)=λ(xf,yf)

当(x,y) 向点(x+Δx,y+Δy) 移动时,函数值就会沿下降最快方向下降, 向量 ( ∂ f ∂ x , ∂ f ∂ y ) (\frac{\partial{f}}{\partial{x}},\frac{\partial{f}}{\partial{y}}) (xf,yf) 称为函数 f(x,y) 在点 (x,y) 处的梯度,意为最陡的坡度方向

注:[^1] 向量内积: a ⃗ b ⃗ = ∣ a ∣ ∣ b ∣ c o n θ \vec{a}\vec{b} = |a| |b|conθ a b =abconθ (θ为两个向量的夹角),当 θ 为180° 时(即) a ⃗ \vec{a} a , b ⃗ \vec{b} b 向量相反时,内积的值最小

参考

1 Understanding gradient descent
2 深度学习中的数学

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值