邏輯迴歸(Logistic Regression, LR)模型其實僅在線性迴歸的基礎上,套用了一個邏輯函數,但也就因爲這個邏輯函數,使得邏輯迴歸模型成爲了機器學習領域一顆耀眼的明星,更是計算廣告學的核心。本文主要詳述邏輯迴歸模型的基礎,至於邏輯迴歸模型的優化、邏輯迴歸與計算廣告學等,請關注後續文章。html
迴歸是一種極易理解的模型,就至關於y=f(x),代表自變量x與因變量y的關係。最多見問題有如醫生治病時的望、聞、問、切,以後斷定病人是否生病或生了什麼病,其中的望聞問切就是獲取自變量x,即特徵數據,判斷是否生病就至關於獲取因變量y,即預測分類。機器學習
最簡單的迴歸是線性迴歸,在此借用Andrew NG的講義,有如圖1.a所示,X爲數據點——腫瘤的大小,Y爲觀測值——是不是惡性腫瘤。經過構建線性迴歸模型,如hθ(x)所示,構建線性迴歸模型後,便可以根據腫瘤大小,預測是否爲惡性腫瘤hθ(x)≥.05爲惡性,hθ(x)<0.5爲良性。函數
圖1 線性迴歸示例學習
然而線性迴歸的魯棒性不好,例如在圖1.b的數據集上創建迴歸,因最右邊噪點的存在,使迴歸模型在訓練集上表現都不好。這主要是因爲線性迴歸在整個實數域內敏感度一致,而分類範圍,須要在[0,1]。邏輯迴歸就是一種減少預測範圍,將預測值限定爲[0,1]間的一種迴歸模型,其迴歸方程與迴歸曲線如圖2所示。邏輯曲線在z=0時,十分敏感,在z>>0或z<<0處,都不敏感,將預測值限定爲(0,1)。優化
邏輯迴歸其實僅爲在線性迴歸的基礎上,套用了一個邏輯函數,但也就因爲這個邏輯函數,邏輯迴歸成爲了機器學習領域一顆耀眼的明星,更是計算廣告學的核心。對於多元邏輯迴歸,可用以下公式似合分類,其中公式(4)的變換,將在邏輯迴歸模型參數估計時,化簡公式帶來不少益處,y={0,1}爲分類結果。 htm
對於訓練數據集,特徵數據x={x1, x2, … , xm}和對應的分類數據y={y1, y2, … , ym}。構建邏輯迴歸模型f(θ),最典型的構建方法即是應用極大似然估計。首先,對於單個樣本,其後驗機率爲:blog
由第1節可知,求邏輯迴歸模型f(θ),等價於:
對於LR分類模型的評估,經常使用AUC來評估,關於AUC的更多定義與介紹,可見參考文獻2,在此只介紹一種極簡單的計算與理解方法。
對於下圖的分類:
對於訓練集的分類,訓練方法1和訓練方法2分類正確率都爲80%,但明顯能夠感受到訓練方法1要比訓練方法2好。由於訓練方法1中,5和6兩數據分類錯誤,但這兩個數據位於分類面附近,而訓練方法2中,將10和1兩個數據分類錯誤,但這兩個數據均離分類面較遠。
AUC正是衡量分類正確度的方法,將訓練集中的label看兩類{0,1}的分類問題,分類目標是將預測結果儘可能將二者分開。將每一個0和1當作一個pair關係,團中的訓練集共有5*5=25個pair關係,只有將全部pair關係一至時,分類結果纔是最好的,而auc爲1。在訓練方法1中,與10相關的pair關係徹底正確,一樣九、八、7的pair關係也徹底正確,但對於6,其pair關係(6,5)關係錯誤,而與四、三、二、1的關係正確,故其auc爲(25-1)/25=0.96;對於分類方法2,其六、七、八、9的pair關係,均有一個錯誤,即(6,1)、(7,1)、(8,1)、(9,1),對於數據點10,其正任何數據點的pair關係,都錯誤,即(10,1)、(10,2)、(10,3)、(10,4)、(10,5),故方法2的auc爲(25-4-5)/25=0.64,於是正如直觀所見,分類方法1要優於分類方法2。
附演算手稿以下:
參考文獻:
1 Andrew NG. Logistic Regression Classification
2 http://www.cnblogs.com/guolei/archive/2013/05/23/3095747.html
----