問題:線性回歸中,當我們有m個樣本的時候,我們用的是損失函數是
但是,到了邏輯回歸中,損失函數一下子變成![J_{(\theta)} = -\frac{1}{m}\sum_{i=1}^m[y^{(i)}log(h_{\theta}(x^{(i)})) + (1-y^{(i)})log(1-h_{\theta}(x^{(i)}))]](/image/aHR0cHM6Ly9tYXRoLmppYW5zaHUuY29tL21hdGg_Zm9ybXVsYT1KXyU3QiglNUN0aGV0YSklN0QlMjAlM0QlMjAtJTVDZnJhYyU3QjElN0QlN0JtJTdEJTVDc3VtXyU3QmklM0QxJTdEJTVFbSU1QnklNUUlN0IoaSklN0Rsb2coaF8lN0IlNUN0aGV0YSU3RCh4JTVFJTdCKGkpJTdEKSklMjAlMkIlMjAoMS15JTVFJTdCKGkpJTdEKWxvZygxLWhfJTdCJTVDdGhldGElN0QoeCU1RSU3QihpKSU3RCkpJTVE.png)
那么,邏輯回歸的損失函數為什么是這個呢?
本文目錄
1. 前置數學知識:最大似然估計
1.1 似然函數
1.2 最大似然估計
2. 邏輯回歸損失函數理解
2.1 邏輯回歸前置知識
2.2 理解方式1(ML課程的講解方式)
2.3 理解方式2
1. 前置數學知識:最大似然估計
1.1 似然函數
若總體
屬離散型,其分布律
,
的形式已知,
為待估參數,
是
的可能取值范圍。設
是來自
的樣本,則
的聯合概率分布為
設
是相應於樣本
的一個樣本值。則樣本
取到觀察值
的概率,也就是事件
發生的概率為
稱為樣本的似然函數,它是
的函數。(注意:這里
是已知的樣本值,都是常數)
1.2 最大似然估計
關於最大似然估計,我們可以有以下的直觀想法:
現在已經去到樣本值
了,這表明取到這一樣本值的概率
比較大,而取到其他樣本值概率比較小。由費希爾(R.A.Fisher)引進的最大似然估計,就是固定樣本觀察值
,在
取值的可能范圍
內挑選使似然函數
達到最大的參數值
使
這樣得到的
與樣本值
有關,常記為
,稱為參數
的最大似然估計值,相應的統計量
稱為參數
的最大似然估計量。
確定最大似然估計量的問題,就可以歸結為求最大值的問題了。一般的求最大似然估計,都是轉化為對數形式的似然函數來進行求解。
似然函數:
對數形式的似然函數(這里是自然對數,底數為e)
簡單總結:
上面的數學知識說的通俗一點,就是通過樣本來預測總體的分布,怎么來預測呢?
讓總體分布盡量與樣本的分布趨同,就是總體的分布與樣本分布具有最大的相似性,然后再來求取分布中的參數
。
2. 邏輯回歸損失函數理解
2.1 邏輯回歸前置知識
回歸:輸出的是連續數據,目的是找到最優的擬合。(例如:預測氣溫)
分類:輸出的是離散數據,目的是找到決策邊界。(例如:預測硬幣正反)
邏輯回歸是用來解決分類問題的,這里有一個前提假設,就是樣本服從0-1分布,也就是伯努利分布n=1的情況。
0-1分布的分布律為:
| X(隨機變量) | 0 | 1 |
|---|---|---|
| P(概率) | 1-p | p |
下面介紹一下sigmoid函數如下:
這個函數的輸出結果是一種概率,介於0到1之間。
2.2 理解方式1(ML課程的講解方式)
邏輯回歸中sigmoid函數為
(其中
)
可以用sigmoid函數表示0-1中取1的概率。所以我們的損失函數可以定義為

當我們把損失函數與0-1分布的分布律對應起來的時候,
,損失函數就是在0-1分布的基礎上取對數然后再取負數。這也好理解,損失函數的要求就是預測結果與真實結果越相近,函數值越小,所以會在前面加上負號。當y=0時,1-p的概率會比較大,在前面加上負號,Cost值就會很小;當y=1時,p的概率會比較大,在前面加上負號,Cost值就會很小。至於取對數,就是跟最大似然函數有關系,取對數不影響原本函數的單調性,而且會放大概率之間的差異,更好的區分各個樣本的類別。
把上面損失函數寫成統一的形式:![J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))]](/image/aHR0cHM6Ly9tYXRoLmppYW5zaHUuY29tL21hdGg_Zm9ybXVsYT1KKCU1Q3RoZXRhKSUzRC0lNUNmcmFjJTdCMSU3RCU3Qm0lN0QlNUNzdW1fJTdCaSUzRDElN0QlNUVtJTVCeSU1RSU3QihpKSU3RGxvZ2hfJTdCJTVDdGhldGElN0QoeCU1RSU3QihpKSU3RCklMkIoMS15JTVFJTdCKGkpJTdEKWxvZygxLWhfJTdCJTVDdGhldGElN0QoeCU1RSU3QihpKSU3RCkpJTVE.png)
好了,至此,我們得到了邏輯回歸的損失函數。雖然大家都是這么講的,但是,總是感覺沒有太懂為什么最后得到了這個損失函數。如果想從數學的角度推導,可以繼續往下看。
2.3 理解方式2
對於0-1分布的似然函數
0-1分布的分布律為
當
是來自於樣本
的一個樣本值,X的分布律為
它的似然函數為
似然函數的對數形式為
對於邏輯回歸的似然函數
邏輯回歸中sigmoid函數為
,可以用sigmoid函數表示0-1中取1的概率,在這里用於表示邏輯回歸中的概率。邏輯回歸中的樣本值為
,樣本中的
是用來求概率
的,
是樣本的真實值,也就是真實類別。在機器學習中,習慣稱
為特征值,
為標簽。
對應於0-1分布中的概率
,
對應於0-1分布中的
,也就是樣本值。這樣我們就把邏輯回歸和0-1分布對應起來了。我們用邏輯回歸來作為分類模型,需要用最大似然估計的方法來評判模型的好壞。讓總體分布盡量與樣本的分布趨同,就是總體的分布與樣本分布具有最大的相似性,然后再來求取模型中的參數
,這樣就可以得到比較符合最大似然估計的模型。這個模型其實就是
。
根據0-1分布的似然函數,我們可以寫出邏輯回歸的似然函數
對數形式為
邏輯回歸的損失函數為![J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))]](/image/aHR0cHM6Ly9tYXRoLmppYW5zaHUuY29tL21hdGg_Zm9ybXVsYT1KKCU1Q3RoZXRhKSUzRC0lNUNmcmFjJTdCMSU3RCU3Qm0lN0QlNUNzdW1fJTdCaSUzRDElN0QlNUVtJTVCeSU1RSU3QihpKSU3RGxvZ2hfJTdCJTVDdGhldGElN0QoeCU1RSU3QihpKSU3RCklMkIoMS15JTVFJTdCKGkpJTdEKWxvZygxLWhfJTdCJTVDdGhldGElN0QoeCU1RSU3QihpKSU3RCkpJTVE.png)

損失函數跟對數形式的似然函數很像,只是在前面乘以
。最大似然估計的方法要求
的最大值,損失函數在其前面加上負號,就是求最小值,這個跟損失函數的特性剛好吻合。1/m是用來對m個樣本值的損失函數值取平均,不會影響函數功能。
因此,邏輯回歸的損失函數求最小值,就是根據最大似然估計的方法來的。
作者:PhoenixShine
鏈接:https://www.jianshu.com/p/b6bb6c035d8c
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
