[機器學習首部曲] 邏輯斯迴歸模型 Logistic Regression

邏輯斯迴歸是處理二元分類常用的一種方式,屬於線性分類器的一種,被廣泛應用於各個領域。比方說,股票會不會上漲? 客戶會不會違約? 考試會不會通過? 傳染病會不會擴散? 這些Yes/No的二元問題,正是Logistic Regression有機會大顯身手的議題! 本單元,我們將簡單介紹邏輯斯迴歸模型,以及模型背後的基本原理。

什麼Logistic Regression?

在線性迴歸單元,我們直接用特徵對目標建立迴歸方程式。在邏輯斯迴歸中,我們則是改對勝算比(Odds Ratio)取對數建立回歸方程式。

$$logit(Odds)=\ln (\frac{p}{1-p}) = w_0+w_1X$$

$$where \ \ Odds=\frac{p}{1-p}$$

其中,在方程式的右邊,除了簡單線性回歸外,亦可依需求改為我們在線性迴歸單元分享的多項式迴歸或多元迴歸等等。此外, 我們在線性迴歸單元分享的Ridge Regression與Lasso Regression在這邊也都一樣適用噢!

Logistic Regression 背後原理

在邏輯斯迴歸模型中,還有很重要的一點就是要經過Sigmoid函數的轉換,主要的目的就是要讓最後的結果介於0與1之間,畢竟大家都知道機率是不可能小於0,更不可能大於100%啊!

Sigmoid Function:

$$S(X)=\frac{1}{1+e^{-X}}$$

在這裡,我們只要把上個部分算出來以logit(Odds)建構的回歸,對每個原始變數X得到的預測值放入上式Sigmoid函數中變數X的部分,就可以得到每個預測值相對應的值囉! 而在上圖中,我們也可以很清楚的看到,這些值很明顯地介於0與1之間,縱軸就代表著機率! 透過這個函數,我們就可以很精準地將事件發生大於50%的預測為1,並將事件發生機率小於50%的機率預測為0,Logistic Regression就是這麼運作的!

另外,仔細看到上圖中,Sigmoid函數除了是嚴格遞增函數外,中間的斜率更是非常的大,主要目的就是要讓這些事件經轉換後的機率愈趨近於0%或100%,有效達成二元分類。因此,在Logistic Regression Model中,除了用Sigmoid函數進行轉換,Arctan(X)調整後也是常見的一種轉換函數,其他只要各式各樣的函數只要滿足遞增、介於0與1之間,中間斜率盡量大等條件,也都可以成為Logistic Regression Model當中的轉換函數唷! 至於效果會如何,就有待驗證囉!

綜合以上,簡單來說邏輯斯迴歸分類器就是對Odds取對數後做線性迴歸,再經由Sigmoid函數的轉換將機率固定在0與1之間,並且因為函數嚴格遞增且中間斜率特別大之特性,有效將樣本事件的對應機率區分類在趨近0或趨近1的位置以達到二元分類的目的。另外,雖然說邏輯斯迴歸主要為二元分類器,但結合多個二元分類的邏輯斯迴歸模型後,同樣也可以達到多元分類的目標噢!

本單元我們認識了邏輯斯迴歸模型,下個單元,我們將一起用Python實作邏輯斯迴歸分類器! 更多內容,歡迎參考影片唷!

Reference

•Russell & Norving
•Logistic function and arcus tangent, Piotr DniestrzaĔski

Share

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *