闲谈
对于梯度这个概念,我是这样的,
学习时,正序:导数–>偏导数–>方向导数–>梯度,从导数开始一步一步学到梯度这个概念,脑子里想
着:“梯度这个玩意儿有什么用,得记下来,万一考到了”.
多年以后,
应用时,倒序:梯度<–方向导数<–偏导数<–导数,从梯度这个概念一步一步往回想,“这玩意儿还真有
用,得理解透了,一定会用到”.
参考
- 维基/百度百科中对导数、偏导数、方向导数、梯度的解释.
- 知乎中有关梯度的问题,个人更倾向于忆臻的回答.
- 哔站-偏导数和梯度,哔站中这个视频同样直观的形容了偏导数和梯度.
梯度的方向总是指向函数值增大的方向,即自变量沿着梯度的方向移动,函数值总是增大的.
首先要理解梯度的概念,明确梯度方向的由来,自然就能理解为何梯度的方向总是指向函数值增大的方向.
下面从导数开始一步一步学到梯度这个概念.
.
导数、偏导数、方向倒数、梯度,均是微积分学中的概念,而微积分学是高等数学的核心.
用四句话简单概括这4个概念:
- 导数对应一元(单变量)函数,表示一元函数在该点的变化率.
- 偏导数对应多元(多变量)函数,表示多元函数在该点沿坐标轴方向的变化率.
- 方向导数是偏导数概念的推广,表示多元函数在该点沿某一方向的变化率.
- 梯度是特殊的方向导数,表示多元函数在该点沿该方向变化率最大(该方向为梯度的方向,变化率为梯度的模).
- 导数
导数对应一元(单变量)函数,表示一元函数在该点的变化率.
一元函数在坐标系中表示为曲线,其几何意义为函数在该点切线的斜率,其本质是通过极限的概念对函
数进行局部的线性逼近.
例如:计算曲线 f(x) 上A、B两点的斜率K,B无限趋近于A,即表示为
K = f ( x A + Δ x ) − f ( x A ) Δ x ( Δ x → 0 ) K=\frac{f(x_{A}+\Delta x)-f(x_{A})}{\Delta x} (\Delta x\rightarrow 0) K=Δxf(xA+Δx)−f(xA)(Δx→0)
此时,K便表示曲线在A点处的斜率/变化率,亦称之为函数 f(x) 在该点处的导数
f ′ ( x A ) = lim Δ x → 0 f ( x A + Δ x ) − f ( x A ) Δ x f^{'}(x_{A})=\lim_{\Delta x\rightarrow 0}\frac{f(x_{A}+\Delta x)-f(x_{A})}{\Delta x} f′(xA)=Δx→0limΔxf(xA+Δx)−f(xA)
- 偏导数
偏导数对应多元(多变量)函数,表示多元函数在该点沿坐标轴方向的变化率.
图文描述时,一般以二元函数为例(更高元的函数也画不出来),下图为二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y),
∂ f ∂ x / f x ( x , y ) \frac{\partial f}{\partial x}/f_x(x,y) ∂x∂f/fx(x,y) 表示函数沿x轴方向的变化率(此时y视为常量),
∂ f ∂ y / f y ( x , y ) \frac{\partial f}{\partial y}/f_y(x,y) ∂y∂f/fy(x,y) 表示函数沿y轴方向的变化率(此时x视为常量).
- 方向导数
方向导数是偏导数概念的推广,表示多元函数在该点沿某一方向的变化率.
某一方向的变化率如何表示?
如下山坡图中对于山坡内任一点处沿x、y方向的变化率均可求得,以此为两个基向量,
则 u → \overrightarrow{u} u 方向的变化率可表示为(在此不作证明):
D u f ( x , y ) = f x ( x , y ) cos θ + f y ( x , y ) sin θ D_uf(x,y)=f_x(x,y)\cos\theta+f_y(x,y)\sin\theta Duf(x,y)=fx(x,y)cosθ+fy(x,y)sinθ
- 梯度
梯度是特殊的方向导数,表示多元函数在该点沿该方向变化率最大(该方向为梯度的方向,变化率为梯度的模).
梯度的方向总是指向函数值增大的方向,即自变量沿着梯度的方向移动,函数值总是增大的.
求梯度,就是求 D u f ( x , y ) D_uf(x,y) Duf(x,y) ,将其以向量点乘的形式表示为:
D u f ( x , y ) = A ⋅ I = ∣ A ∣ ∗ ∣ I ∣ cos α D_uf(x,y)=A·I=|A|*|I|\cos\alpha Duf(x,y)=A⋅I=∣A∣∗∣I∣cosα
式中, A = ( f x ( x , y ) , f y ( x , y ) ) A=(f_x(x,y),f_y(x,y)) A=(fx(x,y),fy(x,y)) , I = ( cos θ , sin θ ) I=(\cos\theta,\sin\theta) I=(cosθ,sinθ) , α \alpha α 为两向量夹角.
当 α = 0 \alpha=0 α=0 ,即 A 、 I A、I A、I 平行时,变化率最大.
看到这里,明确了梯度的方向,这时再想一想为什么梯度的方向总是指向函数值增大的方向,
其实已经很明显了,梯度的方向即向量 A / I A/I A/I 的方向,也就是函数在该点偏导数组成的向量方向.
哔站-偏导数和梯度,该视频中对此有很清晰的表达.
或者,不妨以一元函数 y = x 2 y=x^2 y=x2 来进行理解.参看视频如何通俗地理解梯度下降法.