【機器學習基礎】驗證

模型選擇問題(Model Selection Problem)

我們在之前得知,通過最小化Ein來選擇最好的模型不是一個正確的辦法,因為這樣可能會付出模型復雜度的代價、造成泛化效果差、造成過擬合的發生。
為了解決這個問題,我們的想法是找一些測試數據來看看哪種模型對應測試數據的效果更好,但是用新的測試數據來作這個事情,實際上是做不到的自欺欺人的辦法。
我們對比這兩種方式,用訓練數據來作選擇的話,由于這些數據決定了最終的假設,所以再用這些訓練數據來作驗證的時候已經被“污染”了;而如果用新的數據對于測試驗證的來說,是“清潔”的。
折中的辦法是,將可用的數據留一小部分作為驗證數據,當做模型選擇的時候,再拿來用于驗證。


驗證

現在,我們從手中的數據拿出一小部分出來作驗證數據,我們拿它來模擬測試數據。為了將針對驗證數據的錯誤Eval和Eout聯系起來,我們希望數據獨立同分布于原始數據的分布;剩下的數據用作訓練數據,可以用來做模型選擇。


使用最佳的Eval做模型選擇

在做模型選擇時,我們遵循以下流程,首先將數據集D分成兩部分Dtrain和Dval,用Dtrain算出不同假設Hi的g-,再用Dval算出Ei,我們得到最小的Ei(記為Em)和其對應的假設Hm,再將所有的數據放在一起用Hm這個模型算出最終的模型參數gm(這個gm是用了最好的模型和最多的數據算出的結果,這會使得Eout最小)

關系圖形

我們用一個圖形關系來表示不同的驗證數據對真實誤差Eout的影響。



上面這個圖的橫軸是驗證數據的大小是多少,縱軸表示Eout的大小。
其中紅色的線代表用驗證數據得到的最終假設g-,該假設不再用所有的數據重新做一次訓練。
藍色的線代表用驗證數據得到了g-之后,在拿訓練數據和驗證數據放在一起做一次訓練,得到的g。
顯而易見的是,藍色的線總是比紅色的線要低,并且藍色的線比黑色的橫線(表示直接用所有數據做訓練得到的Ein)要低(這表示用驗證數據得到的假設真的比不用驗證數據得到的假設的誤差要低)。
這說明,驗證這個步驟確實是一個有用的方法。

那么為什么紅色的線有時候比Ein得到的g的錯誤要大呢?
其解釋是,如果驗證數據變大,訓練數據變小時,g-是用比較少的數據求出來的,所以g-的表現是不好的。用很少的數據選取的最好的g-有可能比起用全部數據訓練得到的g還要差。

驗證數據的大小

我們的決策根植于一個假設,我們要得到最后的假設g,所以希望Eout(g)和用驗證數據得到Eout(g-)接近,另外還希望Eout(g-)和Eval(g-)接近。我們用Eval(g-)做選擇,最后希望得到Eout(g)最好的那個假設。



這兩個近似等式需要的驗證數據的數量是不同的,Eout(g-)≈Eval(g-)需要更多的驗證數據,但這樣會造成g-和g差很多(即上面的關系圖形中,紅色和藍色的線在驗證數據多的時候會差別很大);Eout(g)≈Eout(g-)需要數量少的驗證數據,但這是不太能確定Eval和Eout是不是接近的。
實際上,驗證數據量K=N/5,其中N是訓練數據。

留一交叉驗證

如果只有一個數據來作驗證的話,那么其錯誤Eval是:



如果將所有的數據都拿來作驗證的話,將其得到的結果平均起來,大概就能告訴我們Eout的情況:


理論保證

我們現在從偏理論的角度解釋留一交叉檢驗的誤差期望值和Eout(g-)的近似關系。
首先,我們假設對各式各樣不同的數據集來作交叉檢驗并取一個平均。這里表示的都是leave-one-out交叉檢驗誤差的期望值和Eout(g-)的期望值是差不多的。


實際應用

下圖的橫軸是特征轉換的維度,從圖中可以看出來,如果拿Ein來作選擇,用盡量多的特征可以做到盡可能小的Ein,但是造成的結果是過擬合,所以如果用較少的特征,Eout可能還小一點;如果用交叉檢驗的Ecv來作選擇,其曲線和Eout的曲線很接近,所以就想下面第二個圖中最右側的圖像表示的,雖然會有一些錯分類的情形,但是分類的曲線平滑很多,其在實際的表現就會更好。
這說明使用交叉驗證的方法求得的假設可以比Ein得到的效果更好。



可能的問題

如果有1000個數據,我們用leave-one-out來作交叉驗證的話,就需要做1000次來得到平均的誤差,這樣比較耗時,不太實際。

V折交叉檢驗

在留一交叉檢驗中,我們取一份數據來作驗證,其余數據來作訓練,
為了簡單起見,我們可以將數據切成10部分,然后拿其中9份做訓練,另外1份做驗證,這樣和留意交叉檢驗的效果是類似的。



常見的方式是將數據分成10份。
這種V折的交叉驗證的方式比單一驗證的方式更加穩定。

轉載請注明作者Jason Ding及其出處
Github博客主頁(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
簡書主頁(http://www.lxweimin.com/users/2bd9b48f6ea8/latest_articles)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內容