什么是梯度,梯度有什么用

什么是梯度?梯度有什么用?

写此篇博客主要是从原理上理解一下梯度是什么,加深自己的理解,以及将来方便复习
首先我们先回顾一下数量积(内积或点积)及方向向量的内容,因为后续梯度的理解及定义和这两个知识点密切相关。
点积: 设向量 a ∈ R n b ∈ R n a\in R^n \quad b \in R^n aRnbRn,则a和b的点积为, a ⋅ b = a T b = a 1 b 1 + a 2 b 2 + . . . + a n b n a\cdot b=a^Tb=a_1b_1+a_2b_2+...+a_nb_n ab=aTb=a1b1+a2b2+...+anbn

方向向量: 举一个二维向量的例子 a ∈ R 2 a \in R2 aR2
在这里插入图片描述
从图可以看出a的单位向量 e = ( c o s α , c o s β ) T e=(cos\alpha,cos\beta)^T e=(cosα,cosβ)T,我们称e为a的方向向量。

  下面我们举一个三维函数的例子,设在定义域D,连续可导函数 f ( x , y ) f(x,y) f(x,y),令 z = f ( x , y ) z=f(x,y) z=f(x,y),用图示如下:
在这里插入图片描述
已知一点P ( x 0 , y 0 ) ∈ D (x_0,y_0)\in D (x0,y0)D,取一个方向变化向量 Δ t = ( Δ x , Δ y ) \Delta t=(\Delta x,\Delta y) Δt=(Δx,Δy),假设 α \alpha α Δ t \Delta t Δt和x轴的夹角,则 Δ x = c o s α Δ t \Delta x=cos\alpha \Delta t Δx=cosαΔt Δ x = c o s β Δ t \Delta x=cos\beta \Delta t Δx=cosβΔt
所以在P点的任意方向的函数微分(或导数) d z d t = f ( x 0 + Δ x , y 0 + Δ y ) − f ( x 0 , y 0 ) d t \frac{dz}{dt}=\frac{f(x_0+\Delta x,y_0+\Delta y)-f(x_0,y_0)}{dt} dtdz=dtf(x0+Δx,y0+Δy)f(x0,y0),根据定义分析
在这里插入图片描述
注:如果一个函数 f ( x ) f(x) f(x),它的微积分的奥秘是,无限运动接近。其误差变化量其实就是误差项的运动速度大于 Δ x \Delta x Δx的变化量,如果 f ( x ) = x 2 f(x)=x^2 f(x)=x2,其导数定义运算:
lim ⁡ Δ x → 0 x 2 + 2 Δ x x + Δ x 2 − x 2 Δ x = 2 x + Δ x \lim_{\Delta x \to 0} \frac{x^2+2\Delta xx+\Delta x^2-x^2}{\Delta x}=2x+\Delta x Δx0limΔxx2+xx+Δx2x2=2x+Δx
其中为什么 Δ x \Delta x Δx可以忽略掉,思考一下,以为2x是某点固定变化量,而 Δ x \Delta x Δx是运动变化的,也就是说当 d y = 2 x ∗ Δ x + Δ x ∗ Δ x dy=2x*\Delta x+\Delta x*\Delta x dy=2xΔx+ΔxΔx,第一项的运动变化是随着 Δ x \Delta x Δx以比例或者说是线性变化或者理解为相对不变,而第二项的值和 Δ x \Delta x Δx是运动的,是随着 D e l t a x Delta x Deltax变小而变得更小,随着 Δ x \Delta x Δx变大而变大的速度更快。所以误差项记作 o ( Δ x ) o(\Delta x) o(Δx)

  而偏导数的奥秘,举一个例子,二元函数 f ( x , y ) = x 2 y 2 f(x,y)=x^2y^2 f(x,y)=x2y2,先计算x的偏导数,
lim ⁡ Δ x → 0 2 x y 2 + Δ x y 2 = 2 x y 2 \lim_{\Delta x \to 0} 2xy^2+\Delta xy^2=2xy^2 Δx0lim2xy2+Δxy2=2xy2
我们可以看到y项依然对影响着函数变化率,但相对于 D e l t a x Delta x Deltax的运动项忽略掉。
同样对y求偏导数

