這篇博文主要講解下梯度與方向導數的關系、等值線圖中梯度的表示,以及梯度的應用。因涉及太多高數的知識點,在此就不一一詳述了,只是簡單梳理下知識點,有所紕漏還望糾正指出,文末附有參考文獻,借圖。
一、方向導數與梯度
1、方向導數
- 導數引言
我們知道在二維平面上,F(x,y)=0 有斜率的概念,從名字上看就是“傾斜的程度” 。百度百科的解釋:表示一條直線(或曲線的切線)關於(橫)坐標軸傾斜程度的量。它通常是直線(或曲線的切線)與(橫)坐標軸夾角的正切,或兩點的縱坐標之差與橫坐標之差的比來表示。導數的幾何意義就是該函數曲線在這一點上的切線斜率,曲線上的點可導時,也就能找到過該點的切線。
- 方向導數
知道了二維平面上的斜率(即導數)的概念,延伸到三維呢?那就有了方向導數的概念,在二維平面上,任何曲線上可導一點都能找到切線,那曲面上有全微分(可微)的一點都能找到過該點的一個切平面,並且在切平面上任意方向的向量都是該點的方向導數。下面形式化表述什么是全微分,以及方向導數怎么定義。
- 形式化表述
我們先了解下全增量的概念:
如果函數 z=f(x,y) 在點p(x,y) 的某鄰域內有定義,設為這鄰域內任意一點,則稱這兩點的函數值之差 為函數在點p對應於自變量增量的全增量,記為
。
全微分:
若在p點的全增量 Δz 可以表示為 Δz=AΔx+BΔy+o(ρ),其中A、B不依賴於Δx, Δy,僅與x,y有關,ρ趨近於0,,此時稱函數z =f(x, y)在點 p 處可微分,AΔx+BΔy 稱為函數z=f(x, y)在點(x, y)處的全微分,記為 dz=AΔx +BΔy。那么A、B分別怎么求呢?該函數在點(x,y)的偏導數
,當Δx=0 和 Δy分別為0 時,利用全增量的公式可推出,
。
我們上面提到了偏導數的概念,下面給出偏導數幾何意義:
做了這么多鋪墊,終於到了主角方向導數出場了。
我們對比二維平面上曲線的導數來理解方向導數的概念,導數的公式是
三維空間的方向導數公式如下:
其中ρ趨近於0,
由以上求得全微分的公式 ,代入即
其中ρ趨近於0,
(見下圖)
2、梯度
- 梯度的由來
函數 z = f(x,y) 在p(x,y) 點沿哪一方向增加的速度最快? 我們定義梯度的方向是函數在該點增長最快的方向。由方向導數公式推導如下
其中cos(G,el)=1時,方向導數取得最大值 |G|,我們稱G為梯度。梯度的方向與偏導的方向一致,增加的速度最快。二元函數z=f(x,y)的梯度,記為
可知,函數在某點的梯度是一個向量,它是方向導數取得最大值的方向,而它的模為方向導數的最大值。
- 等值線與梯度的表示
梯度的方向與過點p的等值線上的法向量的一個方向相同,且指向等值線(函數值)增加的方向。在幾何上 z = f(x,y) 表示一個曲面,曲面被 z=c 所截得的曲線在xoy軸投影如下圖2,對f(x,y) = c2 對x求導,其中涉及到y是x的隱變量,得
在p點的切線斜率是,則由以上公式可得法向量的斜率是
,這也正是梯度的斜率(下圖1)。又由於沿梯度的方向導數大於0,所以沿梯度方向是函數增加。
圖1
圖2
二、梯度的應用
在機器學習領域,梯度有很廣泛的應用,比如常見的梯度下降算法,它是求解無約束最優化問題的一種常用方法。我們先列出損失函數,求損失函數的最小,我們只要沿着梯度的反方向下降,一步步到極小值。這也是一種貪心算法。但是在求梯度的時候,往往要用到全部訓練樣本,當訓練樣本數量大的時候,這是個很耗時的工程,所以提出隨機梯度下降和批量梯度下降,求解梯度選用少量樣本。
參考博客:
高數同濟9.7方向導數和梯度 https://wenku.baidu.com/view/fba284f0172ded630b1cb685.html
第6章多元函數微分學3-10(全增量及全微分) https://wenku.baidu.com/view/4f39fda0941ea76e59fa041d.html