sklearn(scikit-learn) logistic regression loss(cost) function(sklearn中邏輯迴歸的損失函數)

想必大家都記得的邏輯迴歸中我們最大化的對數似然函數(可以看作損失函數的負函數)的樣子大概長成下面兩種形式:
1.
2. LLH
其中各符號用的比較亂具體的含義這裏不再詳述,大家看過邏輯迴歸應該都知道。
但是在 sklearn 官網給出的損失函數確實這樣:
3.這裏寫圖片描述
網址如下http://scikit-learn.org/stable/modules/linear_model.html#logistic-regression,忽略第一項正則項,第二項和我們以前的認知怎麼不一樣!!如果 y=0 的話,那這項的損失函數就是常數跟參數w完全沒有關係了,也就是說損失函數不受標籤爲 0 的樣本的影響,這很不合理啊!讓我一度感覺非常鬱悶。


最終經過多方查找,找到了答案。因爲在 sklearn 上標籤 y 的取值爲{-1,1}(官網完全沒有提),就是這麼簡單就問你怕不怕。這樣我們可以推導出兩者其實是一會事。
首先,明顯的一點是1式和2式中 y=0 的值和3式 y=-1的損失是差一個負號的;
其次 ,1式和2式中 y=1 的值和3式 y=1的損失也是差一個負號的。推導如下:
這裏寫圖片描述
因爲需要最大化的對數似然和此處的損失函數正好相反,所以最終兩者的損失是一致的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章