- 邏輯回歸:問題只有兩項,即{0, 1}。一般而言,回歸問題是連續模型,不用在分類問題上,且噪聲較大,但如果非要引入,那么采用邏輯回歸模型。
對於一般訓練集:
參數系統為:
邏輯回歸模型為:
(sigmoid函數)
- 參數求解
對於邏輯回歸用來分類{0, 1}問題,假設滿足伯努利模型:
可以將上式寫為一般形式為:
為了得到參數θ,求最大似然估計[2],可以得到:
為了簡化問題,采用ln函數,即對數似然,可以得到:
這里為了最大似然估計使參數最大化,有兩種方法求解:
- 采用梯度上升的方法(與梯度下降類似,不過減號變為加號),即:
(批量梯度上升)
對於每一個θj,可以得到:
(隨機梯度上升)
根據l(θ),有:
所以:
- 采用牛頓的方法
上圖目標是找到f(θ)=0,所以用一個迭代的方法,從上圖可以看出:
最終找到θ使得f(θ)=0。采用最大似然估計使參數最大,實際上就是找到θ使得l'(θ)=0。那么可以將上式改寫為:
擴展到θ,有:
其中,H是Hession矩陣,
牛頓法是二次收斂,假設第一次迭代精度為0.01error,那么第二次0.001,第三次為0.00001。收斂速度明顯高於梯度下降。可是每次需要求一次H矩陣的逆,代價很高。
求最大值時,用,求最小值時實際上也是
,原因個人認為無論時求最大或者最小值都是使得l'(θ)=0,並沒有本質變化。
- 說明:
一件事情的幾率可以定義為:
其中,p為改事件發生的概率。那么對數幾率logit可以定義為:
所以,對於logistic回歸是對數線性回歸。
- sigmoid函數推導
如果滿足對數線性,則有
也就是說,sigmoid函數輸出的值可以認為是為1類別的概率。
- logistic回歸的損失函數
由於對數似然(logarithm likelihood, LL)是要取最大值,損失函數要求最小,所以對對數似然函數求相反數,即:
上式是建立在,
情況下的。
如果,
,那么似然函數可以定義為:
其中指數部分還要滿足[0,1]的范圍內。那么損失函數(負對數似然函數) 可以寫為:
[1]網易公開課——斯坦福大學機器學習
[2] http://blog.csdn.net/yanqingan/article/details/6125812
**轉載請注明出處!