# 2.1函數極值的必要條件 * 單變數函數上一點導數為零,左方微分為負(正)、右方為正(負),該極值點為極小(大)值。 * 多變數函數的極值點梯度必為零(每個偏導數皆為零)。 # 2.2梯度下降法基礎 * 梯度下降法用於尋找局部極小值。作法是從一個*x*出發,逐步逼近得到局部極小值。 * 對於函數f(x)中點x附近有很小的變化 Δx,根據泰勒展開式的一階近似,可以表達為: * **f(x+Δx)-f(x) ≈ f'(x)Δx** * 假設Δx=-af'(x),其中a為學習率,代回上式可得: * **f(x+Δx)-f(x) = -af'(x)^2** * 若不斷的用下列方法更新x值。當導函數為正時,更新的點會往圖形左下移動;導函數為負時,更新的點會往圖形左下移動,且f'(x)將逐漸接近零,達到逼近極小值的效果。 * **x = x - af'(x)** * 多變數函數同樣適用梯度下降法,但以梯度代替導數,即: * **x = x - a∇f(x)** # 2.3梯度下降法的參數最佳化策略 **2.3.1Momentum法**  * vt是更新向量。Momentum法認為vt值的更新是有慣性的,因此在第t次的更新向量vt中添加了前一次(t-1)的更新向量的貢獻。 * 優點:保留了先前的運動慣性,平坦處保有運動速度,也不會因梯度突然變大而過衝。 **2.3.2AdaGrad**法  * xi是第t次迭代時x的i分量,gt,i是第t次迭代時f在i方向上的偏導數,∈是一個微小的常數,用來避免分母為零之情況。 * 函數在各方向的偏導數可能差距過大,因此更新向量的每個分量的相同學習率不一定適合尋找極小值。AdaGrad透過將每個梯度分量除以梯度分量的歷史累加值,解決這個問題。 * 優點:消除各梯度分量差異的影響。 * 缺點:隨累加值不斷增大,學習會變慢,且更新方向可能偏離最佳解。 **2.3.3AdaDelta法**  * γ為衰減率參數,通常設為0.9。AdaDelta法對更新向量改用移動平均法,解決了AdaGrad中累加值不斷增大,使收斂速度越來越慢的問題。 * 優點:解決收斂速度漸慢的問題,且更新的路徑更平滑。 **問題:** AdaGrad法可能產生什麼問題,要如何解決?
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up