什么是交叉驗(yàn)證?它的應(yīng)用有哪些?

交叉驗(yàn)證就是把一個樣本集分割成若干等分,用其中一等分作為測試集其他等分作為訓(xùn)練集進(jìn)行算法訓(xùn)練分析驗(yàn)證的的行為。如若分成K等分,則稱作K折交叉驗(yàn)證。(K的數(shù)值的確定根據(jù)經(jīng)驗(yàn)設(shè)定)

254007-1.png

如上圖所示,一個數(shù)據(jù)集中有12個樣本,進(jìn)行3折交叉驗(yàn)證,每一等份4個樣本,分別用不同的顏色來表示。以BP算法為例:

實(shí)驗(yàn)一:以等分一為測試集,等分二和三作為訓(xùn)練集

實(shí)驗(yàn)二:以等分二為測試集,等分一和三作為訓(xùn)練集

實(shí)驗(yàn)三:以等分三為測試集,等分一和二作為訓(xùn)練集

應(yīng)用一:選擇合適的訓(xùn)練集和測試集

以上面的3折交叉驗(yàn)證為例,每一次實(shí)驗(yàn)都會針對測試集計算出一個對應(yīng)的誤差參數(shù),選擇誤差參數(shù)最小的那一組作為最終的訓(xùn)練集和測試集

應(yīng)用二:作為評估算法參數(shù)的指標(biāo)

以優(yōu)化svm的參數(shù)c和g為例,在選定一組c和g時怎么評估這個參數(shù)的效果好不好呢,這個時候肯定是把樣本數(shù)據(jù)帶入svm做一下訓(xùn)練和測試,看一下測試的誤差大小來評判。這個時候就犯難了,因?yàn)椴恢肋x哪些作訓(xùn)練哪些作測試,如果隨意選的話又怕因?yàn)檫x的不好導(dǎo)致最后的測試結(jié)果有一定的隨意性。這個時候可以使用交叉驗(yàn)證,以上面的3折交叉驗(yàn)證為例,實(shí)驗(yàn)一計算出一組測試集誤差,實(shí)驗(yàn)二計算出一組誤差,依次類推每一次實(shí)驗(yàn)都會計算出對應(yīng)的誤差,把這些誤差加起來取均值,作為最終判斷c和g參數(shù)好壞的依據(jù)。這么做的好處就是能讓每組樣本都做過訓(xùn)練和測試,減少實(shí)驗(yàn)的偶然性






請前往:http://lygongshang.com/TeacherV2.html?id=269