1. 程式人生 > >邏輯迴歸模型(Logistic Regression, LR)基礎

邏輯迴歸模型(Logistic Regression, LR)基礎

邏輯迴歸(Logistic Regression, LR)模型其實僅線上性迴歸的基礎上,套用了一個邏輯函式,但也就由於這個邏輯函式,使得邏輯迴歸模型成為了機器學習領域一顆耀眼的明星,更是計算廣告學的核心。本文主要詳述邏輯迴歸模型的基礎,至於邏輯迴歸模型的優化、邏輯迴歸與計算廣告學等,請關注後續文章。

1 邏輯迴歸模型

    迴歸是一種極易理解的模型,就相當於y=f(x),表明自變數x與因變數y的關係。最常見問題有如醫生治病時的望、聞、問、切,之後判定病人是否生病或生了什麼病,其中的望聞問切就是獲取自變數x,即特徵資料,判斷是否生病就相當於獲取因變數y,即預測分類。

    最簡單的迴歸是線性迴歸,在此借用Andrew NG的講義,有如圖1.a所示,X為資料點——腫瘤的大小,Y為觀測值——是否是惡性腫瘤。通過構建線性迴歸模型,如h θ

(x)所示,構建線性迴歸模型後,即可以根據腫瘤大小,預測是否為惡性腫瘤h θ (x)≥.05為惡性,h θ (x)<0.5為良性。

clip_image002

    然而線性迴歸的魯棒性很差,例如在圖1.b的資料集上建立迴歸,因最右邊噪點的存在,使迴歸模型在訓練集上表現都很差。這主要是由於線性迴歸在整個實數域內敏感度一致,而分類範圍,需要在[0,1]。邏輯迴歸就是一種減小預測範圍,將預測值限定為[0,1]間的一種迴歸模型,其迴歸方程與迴歸曲線如圖2所示。邏輯曲線在z=0時,十分敏感,在z>>0或z<<0處,都不敏感,將預測值限定為(0,1)。

clip_image004 圖2 邏輯方程與邏輯曲線

    邏輯迴歸其實僅為線上性迴歸的基礎上,套用了一個邏輯函式,但也就由於這個邏輯函式,邏輯迴歸成為了機器學習領域一顆耀眼的明星,更是計算廣告學的核心。對於多元邏輯迴歸,可用如下公式似合分類,其中公式(4)的變換,將在邏輯迴歸模型引數估計時,化簡公式帶來很多益處,y={0,1}為分類結果。 clip_image006

    對於訓練資料集,特徵資料x={x 1 , x 2 , … , x m }和對應的分類資料y={y 1 , y 2 , … , y m }。構建邏輯迴歸模型f(θ),最典型的構建方法便是應用極大似然估計。首先,對於單個樣本,其後驗概率為:

clip_image008     那麼,極大似然函式為:

clip_image010     log似然是:

clip_image012

2 梯度下降

    由第1節可知,求邏輯迴歸模型f(θ),等價於:

clip_image014     採用梯度下降法:

clip_image016     從而迭代θ至收斂即可:

clip_image018

3 模型評估

    對於LR分類模型的評估,常用AUC來評估,關於AUC的更多定義與介紹,可見參考文獻2,在此只介紹一種極簡單的計算與理解方法。

clip_image020     對於訓練集的分類,訓練方法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關係完全正確,同樣9、8、7的pair關係也完全正確,但對於6,其pair關係(6,5)關係錯誤,而與4、3、2、1的關係正確,故其auc為(25-1)/25=0.96;對於分類方法2,其6、7、8、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