邏輯迴歸 損失函式

夜空中最亮的不咚發表於2018-04-10

機器學習分為有監督學習,無監督學習,半監督學習,強化學習。對於邏輯迴歸來說,就是一種典型的有監督學習。 

既然是有監督學習,訓練集自然可以用如下方式表述:

{(x1,y1),(x2,y2),⋯,(xm,ym)}

對於這m個訓練樣本,每個樣本本身有n維特徵。再加上一個偏置項x0, 則每個樣本包含n+1維特徵:

x=[x0,x1,x2,⋯,xn]T

其中 x∈Rn+1, x0=1, y∈{0,1}

李航博士在統計學習方法一書中給分類問題做了如下定義:
分類是監督學習的一個核心問題,在監督學習中,當輸出變數Y取有限個離散值時,預測問題便成為分類問題。這時,輸入變數X可以是離散的,也可以是連續的。監督學習從資料中學習一個分類模型或分類決策函式,稱為分類器(classifier)。分類器對新的輸入進行輸出的預測(prediction),稱為分類(classification).

在logistic迴歸詳解一(blog.csdn.net/bitcarmanle…)中,我們花了一整篇篇幅闡述了為什麼要使用logistic函式:

hθ(x)=g(θTx)=11+e−θTx

其中一個重要的原因,就是要將Hypothesis(NG課程裡的說法)的輸出對映到0與1之間,既:
0≤hθ(x)≤1

同樣是李航博士統計學習方法一書中,有以下描述:
統計學習方法都是由模型,策略,和演算法構成的,即統計學習方法由三要素構成,可以簡單表示為:

方法=模型+策略+演算法

對於logistic迴歸來說,模型自然就是logistic迴歸,策略最常用的方法是用一個損失函式(loss function)或代價函式(cost function)來度量預測錯誤程度,演算法則是求解過程,後期會詳細描述相關的優化演算法。

logistic函式求導

g′(z)=ddz11+e−z=1(1+e−z)2(e−z)=1(1+e−z)⋅(1−1(1+e−z))=g(z)(1−g(z))

此求導公式在後續推導中會使用到

常見的損失函式

機器學習或者統計機器學習常見的損失函式如下:

1.0-1損失函式 (0-1 loss function)

L(Y,f(X))={1,0,Y ≠ f(X)Y = f(X)

2.平方損失函式(quadratic loss function)

L(Y,f(X))=(Y−f(x))2

3.絕對值損失函式(absolute loss function)

L(Y,f(x))=|Y−f(X)|

4.對數損失函式(logarithmic loss function) 或對數似然損失函式(log-likehood loss function)

L(Y,P(Y|X))=−logP(Y|X)

邏輯迴歸中,採用的則是對數損失函式。如果損失函式越小,表示模型越好。

說說對數損失函式與平方損失函式

在邏輯迴歸的推導中國,我們假設樣本是服從伯努利分佈(0-1分佈)的,然後求得滿足該分佈的似然函式,最終求該似然函式的極大值。整體的思想就是求極大似然函式的思想。而取對數,只是為了方便我們的在求MLE(Maximum Likelihood Estimation)過程中採取的一種數學手段而已。

損失函式詳解

根據上面的內容,我們可以得到邏輯迴歸的對數似然損失函式cost function:

cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x))if y=1if y=0

稍微解釋下這個損失函式,或者說解釋下對數似然損失函式:
當y=1時,假定這個樣本為正類。如果此時hθ(x)=1,則單對這個樣本而言的cost=0,表示這個樣本的預測完全準確。那如果所有樣本都預測準確,總的cost=0
但是如果此時預測的概率hθ(x)=0,那麼cost→∞。直觀解釋的話,由於此時樣本為一個正樣本,但是預測的結果P(y=1|x;θ)=0, 也就是說預測 y=1的概率為0,那麼此時就要對損失函式加一個很大的懲罰項。
當y=0時,推理過程跟上述完全一致,不再累贅。

將以上兩個表示式合併為一個,則單個樣本的損失函式可以描述為:

cost(hθ(x),y)=−yilog(hθ(x))−(1−yi)log(1−hθ(x))

因為 yi 只有兩種取值情況,1或0,分別令y=1或y=0,即可得到原來的分段表示式。

全體樣本的損失函式可以表示為:

cost(hθ(x),y)=∑i=1m−yilog(hθ(x))−(1−yi)log(1−hθ(x))

這就是邏輯迴歸最終的損失函式表示式


相關文章