機器學習入門(九)之----logistic回歸(牛頓法)


多絢爛的花,多美妙的季節;

沒有一朵花,能留住它的季節。

我也是一樣,不停地追尋,

我終究要失去的

回到logistic回歸最大似然函數這里,現在我們用牛頓法來最大化這個對數似然函數。

牛頓法求零點

牛頓法本是用來求函數零點的一個方法,一個函數的零點就是指使這個函數等於零那個自變量的取值點。
牛頓法的更新公式為,

\[\begin{equation} \theta :=\theta-\frac{f(\theta)}{f^{\prime}(\theta)} \end{equation} \]

這個更新公式有一個非常自然的解釋,就是在當前近似零點處的切線的零點作為下一輪零點的更好的近似。然后不停重復這個過程來不斷的逼近真實的零點。這個過程如下圖,

牛頓法求極值點

牛頓法是求零點的一個方法,現在求一個函數機智的就是求函數導數的零點,因此就有如下的牛頓法求極值點更新公式,

\[\begin{equation} \theta :=\theta-\frac{\ell^{\prime}(\theta)}{\ell^{\prime \prime}(\theta)} \end{equation} \]

現在我們在logistic回歸中要最大化的那個參數是一個向量。因此牛頓法推廣到高維情形(又叫Newton-Raphson法),就有,

\[\begin{equation} \theta :=\theta-H^{-1} \nabla_{\theta} \ell(\theta) \end{equation} \]

其中,函數 $\ell(\theta) $ 的Hessian矩陣$ H$ 的$ (i,j)$ 元素 定義為,

\[\begin{equation} H_{i j}=\frac{\partial^{2} \ell(\theta)}{\partial \theta_{i} \partial \theta_{j}} \end{equation} \]

牛頓法迭代較少輪數下就能很快收斂,但在每一輪牛頓法一般要比梯度下降法的代價要高得多,因為他要涉及到求階數為特征個數的矩陣逆(特征個數少時,還是很快的)。世上安得兩全法。

剛用牛頓法來求logistic對數似然函數最大值點,相應的方法就叫費希爾得分(Fisher scoring.)。

img


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM