深度学习基础 - 梯度垂直于等高线的切线
flyfish
梯度
给定一个标量函数 f ( x , y ) f(x, y) f(x,y),它的梯度(gradient)是一个向量,表示为 ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y),定义为: ∇ f ( x , y ) = ( ∂ f ∂ x , ∂ f ∂ y ) \nabla f(x, y) = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ∇f(x,y)=(∂x∂f,∂y∂f)
梯度指向函数在该点增加最快的方向,其大小表示函数增加的速率。
等高线
等高线是指在某个平面上连接函数值相同的点的曲线。对于一个标量函数 f ( x , y ) f(x, y) f(x,y),等高线可以表示为 f ( x , y ) = c f(x, y) = c f(x,y)=c,其中 c c c 是常数。
梯度与等高线的关系
梯度垂直于等高线的切线 :对于等高线
f
(
x
,
y
)
=
c
f(x, y) = c
f(x,y)=c,在等高线上,函数的值是恒定的。因此,当我们在等高线上移动时,函数
f
f
f 的变化率为零。这意味着在等高线的切线方向上,函数没有变化,梯度与该方向无关。
梯度的方向是函数值变化最快的方向,而在等高线上的任意方向上,函数值不变,因此梯度方向必然垂直于等高线的切线方向。
几何解释
-
等高线 :
等高线是一个函数 f ( x , y ) f(x, y) f(x,y) 的等值线,即满足 f ( x , y ) = c f(x, y) = c f(x,y)=c 的所有点的集合。
在等高线上,函数值保持不变。 -
梯度的 :
梯度 ∇ f \nabla f ∇f 是一个向量,其方向是函数 f ( x , y ) f(x, y) f(x,y) 在某一点变化最快的方向。梯度向量的大小表示函数在该点变化的速率。 -
梯度与等高线 :
沿等高线方向,函数值不变,因此沿等高线移动时,函数的变化量为零。
梯度向量的方向是函数变化最快的方向,而沿等高线方向没有变化,故梯度向量必须垂直于等高线的方向。
向量解释
在二维平面中,可以使用简单的向量代数证明梯度与等高线的切线垂直:
-
等高线的方向 :
在等高线 f ( x , y ) = c f(x, y) = c f(x,y)=c 上,假设我们选择一个方向向量 t = ( a , b ) \mathbf{t} = (a, b) t=(a,b),这个向量代表等高线的切线方向。 -
梯度与切线的关系 :
梯度 ∇ f = ( ∂ f ∂ x , ∂ f ∂ y ) \nabla f = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ∇f=(∂x∂f,∂y∂f)
梯度 ∇ f \nabla f ∇f 与向量 t \mathbf{t} t 的点积为零。
点积的计算 :
∇
f
⋅
t
=
∂
f
∂
x
⋅
a
+
∂
f
∂
y
⋅
b
\nabla f \cdot \mathbf{t} = \frac{\partial f}{\partial x} \cdot a + \frac{\partial f}{\partial y} \cdot b
∇f⋅t=∂x∂f⋅a+∂y∂f⋅b
因为在等高线方向上,函数值不变,故此方向的变化量为零:
a
⋅
∂
f
∂
x
+
b
⋅
∂
f
∂
y
=
0
a \cdot \frac{\partial f}{\partial x} + b \cdot \frac{\partial f}{\partial y} = 0
a⋅∂x∂f+b⋅∂y∂f=0
这表明梯度
∇
f
\nabla f
∇f 与等高线的切线方向向量
t
\mathbf{t}
t 垂直。
两个向量的点积为零时,它们是相互垂直的,这背后的数学原理来源于欧几里得几何中的向量投影与角度关系。以下是这个结论的详细解释:
向量的点积
两个向量 a \mathbf{a} a 和 b \mathbf{b} b 的点积(内积)定义为: a ⋅ b = ∣ a ∣ ∣ b ∣ cos θ \mathbf{a} \cdot \mathbf{b} = |\mathbf{a}| |\mathbf{b}| \cos \theta a⋅b=∣a∣∣b∣cosθ
其中:
∣
a
∣
|\mathbf{a}|
∣a∣ 和
∣
b
∣
|\mathbf{b}|
∣b∣ 分别是向量
a
\mathbf{a}
a 和
b
\mathbf{b}
b 的模(长度)。
θ
\theta
θ 是两个向量之间的夹角。
点积与垂直的关系
当两个向量垂直时,它们之间的夹角 θ = 9 0 ∘ \theta = 90^\circ θ=90∘。此时, cos 9 0 ∘ = 0 \cos 90^\circ = 0 cos90∘=0,因此点积为: a ⋅ b = ∣ a ∣ ∣ b ∣ cos 9 0 ∘ = 0 \mathbf{a} \cdot \mathbf{b} = |\mathbf{a}| |\mathbf{b}| \cos 90^\circ = 0 a⋅b=∣a∣∣b∣cos90∘=0
再解释
-
切线的方向 :假设在等高线上的某一点 ( x 0 , y 0 ) (x_0, y_0) (x0,y0),等高线的切线方向用一个向量 ( d x , d y ) (dx, dy) (dx,dy) 表示。沿着等高线的微小移动满足: f ( x 0 + d x , y 0 + d y ) − f ( x 0 , y 0 ) = 0 f(x_0 + dx, y_0 + dy) - f(x_0, y_0) = 0 f(x0+dx,y0+dy)−f(x0,y0)=0
根据函数的全微分公式,这意味着(链式法则):
∂ f ∂ x d x + ∂ f ∂ y d y = 0 \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy = 0 ∂x∂fdx+∂y∂fdy=0 -
垂直关系 :由于梯度 ∇ f = ( ∂ f ∂ x , ∂ f ∂ y ) \nabla f = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ∇f=(∂x∂f,∂y∂f),上式表明: ∇ f ⋅ ( d x , d y ) = 0 \nabla f \cdot (dx, dy) = 0 ∇f⋅(dx,dy)=0
这说明梯度向量 ∇ f ( x , y ) \nabla f(x, y) ∇f(x,y) 与切向量 ( d x , d y ) (dx, dy) (dx,dy) 的点积为零,表明它们相互垂直。
梯度指向函数变化最快的方向,而等高线方向是函数不变的方向。
梯度向量与切线垂直,梯度的正方向指示了函数值增加最快的方向,而负方向则指示了函数值减少最快的方向。梯度向量的负方向由红色箭头指示,一条等高线上的切线用绿色显示。