方向导数 梯度
終于理解了方向導數與梯度
</h1><div class="clear"></div><div class="postBody">
本文作者Key,博客園主頁:https://home.cnblogs.com/u/key1994/
本內容為個人原創作品,轉載請注明出處或聯系:zhengzha16@163.com
0.淵源
第一次接觸方向導數與梯度的概念,是在大學的高等數學課堂上,當時對于這部分內容是似懂非懂的。
巧合的是,后來在參加碩士復試的時候,有位老師提問我對方向導數與梯度的理解,當時我只記得一句話:梯度是方向導數變化最大的方向。雖然后來這位老師成了我的導師,但是現在想來依然覺得慚愧,因為我對這兩個名詞完全沒有理解。
后來學習到BP神經網絡,也手動推導過根據梯度下降法得到的權值更新公式,但方向導數的定義一直是我的心結。今天終于花了時間將這個簡單的問題弄明白,特地記錄下來,以警示自己在將來的科研道路上要腳踏實地,不可浮于表面!
1.方向導數
- 方向導數的本質是一個數值,簡單來說其定義為:
一個函數沿指定方向的變化率。
因此,構建方向導數需要有兩個元素:
1)????? 函數
2)????? 指定方向
當然,與普通函數的導數類似,方向導數也不是百分之百存在的,需要函數滿足在某點處可微,才能計算出該函數在該點的方向導數。
至于其物理含義,這里采用最常用的下山圖來表示。
?
?簡單將上圖看作是一座山的模型,我們處在山上的某一點處,需要走到山下。理論上來說,這座山的表面是可以通過一個函數的描述的(雖然想要找到這個函數可能很難),而這個函數可以在不同的方向上都確定出一個方向導數,這就好比于如果我們想下山,道路并不是唯一的,而是可以沿任何方向移動。區別在于有些方向可以讓我們下山速度更快,有些方向讓我們下山速度更慢,有些方向甚至引導我們往山頂走(也可以理解為下山速度時負的)。在這里,速度的值就是方向導數的直觀理解。
2.梯度
- 梯度與方向導數是有本質區別的,梯度其實是一個向量,其定義為:
一個函數對于其自變量分別求偏導數,這些偏導數所組成的向量就是函數的梯度。
在很多資料中可以看到如下的梯度定義方法:
?
?
?
誠然,這種定義方法更加權威,但是卻不夠直觀,這也是為什么我在高等數學課堂上學習梯度概念時感覺云里霧里。這種定義方法只針對二元函數,所以公式中的i,j可分別表示為函數在x和y方向上的單位向量,這樣的描述可以讓我們更好理解(因為人類大腦可以比較輕松的理解三維世界的模型圖),但是一旦到了更高維度的世界,單純靠這個公式就不容易理解了。
3.梯度與方向導數的關系
- 梯度與方向導數的關系應該如何描述呢?
函數在某點的梯度是這樣一個向量,它的方向與取得最大方向導數的方向一致,而它的模為方向導數的最大值。
以上描述非常好理解,那如何證明呢?
?
?
說實話,我覺得以上證明過程很抽象,但這就是數學,而我們要做的就是從這些抽象中來理解問題的實質。
依然采用下山的例子來解釋。我們想要走到山下,道路有千萬條,但總有一條可以讓我們以最快的速度下山。當然,這里的最快速度僅僅作用在當前的位置點上,也就是說在當前位置A我們選擇一個方向往山下走,走了一步之后到達了另外一個位置B,然后我們在B位置計算梯度方向,并沿該方向到達位置處c,重復這個過程一直到終點。但是,如果我們把走的每一步連接起來構成下山的完整路線,這條路線可能并不是下山的最快最優路線。
原因是什么?可以用一句古詩來解釋:“不識廬山真面目,只緣身在此山中。”因為我們在山上的時候是不知道山的具體形狀的,因此無法找到一條全局最優路線。那我們只能關注腳下的路,將每一步走好,這就是梯度下降法的原理。
?
標簽: 方向導數, 梯度<div id="blog_post_info">
好文要頂 關注我 收藏該文
飛奔的可亦關注 - 0
粉絲 - 1 +加關注 0 0
<div class="clear"></div>
<div id="post_next_prev"><a href="https://www.cnblogs.com/key1994/p/11503826.html" class="p_n_p_prefix">? </a> 上一篇: <a href="https://www.cnblogs.com/key1994/p/11503826.html" title="發布于 2019-09-10 23:33">聊一聊極大似然估計</a>
<br>
<a href="https://www.cnblogs.com/key1994/p/11695519.html" class="p_n_p_prefix">? </a> 下一篇: <a href="https://www.cnblogs.com/key1994/p/11695519.html" title="發布于 2019-10-17 22:25">優達學城自動駕駛課程項目——車道檢測</a>
posted @ 2019-09-10 23:37? 飛奔的可亦? 閱讀(2841)? 評論(0)? 編輯? 收藏
</div>
總結
- 上一篇: 解释为什么用梯度下降而不是直接求导数为0
- 下一篇: 如何直观地理解「协方差矩阵」?