闲谈
对于梯度这个概念,我是这样的,
学习时,正序:导数–>偏导数–>方向导数–>梯度,从导数开始一步一步学到梯度这个概念,脑子里想
着:“梯度这个玩意儿有什么用,得记下来,万一考到了”.
多年以后,
应用时,倒序:梯度<–方向导数<–偏导数<–导数,从梯度这个概念一步一步往回想,“这玩意儿还真有
用,得理解透了,一定会用到”.
参考
- 维基/百度百科中对导数、偏导数、方向导数、梯度的解释.
- 知乎中有关梯度的问题,个人更倾向于忆臻的回答.
- 哔站-偏导数和梯度,哔站中这个视频同样直观的形容了偏导数和梯度.
梯度的方向总是指向函数值增大的方向,即自变量沿着梯度的方向移动,函数值总是增大的.
首先要理解梯度的概念,明确梯度方向的由来,自然就能理解为何梯度的方向总是指向函数值增大的方向.
下面从导数开始一步一步学到梯度这个概念.
.
导数、偏导数、方向倒数、梯度,均是微积分学中的概念,而微积分学是高等数学的核心.
用四句话简单概括这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 来进行理解.参看视频如何通俗地理解梯度下降法.