lim ⁡ Δ y → 0 2 y x 2 + Δ y x 2 = 2 y x 2 \lim_{\Delta y \to 0} 2yx^2+\Delta yx^2=2yx^2 Δy0lim2yx2+Δyx2=2yx2
所以以上二元偏导数,是把运动量 Δ t \Delta t Δt分解到x方向及y方向,任一方向的偏导数也有可能收当前点的其他方向影响,但是相对于 D e l t a x Delta x Deltax的运动项忽略掉,记作 o ( Δ t ) o(\Delta t) o(Δt)

根据以上性质我们可以理解,当 Δ x \Delta x Δx Δ y \Delta y Δy无限趋近于0时, f ( x + Δ x , y + Δ y ) − f ( x , y ) = f x ′ ( x , y ) ∗ Δ x + f y ′ ( x , y ) ∗ Δ y + o ( Δ t ) f(x+\Delta x,y+\Delta y)-f(x,y)=f_x^{'}(x,y)*\Delta x+f_y^{'}(x,y)*\Delta y+o(\Delta t) f(x+Δx,y+Δy)f(x,y)=fx(x,y)Δx+fy(x,y)Δy+o(Δt),其中 o ( Δ t ) o(\Delta t) o(Δt)是误差函数,

计算的时候可以忽略。然后求方向上的导数

f ( x + Δ x , y + Δ y ) − f ( x , y ) Δ t = f x ′ ( x , y ) ∗ Δ x + f y ′ ( x , y ) ∗ Δ y Δ t \frac{f(x+\Delta x,y+\Delta y)-f(x,y)}{\Delta t}=\frac{f_x^{'}(x,y)*\Delta x+f_y^{'}(x,y)*\Delta y}{\Delta t} Δtf(x+Δx,y+Δy)f(x,y)=Δtfx(x,y)Δx+fy(x,y)Δy

又因为 Δ x Δ t = c o s α \frac{\Delta x}{\Delta t}=cos\alpha ΔtΔx=cosα Δ y Δ t = c o s β \frac{\Delta y}{\Delta t}=cos\beta ΔtΔy=cosβ

所以在方向向量t上的导数 f t ′ ( x , y ) = f x ′ ( x , y ) c o s α + f y ′ ( x , y ) c o s β f_t^{'}(x,y)=f_x^{'}(x,y)cos\alpha+f_y^{'}(x,y)cos\beta ft(x,y)=fx(x,y)cosα+fy(x,y)cosβ

我们把方向导数做一个变形令向量 m = ( f x ′ ( x , y ) , f y ′ ( x , y ) ) T m=(f_x^{'}(x,y),f_y^{'}(x,y))^T m=(fx(x,y),fy(x,y))T,则 t = ( c o s α , c o s β ) T t=(cos\alpha,cos\beta)^T t=(cosα,cosβ)T,我们发现此处的t就是方向向量t,然后我们把方向向量t的导数换个形式
f t ′ ( x , y ) = f x ′ ( x , y ) c o s α + f y ′ ( x , y ) c o s β = m ⋅ t = ∣ m ∣ ∣ t ∣ cos ⁡ θ f_t^{'}(x,y)=f_x^{'}(x,y)cos\alpha+f_y^{'}(x,y)cos\beta=m\cdot t=|m||t|\cos\theta ft(x,y)=fx(x,y)cosα+fy(x,y)cosβ=mt=m∣∣tcosθ
θ 为 m 向量和 t 向量的夹角 \theta为m向量和t向量的夹角 θm向量和t向量的夹角,从上式中看出当 c o s θ cos\theta cosθ值最大时,导数最大,也就是 θ = 0 \theta=0 θ=0时最大,
t向量和m向量重合时导数最大。我们函数在某点处的m向量
m = ( f x ′ ( x , y ) , f y ′ ( x , y ) ) T m=(f_x^{'}(x,y),f_y^{'}(x,y))^T m=(fx(x,y),fy(x,y))T为此处的梯度。

梯度有什么用呢,我们应该经常听到一个名词,梯度下降。比如我们构建了一个误差函数,已知在某处,我们可以求出梯度,我们通过梯度找到推进的方向,依次迭代计算找到极值时就是我们找到的局部最小值。

以上例子用二元函数做例子,同样可以扩充到更高的次元。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值