終於理解了方向導數與梯度

本文做者Key,博客園主頁:https://home.cnblogs.com/u/key1994/

本內容爲我的原創做品,轉載請註明出處或聯繫:zhengzha16@163.com

0.淵源

第一次接觸方向導數與梯度的概念,是在大學的高等數學課堂上,當時對於這部份內容是似懂非懂的。網絡

巧合的是,後來在參加碩士複試的時候,有位老師提問我對方向導數與梯度的理解,當時我只記得一句話:梯度是方向導數變化最大的方向。雖而後來這位老師成了個人導師,可是如今想來依然以爲慚愧,由於我對這兩個名詞徹底沒有理解。函數

後來學習到BP神經網絡,也手動推導過根據梯度降低法獲得的權值更新公式,但方向導數的定義一直是個人心結。今天終於花了時間將這個簡單的問題弄明白,特意記錄下來,以警示本身在未來的科研道路上要腳踏實地,不可浮於表面!學習

1.方向導數

  • 方向導數的本質是一個數值,簡單來講其定義爲:

一個函數沿指定方向的變化率。spa

所以,構建方向導數須要有兩個元素:3d

1)      函數blog

2)      指定方向博客

固然,與普通函數的導數相似,方向導數也不是百分之百存在的,須要函數知足在某點處可微,才能計算出該函數在該點的方向導數。數學

至於其物理含義,這裏採用最經常使用的下山圖來表示。變量

 

 簡單將上圖看做是一座山的模型,咱們處在山上的某一點處,須要走到山下。理論上來講,這座山的表面是能夠經過一個函數的描述的(雖然想要找到這個函數可能很難),而這個函數能夠在不一樣的方向上都肯定出一個方向導數,這就比如於若是咱們想下山,道路並非惟一的,而是能夠沿任何方向移動。區別在於有些方向可讓咱們下山速度更快,有些方向讓咱們下山速度更慢,有些方向甚至引導咱們往山頂走(也能夠理解爲下山速度時負的)。在這裏,速度的值就是方向導數的直觀理解。原理

2.梯度

  • 梯度與方向導數是有本質區別的,梯度實際上是一個向量,其定義爲:

一個函數對於其自變量分別求偏導數,這些偏導數所組成的向量就是函數的梯度。

在不少資料中能夠看到以下的梯度定義方法:

 

 

 

誠然,這種定義方法更加權威,可是卻不夠直觀,這也是爲何我在高等數學課堂上學習梯度概念時感受雲裏霧裏。這種定義方法只針對二元函數,因此公式中的i,j可分別表示爲函數在x和y方向上的單位向量,這樣的描述可讓咱們更好理解(由於人類大腦能夠比較輕鬆的理解三維世界的模型圖),可是一旦到了更高維度的世界,單純靠這個公式就不容易理解了。

3.梯度與方向導數的關係

  • 梯度與方向導數的關係應該如何描述呢?

函數在某點的梯度是這樣一個向量,它的方向與取得最大方向導數的方向一致,而它的模爲方向導數的最大值。

以上描述很是好理解,那如何證實呢?

 

 

說實話,我以爲以上證實過程很抽象,但這就是數學,而咱們要作的就是從這些抽象中來理解問題的實質。

依然採用下山的例子來解釋。咱們想要走到山下,道路有千萬條,但總有一條可讓咱們以最快的速度下山。固然,這裏的最快速度僅僅做用在當前的位置點上,也就是說在當前位置A咱們選擇一個方向往山下走,走了一步以後到達了另一個位置B,而後咱們在B位置計算梯度方向,並沿該方向到達位置處c,重複這個過程一直到終點。可是,若是咱們把走的每一步鏈接起來構成下山的完整路線,這條路線可能並非下山的最快最優路線。

緣由是什麼?能夠用一句古詩來解釋:「不識廬山真面目,只緣身在此山中。」由於咱們在山上的時候是不知道山的具體形狀的,所以沒法找到一條全局最優路線。那咱們只能關注腳下的路,將每一步走好,這就是梯度降低法的原理。

相關文章
相關標籤/搜索