Directional Derivative and Gradient
方向導數,描述函數沿指定方向的變化率。若函數f(x,y)在點P0(x0,y0)處可微,則函數在該點沿任一方向l的方向導數存在,且有
∂l∂f∣∣∣(x0,y0)=fx(x0,y0)cosα+fy(x0,y0)cosβ
其中cosα和cosβ是方向l的方向餘弦。
Differentiable and Partial Derivatives
若函數z=f(x,y)在點(x,y)的某鄰域內有定義,函數在點(x,y)處的全增量Δz=f(x+Δx,y+Δy)−f(x,y),可表示爲Δz=AΔx+BΔy+o(ρ),ρ=(Δx)2+(Δy)2
其中A、B不依賴於Δx、Δy,且僅與x、y有關,則稱函數z=f(x,y)在(x,y)處可微,全微分dz=AΔx+BΔy。
必要條件
若函數z=f(x,y)在點(x,y)處可微分,則函數z=f(x,y)在點(x,y)的偏導數∂x∂z、∂y∂z必定存在,此時全微分
dz=∂x∂zΔx+∂y∂zΔyy⟺dz=∂x∂zdx+∂y∂zdy
充分條件
若函數z=f(x,y)的偏導數∂x∂z、∂y∂z在點(x,y)處連續,則函數z=f(x,y)在點(x,y)處可微。
綜上所述:可微 ⟹ 偏導存在 偏導存在且連續 ⟹ 可微.
Directional Derivative
若f(x,y)在點P0(x0,y0)處可微,則
f(x0+Δx,y0+Δy)−f(x0,y0)=fx(x0,y0)Δx+fy(x0,y0)Δy+o((Δx)2+(Δy)2)
且
Δx=tcosα, Δy=tcosβ, Δx)2+(Δy)2=t
因此方向導數
t→0+limtfx(x0,y0)tcosα+fy(x0,y0)tcosβ=fx(x0,y0)cosα+fy(x0,y0)cosβ
例題
求f(x,y,z)=xy+yz+zx在點(1,1,2)沿方向l的方向導數,其中l的方向角分別爲60∘、45∘、60∘。
解:與l同向的單位向量el=(21,22,21),因爲函數可微,故
fx(1,1,2)=3,fy(1,1,2)=3,fz(1,1,2)=2
因此
∂l∂f∣∣∣(1,1,2)=3⋅21+3⋅22+2⋅21=21(5+32)
Gradient
對於二元函數,設函數f(x,y)在平面區域D內具有一階連續偏導,則對於每一點P0(x0,y0)∈D,定義向量
fx(x0,y0)i+fy(x0,y0)j
稱爲函數f(x,y)在點P0(x0,y0)處的梯度,記作
gradf(x0,y0)或∇f(x0,y0)
Relationship of Directional Derivative and Gradient
若函數f(x,y)在點P0(x0,y0)處可微分,與方向l同方向的單位向量el=(cosα,cosβ),則
∂l∂f∣∣∣(x0,y0)=fx(x0,y0)cosα+fy(x0,y0)cosβ=gradf(x0,y0)⋅el=∣gradf(x0,y0)∣⋅cosθ
式中,θ爲梯度與方向l的夾角. θ不同值,函數變化情況:
- θ=0,方向l與梯度方向同向,函數f(x,y)增長最快;
- θ=π,方向l與梯度方向相反,函數f(x,y)減少最快;
- θ=π/2,方向l與梯度方向正交,函數f(x,y)變化率爲0;
Gradient Descent
梯度下降是利用損失函數的負梯度方向更新參數,使目標函數(均方誤差損失函數)達到極小值
L=2n1n∑(y^−(wwwxxx+b))2
Gradient Decent and Taylor Series
泰拉展開式
f(x)=k=0∑∞k!h(k)(x0)(x−x0)k=h(x0)+h′(x0)(x−x0)+2!h′′(x0)(x−x0)2+⋯≈h(x0)+h′(x0)(x−x0)
若L(θθθ)包含兩個參數,將L(θθθ)在θθθt=(a,b)處一階展開
L(θθθ)≈L(a,b)+∂θ1∂L(a,b)(θ1−a)+∂θ2∂L(a,b)(θ2−b)
令Δθ1=(θ1−a), Δθ2=(θ2−b),則
θθθminL(θθθ)⟺min[(Δθ1,Δθ2)⋅(∂θ1∂L(a,b),∂θ2∂L(a,b))]
兩向量夾角180°時內積最小,最優解滿足
(Δθ1,Δθ2)=−η(∂θ1∂L(a,b),∂θ2∂L(a,b))⟹[θ1θ2]=[ab]−η⎣⎢⎡∂θ1∂L(a,b)∂θ2∂L(a,b)⎦⎥⎤
Negative Gradient
函數f(x)在點x處沿方向d的變化率可用方向導數表示,方向導數等於梯度與方向的內積,即
Df(xxx;ddd)=∇f(xxx)Tddd
非線性規劃求解最速下降方向,即
min∇f(xxx)Tddds.t. ∣∣ddd∣∣≤1
由Schwartz不等式,有
∣∣∇f(xxx)Tddd∣∣≤∣∣∇f(xxx)∣∣∣ddd∣∣≤∣∣∇f(xxx)∣∣
故
∇f(xxx)Tddd≥−∣∣∇f(xxx)∣∣,當前僅當 ddd=−∣∣∇f(xxx)∣∣∇f(xxx)時等式成立
即負梯度方向爲最速下降方向。
Batch Gradient Descent
每次迭代使用所有樣本更新參數,即
wwwt+1=wwwt−η∇Lt,∇Lt=n1n∑(y^i−(wwwtxxxi+b))xxxi
優點: 可得到全局最優解,可並行計算,凸優化時可獲得全局最優解;
缺點: 訓練時間長;
Stochastic Gradient Descent, SGD
隨機梯度下降,每次迭代隨機選取一個樣本更新參數,即
wwwt+1=wwwt−η∇Lt,其中∇Lt=21(y^i−(wwwtxxxi+b))xxxi
優點: 訓練速度快;
缺點: 準確度下降(盲目搜索解空間),可能只能得到局部最優解,且無法並行計算;
Adaptive Gradient Descent, Adagrad
自適應梯度下降,某參數的理想學習率正比於其一次微分、反比於其二次微分,即對於任一參數有
wwwt+1=wwwt−σσσt+ϵηtgggt,ηt=t+1η,σσσt=t+11i=0∑tgggi2,gggt=∂www∂L
其中,σt爲一次微分的平方差(避免分母爲0),在不增加額外計算量時預估二次微分.
優點: 動態調整學習率,不同參數具有不同的學習率,適用於稀疏數據集(自然語言處理和計算機視覺).
缺點: 隨着迭代次數增加時,分母增大,梯度趨近於0,訓練會提前結束.
Momentum
SGD方法參數更新方向依賴於當前batch計算出的梯度,無法跳出局部最優.
動量法借用物理動量思想,模擬物體運動慣性,即更新參數時依賴於當前更新方向和梯度方向.
wwwt+1=wwwt−vvvt,vvvt=γvvvt−1+αgggt,vvv0=000
物理解釋:γ可視爲空氣阻力,我們把一個球推下山,球在下坡時積聚動量,若動量方向與梯度方向一致,則在途中變得越來越快;若球的方向發生變化,則動量會衰減,速度變慢或方向改變.
Root Mean Square Propagation, RMSprop
均方根傳播,解決Adagrad梯度下降過快和Momentum梯度擺動幅度大的問題
wwwt+1=wwwt−σσσt+ϵηgggt,σσσt=ασσσt−1+(1−α)gggt2
α正比於當前梯度所佔更新權重的比重.
Adaptive Moment Estimation, Adam
自適應矩估計,指數移動均值和平方梯度分別爲
mmmt+1=αmmmt+(1−α)gggt,vvvt+1=βvvvt+(1−β)gggt2
偏差修正
m^m^m^t=1−αmmmt,v^v^v^t=1−βvvvt
參數更新公式
wwwt+1=wwwt−v^v^v^t+ϵηm^m^m^t