讀古今文學網 > 機器學習實戰 > 5.1 基於Logistic回歸和Sigmoid函數的分類 >

5.1 基於Logistic回歸和Sigmoid函數的分類

Logistic回歸

優點:計算代價不高,易於理解和實現。 缺點:容易欠擬合,分類精度可能不高。 適用數據類型:數值型和標稱型數據。

我們想要的函數應該是,能接受所有的輸入然後預測出類別。例如,在兩個類的情況下,上述函數輸出0或1。或許讀者之前接觸過具有這種性質的函數,該函數稱為海維塞德階躍函數(Heaviside step function),或者直接稱為單位階躍函數。然而,海維塞德階躍函數的問題在於:該函數在跳躍點上從0瞬間跳躍到1,這個瞬間跳躍過程有時很難處理。幸好,另一個函數也有類似的性質1,且數學上更易處理,這就是Sigmoid函數2。Sigmoid函數具體的計算公式如下:

1. 這裡指的是可以輸出0或者1的這種性質。——譯者注

2. Sigmoid函數是一種階躍函數(step function)。在數學中,如果實數域上的某個函數可以用半開區間上的指示函數的有限次線性組合來表示,那麼這個函數就是階躍函數。而數學中指示函數(indicator function)是定義在某集合X上的函數,表示其中有哪些元素屬於某一子集A。——譯者注

圖5-1給出了Sigmoid函數在不同坐標尺度下的兩條曲線圖。當x為0時,Sigmoid函數值為0.5。隨著x的增大,對應的Sigmoid值將逼近於1;而隨著x的減小,Sigmoid值將逼近於0。如果橫坐標刻度足夠大(圖5-1下圖),Sigmoid函數將看起來很像一個階躍函數。

圖5-1 兩種坐標尺度下的Sigmoid函數圖。上圖的橫坐標為-5到5,這時的曲線變化較為平滑;下圖橫坐標的尺度足夠大,可以看到,在x = 0點處Sigmoid函數看起來很像階躍函數

因此,為了實現Logistic回歸分類器,我們可以在每個特徵上乘以一個回歸係數,然後把所有的結果值相加,將這個總和代入Sigmoid函數中,進而得到一個範圍在0~1之間的數值。最後,結果大於0.5的數據被歸入1類,小於0.5的即被歸入0類。所以,Logistic回歸也可以被看成是一種概率估計。

確定了分類器的函數形式之後,現在的問題變成了:最佳回歸係數3是多少? 如何確定它們的大小?這些問題將在下一節解答。

3. 將這裡的weight 翻譯為「回歸係數」,是為了與後面的局部加權線性回歸中的「權重」一詞區分開來,在不會引起混淆的時候也會簡稱為「係數」——譯者注