经典数值优化算法--专题学习
通用的損失函數最優化的數值方法,來源于泰勒展開式,多元函數的泰勒展開式為:
一、一階逼近與一階方法
一階泰勒展開式:
其中,是代表了β變化的可能性,t在之后說到的梯度下降方法中演變成了學習速率。
現在,我們需要第二項最小,向量內積,最小為-|梯度||a|,這就是β的改變量。梯度的方向是函數在給定點上升最快的方向,那么梯度的反方向就是函數在給定點下降最快的方向,這正是我們所需要的。所以我們只要沿著梯度的方向一直走,就能走到局部的最低點!
于是,演變成了:
倒三角符號就是梯度。梯度是函數關于每一個自變量的偏導組成的向量。物理意義就是一個在站在某一個點上,斜率最大的那個方向。(最常見的就是二維平面上曲線的斜率)。
二、二階逼近與牛頓法
對損失函數進行二階展開:
損失函數取得最小值的必要條件是:
最后得到β的迭代公式:
牛頓法需要用到Hessian矩陣,是損失函數的二階導數組成的矩陣。于是上面的公式就變成了:
牛頓法要求Hessian矩陣必須是非負定的,才能求解出局部最小值。。
ps:當Hessian矩陣非正定時,收斂到局部最大值,不定時,收斂到鞍點。
另外,如果Hessian矩陣是病態的(求解方程組時如果對數據進行較小的擾動,則得出的結果具有很大波動,這樣的矩陣稱為病態矩陣。用條件數來衡量,矩陣A的條件數:K(A)=‖A-1‖*‖A‖。若K很大的時候,A為病態矩陣),需要通過正則化來處理,求偽逆。則損失函數的參數更新方程:
?
轉載于:https://www.cnblogs.com/melina-zh/p/9789036.html
總結
以上是生活随笔為你收集整理的经典数值优化算法--专题学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pipelineDB学习笔记-2. St
- 下一篇: C#本质论pdf