1. logistic回歸的基本思想
logistic回歸是一種分類方法,用於兩分類問題。其基本思想為:
a. 尋找合適的假設函數,即分類函數,用以預測輸入數據的判斷結果;
b. 構造代價函數,即損失函數,用以表示預測的輸出結果與訓練數據的實際類別之間的偏差;
c. 最小化代價函數,從而獲取最優的模型參數。
2. 邏輯回歸的過程
邏輯函數(sigmoid函數):

該函數的圖像:

假設函數(分類函數):


判定邊界:
線性邊界和非線性邊界如下:

圖1 線性邊界 圖2 非線性邊界
線性邊界的邊界形式:
![]()
非線性邊界的邊界形式可表示為:![]()
hθ(x)函數的值表示結果取1的概率,因此對於輸入x分類結果為類別1和類別0的概率分別為:
(概率公式)
代價函數為:
![]()
其中:
,
等價於:
![]()
代入得到代價函數:
![]()
這樣構建的 Cost(hθ(x),y)函數的特點是:當實際的 y=1 且 hθ 也為 1 時誤差為 0,當 y=1 但 hθ 不為 1 時誤差隨着 hθ 的變小而變大;當實際的 y=0 且 hθ 也為 0 時代價為 0,當 y=0且hθ 不為 0 時誤差隨着 hθ 的變大而變大。
實際上,Cost函數和J(θ)函數是基於最大似然估計推導得到的。
前面的概率公式可簡化為:
![]()
對應的似然函數為:

對數似然函數為:

最大似然估計就是要求得使l(θ)取最大值時的θ,其實這里可以使用梯度上升法求解,求得的θ就是要求的最佳參數。
前面提到的代價函數即可表示為: ![]()
梯度下降法求J(θ)的最小值
使用梯度下降法求J(θ)的最小值,θ的更新過程:
![]()
其中:α學習步長。
求偏導:

更新過程可改寫為:
![]()
α為一常量,所以1/m一般將省略,所以最終的θ更新過程為:
![]()
求解過程中用到如下的公式:

梯度下降算法的向量化解法:
訓練數據的矩陣形式表示如下,其中x的每一行為一條訓練樣本。

參數θ的矩陣形式為:

計算x.θ(點乘)並記為A:

求hθ(x)-y並記為E:

g(A)的參數A為一列向量,所以實現g函數時要支持列向量作為參數,並返回列向量。由上式可知hθ(x)-y可以由g(A)-y一次計算求得。
θ更新過程,當j=0時:

θj同理:
![]()
綜合起來:


綜上所述,vectorization后θ更新的步驟如下:
(1)求A=x.θ;
(2)求E=g(A)-y;
(3)求θ:=θ-α.x'.E,x'表示矩陣x的轉置。
也可以綜合起來寫成:
![]()
正則化邏輯回歸:
假設函數:
![]()
梯度下降法最小化該代價函數:

參考:
1. andrew ng機器學習視頻
2. http://blog.csdn.net/dongtingzhizi/article/details/15962797
