注:本文若沒特殊聲明,所有截圖均來自cs229 Machine Learning Lecture notes 1
Logistic regression的hypotheses為
其中
被稱為logistic function或者sigmoid function。
由于 sigmoid 函數的輸出介于0~1之間,是以我們可以把它看成機率。令
則p(y|X;theta)的機率可寫成
則有log likelihood
對求和符号内的式子求導得
我們發現,最終得到的參數更新公式與linear regression的是一樣的:
從後續可知這并不是一個巧合。不過先來看看另一種求解方法,牛頓疊代法(Newton’s method)。
牛頓疊代法(Newton’s method)
我們知道,要求f(theta)=0,我們可以使用牛頓疊代法如下更新theta:
下圖能給出一個形象的例子:
類似地,若要求f’(theta)=0,可以使用
擴充到多元的情況,即對應
利用該式子求解模型的方法也叫,Newton-Raphson method。其中
定義的矩陣被稱為海森矩陣(Hessian matrix)。具體地對于上述似然函數,
from [3]
可以證明上述的海森矩陣是半負定的(negative semi-definite),即
from [3]
是以,logistic不存在局部最優解,是以可以使用Newton’s method,此時該算法有個專有的名字——IRLS。
過程如下(與上面稍微不同),令
from [2]
可以得到
from [2]
其中π = sigmoid(X)。令
from [2]
根據牛頓疊代法,有如下更新公式:
from [2]
對應的python代碼如下:
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