1. 程式人生 > >Logistic迴歸:牛頓迭代法

Logistic迴歸:牛頓迭代法

Logistic迴歸與牛頓迭代法

很早之前介紹過《無約束的最優方法》裡面介紹了梯度下降法和牛頓迭代法等優化演算法。

同時大家對於Logistic迴歸中的梯度下降法更為熟悉,而牛頓迭代法對數學要求更高,所以這裡介紹如何在Logistic迴歸問題中使用牛頓迭代法。

似然函式與代價函式

似然函式則是

L(ω)=Πmi=1[g(xi)]yi[1g(xi)]1yi

然後我們的目標是求出使這一似然函式的值最大的引數,最大似然估計就是求出引數.

對上式兩邊取log或者ln就可以得到熟悉的代價函數了。

lnL(ω)=i=1m[yiln(g(xi))+(1yi)(1g(xi))
]
=i=1m(yi·lnexiexi+1+(1yi)·ln1exi+1)=i=1m(xiyiln(1+exi))

其中xi=ω0+ω1xi1+ω2xi2+...+ωnxin。現在求向量ω=(ω0,ω1,ω2,...,ωn)使得L(ω)

偏導函式為

ln(L(ω))ωk=i=1mxik[yig(xi)]

這是一個多元函式,變元就是ω0ωn,在之前的文章中有如何用牛頓迭代法求解多元函式的極值。

Hessian矩陣

極值點的導數一定為零,所以我們可以列出n+1個方程,聯立解出所有的引數ω0ωn

首先,用Hessian矩陣判斷極值的存在性,方程組如下:

ln(L(ω
))
ω0
=i=1mxi0[yig(xi)]=0

ln(L(ω))ω1=i=1mxi1[yig(xi)]=0
ln(L(ω))ω2=i=1mxi2[yig(xi