借助可視化,直觀理解梯度,以及偏導(dǎo)數(shù)、方向?qū)?shù)和法向量等
點(diǎn)擊上方“小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
導(dǎo)讀
?本文通過(guò)繪制三維圖,結(jié)合數(shù)學(xué)公式,非常直觀解釋了梯度、偏導(dǎo)數(shù)、方向?qū)?shù)以及法向量等機(jī)器學(xué)習(xí)中常用數(shù)學(xué)工具以及之間關(guān)系。
寫(xiě)在前面
梯度是微積分中的基本概念,也是機(jī)器學(xué)習(xí)解優(yōu)化問(wèn)題經(jīng)常使用的數(shù)學(xué)工具(梯度下降算法),雖然常說(shuō)常聽(tīng)常見(jiàn),但其細(xì)節(jié)、物理意義以及幾何解釋還是值得深挖一下,這些不清楚,梯度就成了“熟悉的陌生人”,僅僅“記住就完了”在用時(shí)難免會(huì)感覺(jué)不踏實(shí),為了“用得放心”,本文將嘗試直觀地回答以下幾個(gè)問(wèn)題,
梯度與偏導(dǎo)數(shù)的關(guān)系? 梯度與方向?qū)?shù)的關(guān)系? 為什么說(shuō)梯度方向是上升最快的方向,負(fù)梯度方向?yàn)橄陆底羁斓姆较颍?/section> 梯度的模有什么物理意義? 等高線圖中繪制的梯度為什么垂直于等高線? 全微分與隱函數(shù)的梯度有什么關(guān)系? 梯度為什么有時(shí)又成了法向量?
閑話少說(shuō),書(shū)歸正傳。在全篇“作用域”內(nèi),假定函數(shù)可導(dǎo)。
偏導(dǎo)數(shù)
在博文《單變量微分、導(dǎo)數(shù)與鏈?zhǔn)椒▌t》(https://www.cnblogs.com/shine-lee/p/10324601.html)中,我們回顧了常見(jiàn)初等函數(shù)的導(dǎo)數(shù),概括地說(shuō),
導(dǎo)數(shù)是一元函數(shù)的變化率(斜率)。導(dǎo)數(shù)也是函數(shù),是函數(shù)的變化率與位置的關(guān)系。
如果是多元函數(shù)呢?則為偏導(dǎo)數(shù)。
偏導(dǎo)數(shù)是多元函數(shù)“退化”成一元函數(shù)時(shí)的導(dǎo)數(shù),這里“退化”的意思是固定其他變量的值,只保留一個(gè)變量,依次保留每個(gè)變量,則 ?元函數(shù)有?個(gè)偏導(dǎo)數(shù)。
以二元函數(shù)為例,令,繪制在3維坐標(biāo)系如下圖所示,

在分別固定?和?的取值后得到下圖中的黑色曲線——“退化”為一元函數(shù),二維坐標(biāo)系中的曲線——?jiǎng)t偏導(dǎo)數(shù)?和?分別為曲線的導(dǎo)數(shù)(切線斜率)。


由上可知,一個(gè)變量對(duì)應(yīng)一個(gè)坐標(biāo)軸,偏導(dǎo)數(shù)為函數(shù)在每個(gè)位置處沿著自變量坐標(biāo)軸方向上的導(dǎo)數(shù)(切線斜率)。

方向?qū)?shù)
如果是方向不是沿著坐標(biāo)軸方向,而是任意方向呢?則為方向?qū)?shù)。如下圖所示,點(diǎn)?位置處紅色箭頭方向的方向?qū)?shù)為黑色切線的斜率,來(lái)自鏈接
Directional Derivative
https://www.geogebra.org/m/Bx8nFMNc

