邏輯回歸(Logistic Regression)是一種非常流行的演算法,它簡單且有較強的可解釋性,今天就讓我們一起來學習邏輯回歸的原理。
首先需要搞懂邏輯回歸與線性回歸(Linear Regression)的區別,雖然二者都帶有「回歸」二字,但是用來解決不同的問題。線性回歸解決「回歸」問題,用一條直線來擬合所有的點,例如探究某超市的銷售額與小區常住人口數的關係;而邏輯回歸則解決「分類」問題,例如可預測一封郵件是否為垃圾郵件,預測客戶是否會發生債務違約等。
邏輯回歸演算法分三步進行,首先,我們需要確定一個預測函數,即預測出一個值來判斷歸屬哪一類,可定義預測值大於某個閾值判斷為一類,反之為另一類;第二步,為了計算參數,我們需要定義一個損失函數,損失函數用來衡量真實值和預測值之間的差異,這個差值越小說明預測效果越好;第三步,用梯度下降法計算參數,使損失函數不斷減小,得出參數後,帶入預測函數就可以來進行預測了。下面,我們將對每一步做詳細解釋。
一、尋找預測函數h(x)1. 預測函數的形式
線性回歸的預測函數是一條直線,那麼邏輯回歸的預測函數能否也用一條直線呢?我們假設要預測一個客戶是否會發生債務違約,客戶的很多特徵與因變數相關,以收入為例,通常來講客戶的收入水平越高,其發生債務違約的可能性越低。假如預測函數是線性的,找一條直線擬合所有點如圖中的紅線所示,通過設定一個閾值(假設0.5),可以較好地將兩類客戶分開,若客戶的收入水平大於m,預測函數預測出的結果大於0.5,則判定客戶不會違約;若客戶的收入水平小於m,預測值小於0.5,則判定會違約,這樣的分類效果令人滿意。