邏輯回歸(Logistic Regression,LR)是一種線性分類器,通過logistic函數,將特征映射成一個概率值,來判斷輸入數據的類別。如下圖,縱坐標就是概率。當概率大於0.5,判定為類別1,否則判定為類別0。
logistic函數的表達式如下,其中w是需要訓練的權值:
邏輯回歸的損失函數叫做交叉熵損失函數(cross-entropy loss),下面給出推導過程。
假設數據集符合泊松分布,即
其中概率p是根據logistic函數計算出來的:
假設有N個數據點\(x_1, x_2, ..., x_N\),他們為類別標簽分別為\(y_1, y_2, ..., y_N\)。假設各個數據點之間相互獨立,則根據最大似然估計有:
對等式兩邊取負對數,得到負對數函數為:
其中\(y_i\)代表數據真實的標簽,取值為0或1,\(p_i\)為數據為類別1的概率,取值范圍是0到1。負對數函數對N個樣本取平均,便得到交叉熵損失函數如下:
可以看到,當\(y_i=1\)時,\(p_i\)越接近1,損失函數越小;當\(y_i=0\)時,\(p_i\)越接近0,損失函數越小。因此,通過訓練,可以迫使\(p_i\)趨近於\(y_i\),從而正確分類。說邏輯回歸是線性分類器,這里的線性怎么理解呢?通過Logistic函數可以看到,決定概率值的是\(w^Tx\)的值。當\(w^Tx>0\)時,概率值大於0.5,類別為1;當\(w^Tx<0\)時,概率值小於0.5,類別為0。也就是說,\(w^Tx=0\)是兩類數據的分界面(分類超平面,如下圖)。這種用一個超平面將數據進行分類的,就是線性分類器。對應的,如果用一個曲面將數據進行分類,則是非線性分類器了。