1. 程式人生 > >機器學習、期望風險、經驗風險與結構風險之間的關係

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

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

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

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

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

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

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

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

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

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

經驗風險是區域性的,基於訓練集所有樣本點損失函式最小化的。

期望風險是全域性的,是基於所有樣本點的損失函式最小化的。

經驗風險函式是現實的,可求的;

期望風險函式是理想化的,不可求的;

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

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

經驗風險越小,模型決策函式越複雜,其包含的引數越多,當經驗風險函式小到一定程度就出現了過擬合現象。也可以理解為模型決策函式的複雜程度是過擬合的必要條件,那麼我們要想防止過擬合現象的方式,就要破壞這個必要條件,即降低決策函式的複雜度。也即,讓懲罰項J(f)最小化,現在出現兩個需要最小化的函數了。我們需要同時保證經驗風險函式和模型決策函式的複雜度都達到最小化,一個簡單的辦法把兩個式子融合成一個式子得到結構風險函式然後對這個結構風險函式進行最小化。 ---------------------  作者:liyajuan521  來源:CSDN  原文:https://blog.csdn.net/liyajuan521/article/details/44565269  版權宣告:本文為博主原創文章,轉載請附上博文連結!