Learning Objectives
- 寫出切平面方程式,並用於線性近似
- 以定義與梯度兩種方式計算方向導數
- 由內積說明梯度是最陡上升的方向,且與等高線垂直
- 說明方向導數公式需要可微分這個條件
切平面
地球是圓的,在操場上看來卻是平的。一變數時,曲線放大後接近切線;兩變數時,曲面放大後接近一個平面,稱為切平面(tangent plane)。
切平面通過 $(a, b, f(a, b))$,且 $x$ 方向的斜率為 $f_x(a, b)$,$y$ 方向的斜率為 $f_y(a, b)$。這三項條件可決定一個平面:
$$\begin{aligned}L(x, y) = f(a, b) &+ f_x(a, b)(x - a) \\ &+ f_y(a, b)(y - b)\end{aligned}$$
例如 $f(x, y) = x^2 + 2y^2$ 在 $(1, 1)$:$f = 3$、$f_x = 2$、$f_y = 4$,所以 $L(x, y) = 3 + 2(x-1) + 4(y-1) = 2x + 4y - 3$。
線性近似是以 $L$ 估計附近的函數值:$f(1.1, 0.9) \approx L(1.1, 0.9) = 3 + 0.2 - 0.4 = 2.8$,真值為 $1.21 + 1.62 = 2.83$,相差 $0.03$。
可微分的精確意義是:$f$ 與 $L$ 的差,遠小於與 $(a, b)$ 的距離。以式子表示為
$$\lim_{(x,y)\to(a,b)} \frac{f(x, y) - L(x, y)}{\sqrt{(x-a)^2 + (y-b)^2}} = 0$$
下面的小工具呈現此性質:距離縮小 10 倍,誤差約縮小 100 倍。若 $f$ 不可微分,即使偏導數都存在,這個 $L$ 也不是良好的近似。
方向導數
從 $(a, b)$ 出發,沿單位向量 $u = (u_1, u_2)$ 的方向移動。方向導數(directional derivative)定義為沿此直線的斜率:
$$D_u f(a, b) = \lim_{s \to 0} \frac{f(a + s u_1, b + s u_2) - f(a, b)}{s}$$
$u$ 必須是單位向量,$s$ 才等於移動的距離。偏導數是其特例:$f_x$ 對應 $u = (1, 0)$。
計算時將 $g(s) = f(a + s u_1, b + s u_2)$ 視為一變數函數,使用上一課的連鎖律(此處要求 $f$ 在 $(a, b)$ 可微分):
$$D_u f = g'(0) = f_x u_1 + f_y u_2$$
右邊是兩個向量的內積。將左邊的向量記為 $\nabla f = (f_x, f_y)$,稱為梯度(gradient):
$$D_u f = \nabla f \cdot u$$
例如 $f = x^2 + 2y^2$ 在 $(1, 1)$:$\nabla f = (2, 4)$。沿 $u = (\frac{3}{5}, \frac{4}{5})$ 方向,$D_u f = 2 \cdot \frac{3}{5} + 4 \cdot \frac{4}{5} = 4.4$。
可微分這個條件不可省略。$f(x, y) = \frac{x^2 y}{x^2 + y^2}$($f(0,0) = 0$)在原點每個方向的方向導數都存在,由定義算出為 $u_1^2 u_2$,而 $\nabla f(0,0) = (0, 0)$,內積為 0。公式不成立,因為此函數在原點不可微分。
梯度與最陡上升方向
使用內積的另一種形式(見向量一課):
$$D_u f = \nabla f \cdot u = \lvert \nabla f \rvert \lvert u \rvert \cos\theta = \lvert \nabla f \rvert \cos\theta$$
$\theta$ 是 $u$ 和梯度的夾角,$\lvert u \rvert = 1$。在同一點 $\lvert \nabla f \rvert$ 是定值,只有 $\cos\theta$ 隨方向改變。由此可得三項結果(假設 $\nabla f \neq 0$):
- $\theta = 0$:沿著梯度方向上升最快,坡度為 $\lvert \nabla f \rvert$
- $\theta = \pi$:沿著反方向下降最快,坡度是 $-\lvert \nabla f \rvert$
- $\theta = \frac{\pi}{2}$:垂直梯度的方向,坡度是 0
梯度和等高線垂直。沿等高線移動時高度不變。將等高線寫成 $r(t)$,$f(r(t)) = k$ 是常數,對 $t$ 微分得到 $\nabla f \cdot r'(t) = 0$。$r'(t)$ 是等高線的切線方向,所以梯度垂直等高線。
例如 $f = x^2 + 2y^2$ 在 $(1, 1)$,$\lvert \nabla f \rvert = \sqrt{20} = 2\sqrt{5}$,最陡的方向是 $\frac{(2, 4)}{2\sqrt{5}} = (\frac{1}{\sqrt{5}}, \frac{2}{\sqrt{5}})$。
$\nabla f = 0$ 的點稱為臨界點,該處沒有最陡的方向,切平面是水平的。下一課討論這類點。
梯度上升:在無法得知地形全貌時,可在每一步沿當下最陡的方向移動以接近山頂。將符號反向往下移動,即機器學習用於訓練模型的梯度下降,詳見機器學習軌的梯度下降。此方法每一步只使用局部資訊,通常抵達局部最高點,不保證是全域最高點。
重點整理
- 切平面 $L(x, y) = f(a, b) + f_x(a, b)(x-a) + f_y(a, b)(y-b)$,可微分時是良好的近似
- 方向導數的定義是沿單位向量 $u$ 的斜率;$f$ 可微分時 $D_u f = \nabla f \cdot u$
- $D_u f = \lvert \nabla f \rvert \cos\theta$:梯度方向最陡,反方向最陡下降,垂直方向坡度是 0
- 梯度和等高線垂直
- $\nabla f = 0$ 的點沒有最陡方向,是下一課的主題
下一課討論多變數函數的最大值與最小值,以及有限制條件時的情況。
小測驗
$f(x, y) = xy$ 在 $(2, 3)$ 的切平面是?
$\nabla f(a, b) = (3, 4)$。方向 $u = (0, 1)$ 的方向導數和最大的方向導數分別是?
在等高線圖上,某點的梯度和通過那一點的等高線是什麼關係?
計算 $f$ 在方向 $(3, 4)$ 的方向導數,$\nabla f = (1, 2)$。答案是?
在某一點 $f_x$、$f_y$ 都存在。公式 $D_u f = f_x u_1 + f_y u_2$ 一定成立嗎?