1. 程式人生 > >損失函式和風險函式

損失函式和風險函式

損失函式度量模型預測一次的好壞,即模型預測一次其預測值與真實值之間的差別。

風險函式度量模型平均意義上預測能力的好壞,即模型預測n次預測值與真實值差別的平均。

記f(X)為模型的輸出預測值,Y為對應輸入的真實值,則損失函式為f(x)和Y的非負實值函式,記為L(Y,f(x))。

常用的損失函式有如下幾種:

1.0-1損失函式

0-1損失函式通過比較真實值與預測值是否相等進行度量模型的好壞,若預測值與真實值相等則L=0,不相等則L=1,其為一種“是與非”的思想,而並不考慮預測值與真實值之間的差距。

2.平方損失函式

平方損失函式度量的是預測值與真實值之間的距離,用[Y- f(x)]^2進行計算。

3.絕對損失函式

絕對損失函式度量的同樣是預測值與真實值之間的距離,用| Y-f(X) |進行計算。

4.對數損失函式

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

可以看到,其輸入是標籤Y和預測值f(X),即對於極大似然來說,其樣本集變為label集而非X集,

首先,對數損失函式運用了最大似然估計的思想,極大似然估計是建立在極大似然原理上的一個統計方法,通俗來講,即概率較大的事件較為可能發生,例如,現有兩個箱子,箱子A有紅球1個,白球99個,箱子B有紅球99個,白球1個,則現隨機選取一個箱子並抽取一個小球,發現是紅色,這是我們更容易傾向於相信紅球是從箱子B取出的,因為該概率較紅球是從箱子A中取出的概率更大。這就是最大似然原理的思想,也可以通俗的理解為最為可能思想。

極大似然估計是建立在這樣的思想上:已經樣本滿足某種概率分佈,而引數未知,對於引數的選取為,若某個引數能使這個樣本出現的概率最大,則選取該引數作為估計值。

因此,對於對數損失函式,其中,P(Y|X)表示當前模型在樣本為X的情況下得到預測值為Y的概率,其在一定程度上表示預測值與真實值的接近程度。要使損失函式最小,則使得在樣本為X的情況下得到預測值為Y的概率越大,擴充套件到風險函式,則使得在樣本為X1,X2,X3,...,Xn的情況下得到預測值為Y1,Y2,Y3,...,Yn的概率最大,由於在計算當中,多個概率的乘法最終會得到一個非常小的值,從而可能造成下溢 underflow,因此一般會進一步對之前的似然函式取一個對數,將連續乘法轉化為加法,因此利用log

函式進行變換,從而實現積到和的形式轉變,進一步考慮到目前情況為當概率最大時損失最小,為使最大似然與最小損失相對應,則在前面加負號(-),使得當所得值最小時,代表損失最小。

損失函式越小則模型就越好,由於模型輸入和輸出(X,Y)是隨機變數,遵循聯合分佈P(X,Y),所以以上損失函式的期望為:

R_{exp}(f)=E_{p}[L(Y,f(x))]=\int_{XxY} L(y,f(X))P(x,y)dxdy=-\frac{1}{N}\sum_{i=1}^{N}\sum_{j=1}^{M}P(x,y)log(p(Y|X))

而模型f(x)關於訓練資料集的平均損失即經驗風險或經驗損失為:

R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))

根據大數定律,當樣本容量N趨於無窮時,經驗風險趨於期望風險,因此在聯合分佈未知的情況下,可以用經驗風險估計期望風險。由於現實中訓練樣本數目有限,甚至很小,用經驗風險估計期望風險常常不理想,因此需要對經驗風險做一定的矯正,一般用到的兩種策略為:經驗風險最小化結構風險最小化