方向?qū)?shù)為函數(shù)在某一個(gè)方向上的導(dǎo)數(shù),具體地,定義平面上一點(diǎn)(??以及單位向量?在曲面?上, 從點(diǎn)??出發(fā),??沿方向走??單位長(zhǎng)度后, 函數(shù)值??為??則點(diǎn)??處??方向的方向?qū)?shù)為 :
上面推導(dǎo)中使用了鏈?zhǔn)椒▌t。其中,?和?分別為函數(shù)在?位置的偏導(dǎo)數(shù)。由上面的推導(dǎo)可知:
該位置處,任意方向的方向?qū)?shù)為偏導(dǎo)數(shù)的線性組合,系數(shù)為該方向的單位向量。當(dāng)該方向與坐標(biāo)軸正方向一致時(shí),方向?qū)?shù)即偏導(dǎo)數(shù),換句話說(shuō),偏導(dǎo)數(shù)為坐標(biāo)軸方向上的方向?qū)?shù),其他方向的方向?qū)?shù)為偏導(dǎo)數(shù)的合成。
寫(xiě)成向量形式,偏導(dǎo)數(shù)構(gòu)成的向量為?
梯度
梯度,寫(xiě)作?二元時(shí)為?多元時(shí)為?。
我們繼續(xù)上面方向?qū)?shù)的推導(dǎo),?處??方向上的方向?qū)?shù)為
其中,??為??與??的夾角,顯然,當(dāng)??即??與梯度??同向時(shí),方向?qū)?shù)取得最大值,最大值為梯度的模??當(dāng)??即??與梯度??反向時(shí),方向?qū)?shù)取得最小值,最小值為梯度模的相反數(shù)。此外 根據(jù)上面方向?qū)?shù)的公式可知,在夾角??時(shí)方向?qū)?shù)為正,表示??方向函數(shù)值上升,??時(shí)方向?qū)?shù)為負(fù), 表示該方向函數(shù)值下降。
至此,方才有了梯度的幾何意義:
當(dāng)前位置的梯度方向,為函數(shù)在該位置處方向?qū)?shù)最大的方向,也是函數(shù)值上升最快的方向,反方向?yàn)橄陆底羁斓姆较颍?/section> 當(dāng)前位置的梯度長(zhǎng)度(模),為最大方向?qū)?shù)的值。
等高線圖中的梯度
在講解各種優(yōu)化算法時(shí),我們經(jīng)??吹侥繕?biāo)函數(shù)的等高線圖示意圖,如下圖所示,來(lái)自鏈接
Applet: Gradient and directional derivative on a mountain
https://mathinsight.org/applet/gradient_directional_derivative_mountain

圖中,紅點(diǎn)為當(dāng)前位置,紅色箭頭為梯度,綠色箭頭為其他方向,其與梯度的夾角為?。
將左圖中?曲面上的等高線投影到?平面,得到右圖的等高線圖。
梯度與等高線垂直。為什么呢?
等高線,顧名思義,即這條線上的點(diǎn)高度(函數(shù)值)相同,令某一條等高線為?C為常數(shù),兩邊同時(shí)全微分,如下所示
這里,兩邊同時(shí)全微分的幾何含義是,在當(dāng)前等高線上挪動(dòng)任意一個(gè)極小單元,等號(hào)兩側(cè)的變化量相同。?的 變化量有兩個(gè)來(lái)源,一個(gè)由x的變化帶來(lái),另一個(gè)由y的變化帶來(lái),在一階情況下,由?帶來(lái)的變化量為?由?帶來(lái)的變化量為?兩者疊加為z的總變化量,等號(hào)右側(cè)為常數(shù),因?yàn)槲覀冎付ㄔ诋?dāng)前等高線上挪動(dòng)一個(gè)極小單元,其變化量為0,左側(cè)等于右側(cè)。進(jìn)一步拆分成向量?jī)?nèi)積形式,(?)為梯度,?為該點(diǎn)指向任意方向 的極小向量,因?yàn)閮烧邇?nèi)積為0,所以兩者垂直。自然不難得出梯度與等高線垂直的結(jié)論。
更進(jìn)一步地,梯度方向指向函數(shù)上升最快的方向,在等高線圖中,梯度指向高度更高的等高線。
隱函數(shù)的梯度
同理,對(duì)于隱函數(shù)?也可以看成是一種等高線。二元時(shí),兩邊同時(shí)微分,梯度垂直于曲線,多元時(shí),兩邊同時(shí)微分,梯度垂直于高維曲面。
即,隱函數(shù)的梯度為其高維曲面的法向量。
有了法向量,切線或切平面也就不難計(jì)算得到了。令曲線?上一點(diǎn)為?通過(guò)全微分得該點(diǎn)的梯度為?則該點(diǎn)處的切線為?相當(dāng)于將上面的微分向量?替換為?其幾何意義為法向量垂直切平面上的任意向量。
小結(jié)
至此,文章開(kāi)篇幾個(gè)問(wèn)題的答案就不難得出了,
偏導(dǎo)數(shù)構(gòu)成的向量為梯度; 方向?qū)?shù)為梯度在該方向上的合成,系數(shù)為該方向的單位向量; 梯度方向?yàn)榉较驅(qū)?shù)最大的方向,梯度的模為最大的方向?qū)?shù); 微分的結(jié)果為梯度與微分向量的內(nèi)積 等高線全微分的結(jié)果為0,所以其梯度垂直于等高線,同時(shí)指向高度更高的等高線 隱函數(shù)可以看成是一種等高線,其梯度為高維曲面(曲線)的法向量
以上。
參考
Gradients and Partial Derivatives Directional Derivative Applet: Gradient and directional derivative on a mountain Gradient descent Gradient Partial derivative ppt Partial derivative
