期望風險、經驗風險與結構風險

 

在機器學習中,通常會遇到期望風險、經驗風險和結構風險這三個概念,一直不知道這三個概念之間的具體區別和聯繫,今天來梳理一下

1 損失函數

要區分這三個概念,首先要引入一個損失函數的概念。損失函數是期望風險、經驗風險和結構風險的基礎。

損失函數是針對單個具體的樣本而言的。表示的是模型預測的值與樣本真實值之間的差距。比如對於某個樣本<Xi,Yi>,其真實的值爲Yi,而我們的模型選擇決策函數爲f,那麼通過模型預測的值爲f(Xi);損失函數就是用來表示Yi與f(Xi)之間的差距的,我們用函數L(f(Xi),Yi)來衡量。我們希望的是這個L函數最小化。理想的情況是我們的模型決策函數預測值f(Xi)剛好等於該樣本的真值Yi。常見的損失函數有以下幾種:

2 經驗風險

現在我們已經清楚了,對於具體的某個樣本點,有了衡量其預測值與真實值的差異度的方法了(選取上面任意一個損失函數即可)。 

通過損失函數我們只能知道模型決策函數f(X)對於單個樣本點的預測能力(借用損失函數L(Y,f(x)),損失函數越小,說明模型對於該樣本預測越準確。),那麼如果想知道模型f(X)對訓練樣本中所有的樣本的預測能力應該怎麼辦呢?顯然只需所有的樣本點都求一次損失函數然後進行累加就好了。如下式

這就經驗風險,所謂的經驗風險最小化便是讓這個式子最小化,注意這個式子中累加和的上標N表示的是訓練樣例集中樣本的數目。 

3 期望風險

經驗風險是對訓練集中的所有樣本點損失函數的平均最小化。經驗風險越小說明模型f(X)對訓練集的擬合程度越好,但是對於未知的樣本效果怎麼樣呢?我們知道未知的樣本數據(<X,Y>)的數量是不容易確定的,所以就沒有辦法用所有樣本損失函數的平均值的最小化這個方法,那麼怎麼來衡量這個模型對所有的樣本(包含未知的樣本和已知的訓練樣本)預測能力呢?熟悉概率論的很容易就想到了用期望。即假設X和Y服從聯合分佈P(X,Y).那麼期望風險就可以表示爲:

這就是期望風險,期望風險表示的是全局的概念,表示的是決策函數對所有的樣本<X,Y>預測能力的大小,而經驗風險則是局部的概念,僅僅表示決策函數對訓練數據集裏樣本的預測能力。理想的模型(決策)函數應該是讓所有的樣本的損失函數最小的(也即期望風險最小化),但是期望風險函數往往是不可得到的,即上式中,X與Y的聯合分佈函數不容易得到。現在我們已經清楚了期望風險是全局的,理想情況下應該是讓期望風險最小化,但是呢,期望風險函數又不是那麼容易得到的。怎麼辦呢?那就用局部最優的代替全局最優這個思想吧。這就是經驗風險最小化的理論基礎。

通過上面的分析可以知道,經驗風險與期望風險之間的聯繫與區別。現在在總結一下:

  • 經驗風險是局部的,基於訓練集所有樣本點損失函數最小化的。
  • 期望風險是全局的,是基於所有樣本點的損失函數最小化的。
  • 經驗風險函數是現實的,可求的;
  • 期望風險函數是理想化的,不可求的;

4 結構風險

只考慮經驗風險的話,會出現過擬合的現象,過擬合的極端情況便是模型f(x)對訓練集中所有的樣本點都有最好的預測能力,但是對於非訓練集中的樣本數據,模型的預測能力非常不好。怎麼辦呢?這個時候就引出了結構風險。結構風險是對經驗風險和期望風險的折中。在經驗風險函數後面加一個正則化項(懲罰項)便是結構風險了。如下式:

相比於經驗風險,結構風險多了一個懲罰項,其中是一個lamada是一個大於0的係數。J(f)表示的是是模型f的複雜度。結構風險可以這麼理解:

經驗風險越小,模型決策函數越複雜,其包含的參數越多,當經驗風險函數小到一定程度就出現了過擬合現象。也可以理解爲模型決策函數的複雜程度是過擬合的必要條件,那麼我們要想防止過擬合現象的方式,就要破壞這個必要條件,即降低決策函數的複雜度。也即,讓懲罰項J(f)最小化,現在出現兩個需要最小化的函數了。我們需要同時保證經驗風險函數和模型決策函數的複雜度都達到最小化,一個簡單的辦法把兩個式子融合成一個式子得到結構風險函數然後對這個結構風險函數進行最小化。

 

Reference

機器學習-->期望風險、經驗風險與結構風險之間的關係

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章