天天看點

廣義線性模型之logistic regression(二)

注:本文若沒特殊聲明,所有截圖均來自cs229 Machine Learning Lecture notes 1

Logistic regression的hypotheses為

廣義線性模型之logistic regression(二)

其中

廣義線性模型之logistic regression(二)

被稱為logistic function或者sigmoid function。

由于 sigmoid 函數的輸出介于0~1之間,是以我們可以把它看成機率。令

廣義線性模型之logistic regression(二)

則p(y|X;theta)的機率可寫成

廣義線性模型之logistic regression(二)

則有log likelihood

廣義線性模型之logistic regression(二)

對求和符号内的式子求導得

廣義線性模型之logistic regression(二)

我們發現,最終得到的參數更新公式與linear regression的是一樣的:

廣義線性模型之logistic regression(二)

從後續可知這并不是一個巧合。不過先來看看另一種求解方法,牛頓疊代法(Newton’s method)。

牛頓疊代法(Newton’s method)

我們知道,要求f(theta)=0,我們可以使用牛頓疊代法如下更新theta:

廣義線性模型之logistic regression(二)

下圖能給出一個形象的例子:

廣義線性模型之logistic regression(二)

類似地,若要求f’(theta)=0,可以使用

廣義線性模型之logistic regression(二)

擴充到多元的情況,即對應

廣義線性模型之logistic regression(二)

利用該式子求解模型的方法也叫,Newton-Raphson method。其中

廣義線性模型之logistic regression(二)

定義的矩陣被稱為海森矩陣(Hessian matrix)。具體地對于上述似然函數,

廣義線性模型之logistic regression(二)

 from [3]

可以證明上述的海森矩陣是半負定的(negative semi-definite),即

廣義線性模型之logistic regression(二)

from [3]

是以,logistic不存在局部最優解,是以可以使用Newton’s method,此時該算法有個專有的名字——IRLS。

過程如下(與上面稍微不同),令

廣義線性模型之logistic regression(二)

from [2]

可以得到

廣義線性模型之logistic regression(二)

 from [2]

其中π = sigmoid(X)。令

廣義線性模型之logistic regression(二)

 from [2]

根據牛頓疊代法,有如下更新公式:

廣義線性模型之logistic regression(二)

 from [2]

對應的python代碼如下:

廣義線性模型之logistic regression(二)

from [2]

參考文獻:

[1] cs229 Machine Learning Lecture notes 1: "Supervised Learning, Discriminative Algorithms"

[2] CPSC 540: Logistic regression, IRLS and importance sampling

[3] cs229  problem set 1

繼續閱讀