我們先來玩乙個遊戲,假如你在一座山上,蒙著眼睛,但是你必須到達山谷中最低點的湖泊,你該怎麼辦?
梯度可以幫助你完成這個遊戲。
來自 introduction to gradient descent algorithm (along with variants) in machine learning 。
梯度和方向導數緊密相關,讓我們從方向導數開始。
1 方向導數
顧名思義,方向導數就是某個方向上的導數。
什麼是方向:函式f
(x,y
)f(x,y)
在這個方向上的影象:
我們知道:函式f
(x,y
)f(x,y)的a
a點在這個方向上也是有切線的,其切線的斜率就是方向導數:
我之前在 什麼是全導數、偏導數、方向導數? 這個回答中,已經全面回答過什麼是方向導數了。感興趣可以看看。
2 梯度
很顯然,aa
點不止乙個方向,而是
360∘
360∘
都有方向:
每個方向都是有方向導數的:
created with
geogebra
這就引出了梯度的定義:
梯度:是乙個向量,其方向上的方向導數最大,其大小正好是此最大方向導數。
定義出來了,並不複雜,但對於我而言這才是開始,因為我還有兩個疑問:
2.1 為什麼所有方向導數中會存在並且只存在乙個最大值?
其實我最困惑的是梯度的存在性,你說有這麼多方向導數,有最大值我覺得還好理解,為什麼偏偏只有乙個?
我們來看乙個顯而易見的物理現象:
光滑的、筆直的玻璃上的水滴,一定會沿著玻璃滑下來,(理想情況下)滑下來的方向就是玻璃最陡峭的地方。對於筆直的平面玻璃而言,這個滑下來的方向是只有乙個。
說這個幹什麼?我們回頭來看看梯度的數學定義,並且畫一下重點:
具有一階連續偏導數,意味著可微。可微意味著函式f(
x,y)
f(x,y)
在各個方向的切線都在同乙個平面上,也就是切平面:
created with
geogebra
所有的切線都在乙個平面上,就好像剛才我說過的光滑的筆直玻璃上,某一點一定有且只有乙個(梯度為0的情況除外,可以自己想想為什麼?)最陡峭的地方(因為方向導數是切線的斜率,方向導數最大也就意味著最陡峭)。
這就解決了我對於「為什麼所有方向導數中會存在並且只存在乙個最大值」的疑問。
注意,因為這裡舉的例子是水滴往下滑,所以要說多說明一下,往下滑是梯度的反方向。因為梯度指的是增長最快的方向,而往下滑是減少最快的方向。
2.2 這個最大值在哪個方向取得?值是多少?
這個最大值的方向我們就取名為梯度方向。
最大方向導數的值是多少這個問題,我沒有找到特別直觀的方法來說明。我也不想給出計算步驟,要不看起來和數學書也沒啥區別。大家自己去查詢計算過程吧。
2.3 方向導數與梯度的關係
方向導數與梯度的關係,我在這裡給大家乙個直觀的操作感受。
先說明一下,下圖的向量表示f(
x,y)
f(x,y)在a
a點處的梯度,切線是梯度方向的切線。因為我把梯度畫在了aa
點處,所以我畫了乙個輔助平面,這個平面和xy
xy平面平行:
為了方便觀察,我把切平面也畫出來了,切平面是之前的輔助平面有一根交線,這根交線很明顯平行於xy
xy平面:
我增加切平面、平行於xy
xy的平面以及兩者的交線,都是為了方便有個參照物,看出切線的陡峭的程度。
然後我們來觀察不同方向的切線和梯度方向的切線的關係(綠色是梯度以外的方向,它和梯度成θθ
夾角):
自己動手操作以下,就很容易觀察出為什麼梯度是最陡峭的方向,以及θθ
對方向導數大小的影響:
created with
geogebra
2.4 總結
簡單總結下:
3 完成最開頭的遊戲
對於最開頭的遊戲,我們只需要通過手感受附近梯度最大的方向,一直沿著梯度相反的方向就可以到達谷底(原理和彈珠從高處滾落最後會滾進最低處一樣):
來自 introduction to gradient descent algorithm (along with variants) in machine learning 。
為了不誤導,我要多說一下,這個演算法叫做梯度下降演算法,我在這裡只是描述了它的演算法思想,真正實用中還需要很多的改進和優化,以及有它的侷限性,這裡就不展開講了。
方向導數與梯度
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!方向導數 是乙個數 反映的是f x,y 在p0點沿方向v的變化率。偏導數 是多個數 每元有乙個 是指多元函式沿座標軸方向的方向導數,因此二元函式就有兩個偏導數。偏導函式 是乙個函式 是乙個關於點的偏導數的函式。梯度 是乙個向量 每個元素為函式對一元...
梯度與方向導數
什麼是方向導數呢?單從這個問題表面,我們可以看到兩個方面 方向導數與某個量的方向有關 方向導數和導數有關 首先確定乙個向量e,在最底部,即二維平面在x軸上,三維在xoy平面上。在二維座標系中,e只有乙個方向,即沿著x軸,在三維座標系中,e的方向由其和x軸和y軸之間的夾角確定,所以e的方向有無窮多個,...
方向導數與梯度
梯度和方向導數 在乙個二維平面中,如果溫度t和平面中某乙個點位置的關係是 t f x,y 我們都知道x的偏導數是該函式在x軸上的變化率。y的偏導數是該函式在y軸上的變化率。那如果,我想知道,這個函式在y x這個方向上的變化率是多少呢,這個時候,就需要方向導數的概念。方向導數的推導和證明非常多,不需要...