邏輯回歸模型預估的是樣本屬於某個分類的概率,其損失函數(Cost Function)可以像線型回歸那樣,以均方差來表示;也可以用對數、概率等方法。損失函數本質上是衡量”模型預估值“到“實際值”的距離,選取好的“距離”單位,可以讓模型更加准確。
1. 均方差距離
\[{J_{sqrt}}\left( w \right) = {\sum\limits_{i = 1}^m {{y_i}\left( {1 - p\left( {{x_i};w} \right)} \right)} ^2} + \left( {1 - {y_i}} \right){\left( {0 - p\left( {{x_i};w} \right)} \right)^2}{\rm{ (1)}}\]
用均方差作為損失函數,當模型完全預估錯誤時(y=1, p=0; 或y=0, p=1),損失是1。預估正確時,損失是0。錯誤值離正確值的“距離”相對較小,區分度不大。
另外,上面的損失函數相對\(\theta \)並非是凸函數,而是有很多極小值(local minimum)的函數。因此,很多凸優化的算法(如梯度下降)無法收斂到全局最優點。
2. log距離
均方差作為LR模型的距離衡量標准,最“預估錯誤”的懲罰太過柔和。因此,最后訓練出來的模型會出現較多的“極端”預估錯誤情況。另外,均方差損失函數的非凸性也限制了其使用價值。
log距離作為損失函數的公式如下:
\[{J_{\log }}\left( w \right) = \sum\limits_{i = 1}^m { - {y_i}Log\left( {p\left( {{x_i};w} \right)} \right) - (1 - {y_i})Log\left( {1 - p\left( {{x_i};w} \right)} \right)} {\rm{ (2)}}\]
式(2)與式(1)的區別如下圖所示:

3. 概率距離
LR模型預估的是概率,自然的,損失函數可以用聯合概率分布來衡量。
\[{J_{stat}}(w) = - \prod\limits_{i = 1}^m {{{\left( {p({x_i};w)} \right)}^{{y_i}}}{{\left( {1 - p({x_i};w)} \right)}^{1 - {y_i}}}} {\rm{ (3)}}\]
比較式(2)和式(3)可知:
\[{J_{\log }}\left( w \right) = Log\left( {{J_{stat}}(w)} \right){\rm{ (4)}}\]
由於log函數為單調遞增函數,log距離和概率距離本質上是一樣的,訓練得到的結果也應該一致。
