優(yōu)化方法
1. 梯度下降
1.1. 缺點(diǎn)及解決辦法
- 缺點(diǎn):每一步走的距離在極值點(diǎn)附近非常重要,如果走的步子過(guò)大,容易在極值點(diǎn)附近震蕩而無(wú)法收斂。
- 解決辦法:將學(xué)習(xí)率設(shè)定為隨著迭代次數(shù)而不斷減小的變量,但是也不能完全減為零举反。
1.2. 常用優(yōu)化器
SGD
Momentum
Nesterov
Adagrad
Adadelta
Adam
指數(shù)加權(quán)平均
帶偏差修正的指數(shù)加權(quán)平均
2. 牛頓法
2.1. 求解方法
- 前提
- 牛頓法是為了求解函數(shù)值為零的時(shí)候變量的取值問(wèn)題的。
- 如果函數(shù)一階可導(dǎo)扒吁,那么函數(shù)取得極值時(shí)火鼻,一階導(dǎo)數(shù)為0。
- 所以求解函數(shù)的極值就可以轉(zhuǎn)換為求該函數(shù)一階導(dǎo)數(shù)等于0時(shí)的變量的取值。
- 即在的一階泰勒展開
- 與梯度下降不同魁索,梯度下降的目的是直接求解目標(biāo)函數(shù)極小值融撞,而牛頓法則變相地通過(guò)求解目標(biāo)函數(shù)一階導(dǎo)為零的參數(shù)值,進(jìn)而求得目標(biāo)函數(shù)最小值蛾默。
- 具體地懦铺,當(dāng)要求解 f(θ)的極值時(shí),如果 f 二階可導(dǎo)支鸡,那么可以通過(guò)迭代公式冬念。
- 當(dāng)θ是向量時(shí),牛頓法可以使用下面式子表示:
其中H叫做海森矩陣牧挣, 表示的是海森矩陣的逆矩陣 急前,其實(shí)就是目標(biāo)函數(shù)對(duì)參數(shù)θ的二階導(dǎo)數(shù)
2.2. 牛頓法的優(yōu)缺點(diǎn)
- 優(yōu)點(diǎn):海森矩陣的逆就好比梯度下降法的學(xué)習(xí)率參數(shù)alpha。牛頓法收斂速度相比梯度下降法很快瀑构,而且由于海森矩陣的的逆在迭代中不斷減小裆针,起到逐漸縮小步長(zhǎng)的效果。
- 牛頓法是二階收斂寺晌,梯度下降是一階收斂世吨,所以牛頓法就更快。如果更通俗地說(shuō)的話呻征,比如你想找一條最短的路徑走到一個(gè)盆地的最底部耘婚,梯度下降法每次只從你當(dāng)前所處位置選一個(gè)坡度最大的方向走一步,牛頓法在選擇方向時(shí)陆赋,不僅會(huì)考慮坡度是否夠大沐祷,還會(huì)考慮你走了一步之后,坡度是否會(huì)變得更大攒岛。
- 缺點(diǎn):計(jì)算海森矩陣的逆比較困難赖临,消耗時(shí)間和計(jì)算資源。因此有了擬牛頓法灾锯。
3. 擬牛頓法
- 擬牛頓法的本質(zhì)思想是改善牛頓法每次需要求解復(fù)雜的Hessian矩陣的逆矩陣的缺陷兢榨,它使用正定矩陣來(lái)近似Hessian矩陣的逆,從而簡(jiǎn)化了運(yùn)算的復(fù)雜度顺饮。
4. 共軛梯度法
- 共軛梯度法是介于最速下降法與牛頓法之間的一個(gè)方法色乾,它僅需利用一階導(dǎo)數(shù)信息,但克服了最速下降法收斂慢的缺點(diǎn)领突,又避免了牛頓法需要存儲(chǔ)和計(jì)算Hesse矩陣并求逆的缺點(diǎn)。
- 其優(yōu)點(diǎn)是所需存儲(chǔ)量小案怯,具有步收斂性君旦,穩(wěn)定性高,而且不需要任何外來(lái)參數(shù)。