標籤:最佳化問題 ada 分享 投影 blog 最優 常見 梯度下降演算法 利用
這篇博文主要講解下梯度與方嚮導數的關係、等值線圖中梯度的表示,以及梯度的應用。因涉及太多高數的知識點,在此就不一一詳述了,只是簡單梳理下知識點,有所紕漏還望糾正指出,文末附有參考文獻,借圖。
一、方嚮導數與梯度
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
梯度下降演算法