您當前的位置:首頁 > 攝影

梯度是函式變化最快的方向

作者:由 胡衛雄 發表于 攝影時間:2019-01-21

機器學習中大部分問題都是最佳化問題,而絕大部分最佳化問題都可以用梯度下降法來解決。本文詳細的解釋了高數中幾個易混淆的重要概念,如導數和微分的區別,偏導數的概念,方向導數和梯度的關係,若完全掌握這幾個概念,就能很好地理解梯度為什麼是函式變化最快的方向。

本文脈絡:

導數和微分

偏導數

方向導數和梯度的關係

總結

導數和微分

導數的定義

定義:設函式y = f(x)在

x_{0}

領域內有定義,當自變數x在

x_{0}

處有增益

\Delta y,若\frac{\Delta y}{\Delta x},在\Delta x \rightarrow 0

極限存在,則稱函式f(x)在該點可導,記為

f^{

,表示式如下:

f^{

本質:導數描述的是函式在一點處的變化快慢的趨勢,是一個變化的速率。如曲線方程的導數是隨點變化的斜率,運動方程的導數是隨時間變化的速率。

微分的定義

定義:函式y = f(x)在

x_{0}領域內[x_{0},x_{0}+\Delta x]

有定義,對應的函式增量

\Delta y = f(x_{0} + \Delta x) - f(x_{0})

。若函式增量可表示為:

\Delta y = A\Delta x + o(\Delta x)

,其中A是不依賴於

\Delta x

的常數,

o(\Delta x)是\Delta x

的高階無窮小則稱函式是可微的,其中

A\Delta x

稱為微分,記為dy

本質:微分描述的是函式從一個點移動到另一個無窮小點所產生的變化量。

函式增量與微分的關係

本節從圖形角度和代數角度去分析函式增量與微分的關係:

圖形角度:

梯度是函式變化最快的方向

如上圖所示,函式f(x)在M點處的導數為直線T的斜率

tan\alpha,\Delta y

是M點移動

\Delta x

時的函式增量,dy為函式相對於

\Delta x

的微分。

\Delta x \rightarrow 0

時,

dy \approx \Delta y, dy = (tan \alpha)* \Delta x

代數角度

若f(x)滿足微分條件,則:

\Delta y  = A\Delta x + o(\Delta x)

,兩邊同時除以

\Delta x

,得:

\frac{\Delta y}{\Delta x} = A + o(\Delta x)

\Delta x \rightarrow 0

時,

A = \lim_{\Delta x \rightarrow 0} \frac{\Delta y}{\Delta x} = f^{

當\Delta x \rightarrow 0時,dy \approx \Delta y

偏導數

偏導數是函式相對於某一軸方向的導數,其他軸方向則假設為常數,若考慮二元變數f(x,y),偏導數定義如下;

如果:

\lim_{\Delta x \rightarrow 0} \frac{f(x_{0} + \Delta x,y_{0}) - f(x_{0},y_{0})}{\Delta x}

存在,則稱該式為

f(x,y)在(x_{0},y_{0})對x的偏導數,

f(x,y)在(x_{0},y_{0})對y的偏導數可用同樣的方法求解。

偏導數的幾何意義

令z = f(x,y),偏導數

f_{x}(x_{0},y_{0})

等價於曲面被片面

y=y_{0}

所截得的曲線在點

M_{0}

處的切線

M_{0}T_{X}對X軸的斜率,

同理偏導數

f_{y}(x_{0},y_{0})

等價於曲面被平面

x=x_{0}

所截得的曲線在點

M_{0}

處的切線

M_{0}T_{y}

對Y軸的斜率。

如下圖:

梯度是函式變化最快的方向

方向導數和梯度的關係

方向導數

我們還是以討論偏導數的圖來解釋方向導數。令曲面方程z=f(x,y)投影到XY平面,得到投影平面,如下圖:

梯度是函式變化最快的方向

M1為M0在XY面的投影點,由上圖可知,有無數條直線經過M1點,這些直線代表方向,我們認為曲面M1點的方向導數就是求這些直線方向的導數,M1點的方向導數也是無窮多個,我們用變數

\alpha

來代表不同的方向直線。

梯度是函式變化最快的方向

如上圖,直線l的方向向量

\overrightarrow{e_{1}} = (cos\alpha,cos\beta),t為|P_{0}P|的距離直線l的引數方程:

\begin{cases}                   x = x_{0} + tcos\alpha \\          &&&&\\          y = y_{0} + tcos\beta&&             \end{cases}

所以

f(x,y)在M_{0}

點沿方向向量

\overrightarrow{e_{1}}的方向導數為:

\frac{\partial{f}}{\partial{l}}|{(x0,y0)} = \lim_{t \rightarrow{0^{+}}} \frac{f(x_{0}+tcos\alpha, y_{0}+tcos\beta) - f(x_{0},y_{0})}{t}

由上式可知,方向導數隨夾角

\alpha

不同而不同。

由第一節介紹的單元變數的微分公式可推導二元變數的全微分公式

f(x_{0} + \Delta x, y_{0}+\Delta y) - f(x_{0},y_{0}) = f_{x}(x_{0},y_{0})\Delta x + f_{y}(x_{0},y_{0})\Delta y + o(t) \tag{1}

其中,

t = \sqrt{(\Delta x)^{2}+(\Delta y)^{2}} ,tcos\alpha = \Delta x, tcos\beta = \Delta y

t \rightarrow 0

時,(1) 式兩邊各除t,得:

\lim_{t \rightarrow 0} \frac{f(x_{0} + \Delta x,y_{0}+\Delta y) - f(x_{0},y_{0})}{t} = f_{x}(x_{0},y_{0})cos\alpha + f_{y}(x_{0},y_{0})cos\beta

由方向導數的定義可知:

\frac{\partial{f}}{\partial{l}} |{(x{0},y_{0})} = f_{x}(x_{0},y_{0})cos\alpha + f_{y}(x_{0},y_{0})cos\beta

梯度

梯度是一個向量,曲面上每點的梯度是常數,P0點的梯度如下;

grad(f(x_{0},y_{0})) = f_{x}(x_{0},y_{0}) * \overrightarrow{i} + f_{y}(x_{0},y_{0}) * \overrightarrow{j}

其中

\overrightarrow{i},\overrightarrow{j}分別表示x軸和y軸的方向

方向導數和梯度的關係

求上圖曲面M0中P點的梯度和方向導數

梯度和方向導數的單位向量分別如下兩圖:

梯度是函式變化最快的方向

平移梯度向量,使之與方向導數的單位向量相交,夾角為

\theta

,如下圖:

梯度是函式變化最快的方向

紅色直線代表梯度,藍色代表方向導數的單位向量,取該兩個向量的內積,得:

grad(f(x0,y0)) * \overrightarrow{e_{l}} = (f_{x}(x_{0},y_{0}),f_{y}(x_{0},y_{0})) * (cos\alpha,cos\beta)

grad(f(x0,y0)) * \overrightarrow{e_{l}} = f_{x}(x_{0},y_{0})cos\alpha + f_{y}(x_{0},y_{0}) cos\beta

由方向導數的表示式可知:

\frac{\partial{f}}{\partial{l}} |{(x{0},y_{0})} = grad(f(x0,y0)) * \overrightarrow{e_{l}}

\frac{\partial{f}}{\partial{l}} |{(x{0},y_{0})} = grad(f(x0,y0)) * cos\theta

所以,

\theta = 0時

,方向導數等於梯度,且取得最大值。

結論:曲面中點的方向導數有無數個,當方向導數與梯度方向一致時,該導數值取得最大,等價於該點在梯度方向具有最快的變化值。梯度方向是函式值增加最快的方向,梯度的反方向是函式值減小最快的方向。

總結

本文介紹了高數教材中幾個易混淆的概念,結合圖解法和公式推導法證明了方向導數和梯度方向一致時,函式值變化最快。因此,機器學習常用梯度法去解決最最佳化問題。

標簽: 導數  方向  梯度  函式  微分