在機器學習中,通常會遇到期望風險、經(jīng)驗風險和結構風險這三個概念,一直不知道這三個概念之間的具體區(qū)別和聯(lián)系,今天來梳理一下: 要區(qū)分這三個概念,首先要引入一個損失函數(shù)的概念。損失函數(shù)是期望風險、經(jīng)驗風險和結構風險的基礎。 損失函數(shù)是針對單個具體的樣本而言的。表示的是模型預測的值與樣本真實值之間的差距。比如對于某個樣本<Xi,Yi>,其真實的值為Yi,而我們的模型選擇決策函數(shù)為f,那么通過模型預測的值為f(Xi);損失函數(shù)就是用來表示Yi與f(Xi)之間的差距的,我們用函數(shù)L(f(Xi),Yi)來衡量。我們希望的是這個L函數(shù)最小化。理想的情況是我們的模型決策函數(shù)預測值f(Xi)剛好等于該樣本的真值Yi。常見的損失函數(shù)有以下幾種: 現(xiàn)在我們已經(jīng)清楚了,對于具體的某個樣本點,有了衡量其預測值與真實值的差異度的方法了(選取上面任意一個損失函數(shù)即可)。 通過損失函數(shù)我們只能知道模型決策函數(shù)f(X)對于單個樣本點的預測能力(借用損失函數(shù)L(Y,f(x)),損失函數(shù)越小,說明模型對于該樣本預測越準確。),那么如果想知道模型f(X)對訓練樣本中所有的樣本的預測能力應該怎么辦呢?顯然只需所有的樣本點都求一次損失函數(shù)然后進行累加就好了。如下式 這就經(jīng)驗風險,所謂的經(jīng)驗風險最小化便是讓這個式子最小化,注意這個式子中累加和的上標N表示的是訓練樣例集中樣本的數(shù)目。 經(jīng)驗風險是對訓練集中的所有樣本點損失函數(shù)的平均最小化。經(jīng)驗風險越小說明模型f(X)對訓練集的擬合程度越好,但是對于未知的樣本效果怎么樣呢?我們知道未知的樣本數(shù)據(jù)(<X,Y>)的數(shù)量是不容易確定的,所以就沒有辦法用所有樣本損失函數(shù)的平均值的最小化這個方法,那么怎么來衡量這個模型對所有的樣本(包含未知的樣本和已知的訓練樣本)預測能力呢?熟悉概率論的很容易就想到了用期望。即假設X和Y服從聯(lián)合分布P(X,Y).那么期望風險就可以表示為: 這就是期望風險,期望風險表示的是全局的概念,表示的是決策函數(shù)對所有的樣本<X,Y>預測能力的大小,而經(jīng)驗風險則是局部的概念,僅僅表示決策函數(shù)對訓練數(shù)據(jù)集里樣本的預測能力。理想的模型(決策)函數(shù)應該是讓所有的樣本的損失函數(shù)最小的(也即期望風險最小化),但是期望風險函數(shù)往往是不可得到的,即上式中,X與Y的聯(lián)合分布函數(shù)不容易得到?,F(xiàn)在我們已經(jīng)清楚了期望風險是全局的,理想情況下應該是讓期望風險最小化,但是呢,期望風險函數(shù)又不是那么容易得到的。怎么辦呢?那就用局部最優(yōu)的代替全局最優(yōu)這個思想吧。這就是經(jīng)驗風險最小化的理論基礎。 通過上面的分析可以知道,經(jīng)驗風險與期望風險之間的聯(lián)系與區(qū)別。現(xiàn)在在總結一下: 經(jīng)驗風險是局部的,基于訓練集所有樣本點損失函數(shù)最小化的。 期望風險是全局的,是基于所有樣本點的損失函數(shù)最小化的。 經(jīng)驗風險函數(shù)是現(xiàn)實的,可求的; 期望風險函數(shù)是理想化的,不可求的; 只考慮經(jīng)驗風險的話,會出現(xiàn)過擬合的現(xiàn)象,過擬合的極端情況便是模型f(x)對訓練集中所有的樣本點都有最好的預測能力,但是對于非訓練集中的樣本數(shù)據(jù),模型的預測能力非常不好。怎么辦呢?這個時候就引出了結構風險。結構風險是對經(jīng)驗風險和期望風險的折中。在經(jīng)驗風險函數(shù)后面加一個正則化項(懲罰項)便是結構風險了。如下式: 相比于經(jīng)驗風險,結構風險多了一個懲罰項,其中是一個lamada是一個大于0的系數(shù)。J(f)表示的是是模型f的復雜度。結構風險可以這么理解: 經(jīng)驗風險越小,模型決策函數(shù)越復雜,其包含的參數(shù)越多,當經(jīng)驗風險函數(shù)小到一定程度就出現(xiàn)了過擬合現(xiàn)象。也可以理解為模型決策函數(shù)的復雜程度是過擬合的必要條件,那么我們要想防止過擬合現(xiàn)象的方式,就要破壞這個必要條件,即降低決策函數(shù)的復雜度。也即,讓懲罰項J(f)最小化,現(xiàn)在出現(xiàn)兩個需要最小化的函數(shù)了。我們需要同時保證經(jīng)驗風險函數(shù)和模型決策函數(shù)的復雜度都達到最小化,一個簡單的辦法把兩個式子融合成一個式子得到結構風險函數(shù)然后對這個結構風險函數(shù)進行最小化。 |
|