對數損失函數是如何度量損失的?

對於損失函數,像用平方損失函數 L(Y, f(X)) = (Y - f(X))^2或者絕對值損失函數都十分直觀,但是對數損失函數 L(Y, P(Y|X)) = -log P(Y|X)是如何來度量損失的呢?


對數損失是用於最大似然估計的。

一組參數在一堆數據下的似然值,等於每一條數據的概率之積。

而損失函數一般是每條數據的損失之和,為了把積變為和,就取了對數

再加個負號是為了讓最大似然值和最小損失對應起來。


說到log損失,情不自禁地讓我想到了邏輯回歸的推導。

有些人可能覺得邏輯回歸的損失函數就是平方損失,其實並不是。平方損失函數是線性回歸在假設樣本是高斯分布的條件下推導得到的(為什麼假設成高斯分布呢?其實這裡隱藏了一個小知識點,就是中心極限定理,可以參考【Central limit theorem】,而邏輯回歸得到的並不是平方損失。在邏輯回歸的推導中,它假設樣本服從伯努利分布(0-1分布),然後求得滿足該分布的似然函數,接著取對數等等。邏輯回歸併沒有極大化似然函數求極值,而是把極大化當做是一種思想,進而推導出它的經驗風險函數為:最小化負的似然函數(即max F(y, f(x)) ---&> min -F(y, f(x)))。從損失函數的視角來看,它就成了log損失函數了。

log損失函數的標準形式

L(Y,P(Y|X)) = -log P(Y|X)

剛剛說到,對數是用來做極大似然估計的,圖的是計算方便,因為在MLE中,直接求導比較困難,所以通常都是先取對數再求導找極值點。損失函數L(Y, P(Y|X))表達的是樣本X在分類Y的情況下,使概率P(Y|X)達到最大值(換言之,就是利用已知的樣本分布,找到最有可能導致這種分布的參數值;或者說什麼樣的參數才能使我們觀測到目前這組數據的概率最大)。而log是單調遞增函數,所以logP(Y|X)也會達到最大值,因此前面加符號之後,最大化P(Y|X)就等同於最小化L。

邏輯回歸的P(Y=y|x)表達式如下(為了將類別標籤y統一為1和0,下面將表達式分開表示):

P(Y=y|x) = left{egin{matrix}
h_	heta(x) = g(f(x)) = frac{1}{1 + exp{-f(x)} } ,y=1\ 
1 - h_	heta(x) = 1 - g(f(x)) = frac{1}{1 + exp{f(x)} }  ,y=0
end{matrix}
ight.

將它帶入到上式,通過推導可以得到logistic的損失函數表達式,如下:

L(y,P(Y=y|x)) = left{egin{matrix}
 log (1+exp{-f(x)})  ,y=1\ 
 log (1+exp{ f(x)})   ,y=0\ 
end{matrix}
ight.

邏輯回歸最後得到的目標式子如下:

J(	heta) = - frac{1}{m}left [ sum_{i=1}^m y^{(i)} log h_{	heta}(x^{(i)}) + (1-y^{(i)}) log(1-h_{	heta}(x^{(i)})) 
ight ]

值得說明的是:之所以有人認為邏輯回歸是平方損失,是因為在使用梯度下降來求最優解的時候,它的迭代式子與平方損失求導後的式子非常相似,從而給人一種錯覺了

以上內容純個人理解,如有紕漏,還望大家指正!


L(Y, P(Y|X))這個對數損失函數的意思是指分類為Y的情況下,使P(Y|X)達到最大。你要想一下,有一些模型是用最大概率的分類來做預測的,而Y是代表分類為正確的分類,而P(Y|X)則是代表正確分類的概率,那對數取反是不是P(Y|X)越大,損失函數就越小?


這裡用了似然的思想在裡面!P(Y/X)表示當前模型下樣本X得到Y的概率,一定意義上也是樣本和目標值的接近程度。用到損失函數上,取個反!這個概率越大,樣本和目標值越接近,損失越小,反之亦然!


問題中提到的對數損失函數的形式,在李航的《統計學習方法》第一章中見到過.

我們可以從損失的本質去回答這個問題. 損失是真實模型與假設模型之間差異的度量. 這裡的模型有可能是直接用於回歸或分類的函數模型,也就是說學出來的函數可以直接用來做回歸或分類任務(分類任務需要另外套上一個符號函數), 也有可能是一個條件概率分布模型(做回歸與分類任務均可, 關鍵在於假定分布的形式).

平方損失函數之所以直觀,是因為它直接度量了真實回歸模型與假設回歸模型之間的差異; 而對數損失則是度量了真實條件概率分布與假定條件概率分布之間的差異, 而這裡的差異度量用的是KL散度.

這個問題其實延伸出來,會牽扯到概率模型與非概率模型的問題. 非概率模型的學習通過預先選定損失函數如平方損失,hinge損失,指數損失等0-1損失的替代品,然後通過最小化平均損失的形式來學習函數模型; 而概率模型的學習則是預先選定條件分布的形式,然後通過最小化某種概率分布距離的形式來學習分布模型.


針對rank 1 的解答,有一點不太贊同的地方,他說LR的推導過程中假設樣本服從伯努利分布,但是:不是說當二項分布的N充分大,並且p 不接近1或0,那麼該二項分布就接近高斯分布,這樣的話,基本也符合高斯分布了。 如果使用MSE作Loss會導致損失函數非凸。還請牛人指正。參考:邏輯回歸 - - 博客頻道 - CSDN.NET


推薦閱讀:

樣本標準差的意義是什麼?
協方差的意義?
假如天朝的獨生子女政策改為「首胎為女可生第二胎,首為男則不可」,我國現在的男女比例將會有什麼變化?
已知平均值、標準差、數據總數,如何求這組數據的最大值和最小值?
如何理解結構方程模型?

TAG:機器學習 | 統計 |