機器學習數學筆記|Taylor展開式與擬牛頓
覺得有用的話,歡迎一起討論相互學習~
原創文章,如需轉載請保留出處
本博客為七月在線鄒博老師機器學習數學課程學習筆記
為七月在線打call!!
課程傳送門
Taylor 展式與擬牛頓
索引
taylor展式
- 計算函數值
- 解釋gini系數公式
- 平方根公式
牛頓法
- 梯度下降算法
- 擬牛頓法
- DFP
- BFGS
Taylor公式
- 如果函數在x0點可以計算n階導數,則有Taylor展開
- 如果取x0=0,則有Taylor的麥克勞林公式.
Taylor公式的應用1:函數值計算
計算\(e^{x}\)
- 則我們現在的關鍵就是計算k和r
Taylor公式的應用2:解釋Gini系數
- 在隨機數和決策森林中會提到的非常重要的概念-- Gini系數
- Gini系數定義 某個類別發生的概率乘以這個類別不發生的概率,把所有類別此項相加.
- 已知交叉熵定義,我們用泰勒公式將f(x)=ln(x)在x=1處一階展開為1-x,將其帶入交叉熵公式中,得到交叉熵公式的近似值公式.
Taylor公式的應用3:牛頓迭代法計算平方根
梯度下降算法
牛頓法
- 如果我們要求f(x)的最值(最小值或最大值),即要使\(f^{'}(x)=0,(f(x)即是\varphi(x))\),這時候的到式子
\[X_{k+1}=X_{k}-\frac{f^{'}(X_{k})}{f^{''}(X_{k})}--牛頓法公式 \]
- ps:這里我們假設f(x)是一個一元函數,如果是一個多元函數,推導過程完全相同,只是此時\(f^{'}(x)是一個向量,f^{''}(x)是一個Hessian矩陣\)
- 假設紅色的曲線是目標函數
- 假設當前找到的點是\(X_{k}\),我們在此處求其切線,並且沿着切線方向在橫坐標軸上移動\(\alpha_{k}\)的距離,這時候我們使用的算法就是梯度下降法.
- 給定\(X_{k}\)點的函數值,導數值,二階導數值得到的拋物線,我們求這條拋物線的梯度為0(即最小值)的點\((X_{k}+d_{k})\),即牛頓法是利用二次函數做的近似而梯度下降法是利用一次函數做的近似
牛頓法特點
Hessian矩陣非正定
- 如圖,左邊是標准情況,右邊是f(x,y,z...)多元目標函數二階導數非正定的情況,如果是f(x)一元函數,則是二階導數為負數的情況.
- 假設紅線是目標函數,最小值點在A點,假設我們選取的\(X=X_{k}\)時,此時選取的點在B點,在B點使用牛頓法得到虛線,由於得到的二次曲線是一個凹函數,二階導數為負數得到的極值點是虛線的最大值點!
- 為了解決這個問題,我們提出擬牛頓法的思路.
擬牛頓法
擬牛頓的思路
- 求Hessian矩陣的逆影響算法效率
- 搜索方向並非嚴格需要負梯度方向或者牛頓方向
- 可以用近似矩陣代替Hessian矩陣,只要滿足矩陣正定,容易求導,或者可以通過若干步遞推公式計算得到.
- DFP: Davidon -Fletcher -Powell(三個數學家名字命名)
- BFGS: Broyden -Fletcher -Goldfarb -Shanno
DFP
BFGS