譯者 | 崔皓
審校 | 孫淑娟
摘要
本文介紹什么是重采樣以及如何使用重采樣技術(shù)提高模型的整體性能。
在使用數(shù)據(jù)模型時(shí),由于模型的算法不同而導(dǎo)致接受數(shù)據(jù)時(shí)有不同的學(xué)習(xí)模式。通過(guò)這種直觀的學(xué)習(xí)方式,讓模型通過(guò)給定數(shù)據(jù)集的學(xué)習(xí)從而找出其中的規(guī)律,這個(gè)過(guò)程稱(chēng)為訓(xùn)練模型。
然后,將訓(xùn)練完畢的模型在測(cè)試數(shù)據(jù)集上測(cè)試,這些測(cè)試數(shù)據(jù)是模型之前沒(méi)有見(jiàn)過(guò)的。實(shí)際上,我們希望達(dá)到的最佳效果是模型在訓(xùn)練和測(cè)試數(shù)據(jù)集上都能產(chǎn)生準(zhǔn)確的輸出,也就是模型在訓(xùn)練集和測(cè)試集上的表現(xiàn)一致。
你可能也聽(tīng)說(shuō)過(guò)驗(yàn)證集的方式。這種方式是將數(shù)據(jù)集分成兩部分:訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集。一部分的數(shù)據(jù)被用來(lái)訓(xùn)練模型,而另一部分的數(shù)據(jù)被用來(lái)測(cè)試訓(xùn)練好的模型。
然而,這種驗(yàn)證集的方法有缺點(diǎn)。
該模型將學(xué)習(xí)訓(xùn)練數(shù)據(jù)集中的所有模式,由于它從來(lái)沒(méi)有接觸過(guò)測(cè)試集的數(shù)據(jù),因此它可能遺漏測(cè)試數(shù)據(jù)集中的相關(guān)信息。這導(dǎo)致模型失去了提高整體性能的重要信息。
另一個(gè)缺點(diǎn)是,訓(xùn)練數(shù)據(jù)集可能面臨數(shù)據(jù)中的異常值或錯(cuò)誤,而模型將學(xué)習(xí)這些有問(wèn)題的數(shù)據(jù),并將這些數(shù)據(jù)作為模型知識(shí)庫(kù)的一部分,然后在第二階段的測(cè)試中應(yīng)用。
那么,我們?nèi)绾渭m正上述的缺點(diǎn)呢?答案是:重新采樣。
什么是重采樣?
重采樣是一種方法,包括從訓(xùn)練數(shù)據(jù)集中反復(fù)抽取樣本。然后,這些樣本被用來(lái)重新擬合一個(gè)特定的模型,以檢索更多關(guān)于擬合模型的信息。其目的是收集更多關(guān)于樣本的信息,提高準(zhǔn)確性并估計(jì)不確定性。
例如,如果你正在研究線性回歸擬合,并想檢查變異性。就可以重復(fù)使用訓(xùn)練數(shù)據(jù)中的不同樣本,并對(duì)每個(gè)樣本進(jìn)行線性回歸擬合。這將使你能夠檢查結(jié)果在不同樣本上的不同表現(xiàn),從而獲得新的信息。
重新取樣的顯著優(yōu)勢(shì)是,你可以從同一群體中反復(fù)抽取小樣本,直到你的模型達(dá)到最佳性能。由于能夠循環(huán)使用同一個(gè)數(shù)據(jù)集,你將節(jié)省大量的時(shí)間和金錢(qián),而不必去尋找新的數(shù)據(jù)。
欠采樣和過(guò)度采樣
如果你正在處理高度不平衡的數(shù)據(jù)集,重采樣是可以提升模型準(zhǔn)確率的一種技術(shù)。
欠采樣是指從多數(shù)類(lèi)中移除樣本,以提供更多的平衡。
過(guò)度采樣是指由于收集的數(shù)據(jù)不足,從少數(shù)類(lèi)別中復(fù)制隨機(jī)樣本并充當(dāng)樣本。
然而,上述的兩種方法都存在劣勢(shì),在取樣不足的情況下刪除樣本會(huì)導(dǎo)致信息的損失。從少數(shù)類(lèi)中重復(fù)隨機(jī)樣本會(huì)導(dǎo)致過(guò)度擬合。
數(shù)據(jù)科學(xué)中經(jīng)常使用兩種重抽樣方法:
- Bootstrap法(引導(dǎo)法)
- 交叉驗(yàn)證法
Bootstrap法
這種方法用在一些不遵循典型正態(tài)分布的數(shù)據(jù)集。因此,可以應(yīng)用Bootstrap方法來(lái)檢查數(shù)據(jù)集的隱藏信息和分布。
在使用Bootstrap方法時(shí),抽出的樣本會(huì)被替換,而不包括在樣本中的數(shù)據(jù)被用來(lái)測(cè)試模型。它是一種靈活的統(tǒng)計(jì)方法,可以幫助數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師量化不確定性。
其過(guò)程包括如下:
1. 反復(fù)從數(shù)據(jù)集中抽取樣本觀測(cè)值
2. 替換這些樣本,以確保原始數(shù)據(jù)集保持在相同的規(guī)模。
3. 一個(gè)觀察值可以出現(xiàn)不止一次,也可以完全不出現(xiàn)。
你可能聽(tīng)說(shuō)過(guò)Bagging,即合集技術(shù)。它是Bootstrap Aggregation的簡(jiǎn)稱(chēng),它結(jié)合了Bootstrap和聚合來(lái)形成一個(gè)集合模型。它創(chuàng)建了多個(gè)原始訓(xùn)練數(shù)據(jù)集,然后匯總得出最終的預(yù)測(cè)結(jié)果。每個(gè)模型都會(huì)學(xué)習(xí)前一個(gè)模型的錯(cuò)誤。
引導(dǎo)法的一個(gè)優(yōu)點(diǎn)是,與上面提到的訓(xùn)練-測(cè)試分割法相比,它們的方差較低。
交叉驗(yàn)證法
當(dāng)你重復(fù)地隨機(jī)分割數(shù)據(jù)集時(shí),會(huì)導(dǎo)致樣本最終進(jìn)入訓(xùn)練集或測(cè)試集。這可能會(huì)不幸地對(duì)你的模型產(chǎn)生不平衡的影響,使其無(wú)法做出準(zhǔn)確的預(yù)測(cè)。
為了避免這種情況,你可以使用K-Fold交叉驗(yàn)證法來(lái)更有效地分割數(shù)據(jù)。在這個(gè)過(guò)程中,數(shù)據(jù)被分為k個(gè)相等的集合,其中一個(gè)集合被定義為測(cè)試集,而其余的集合則用于訓(xùn)練模型。這個(gè)過(guò)程將一直持續(xù)到每個(gè)集合都作為測(cè)試集,并且所有的集合都經(jīng)過(guò)了訓(xùn)練階段。
其個(gè)過(guò)程包括:
1. 數(shù)據(jù)被分割成k個(gè)部分。例如,一個(gè)數(shù)據(jù)集被分成10個(gè)部分--10個(gè)相等的集合。
2. 在第一次迭代中,模型在(k-1)上進(jìn)行訓(xùn)練,并在剩余的一組上進(jìn)行測(cè)試。假設(shè)每個(gè)數(shù)據(jù)集合都有編號(hào),第一次訓(xùn)練把1-9號(hào)數(shù)據(jù)集合作為訓(xùn)練集,把10號(hào)集合作為測(cè)試集。第二訓(xùn)練把1-8號(hào)集合以及10號(hào)集合作為測(cè)試集,把9號(hào)集合作為測(cè)試集。第三次把1-7號(hào)集合以及9、10號(hào)集合作為訓(xùn)練集合,把8號(hào)集合作為測(cè)試集合。
3. 這個(gè)過(guò)程不斷重復(fù)(10次),直到所有的集合都作為測(cè)試集合進(jìn)行訓(xùn)練為止。
這使每個(gè)樣本有平衡的代表性,確保所有的數(shù)據(jù)都被用來(lái)改善模型的學(xué)習(xí),以及測(cè)試模型的性能。
總結(jié)
在這篇文章中,你將了解什么是重采樣,以及如何以3種不同的方式對(duì)你的數(shù)據(jù)集進(jìn)行采樣:訓(xùn)練-測(cè)試分割、bootstrap和交叉驗(yàn)證。
所有這些方法的目標(biāo)是幫助模型以有效的方式吸收盡可能多的信息。確保模型成功學(xué)習(xí)的唯一方法是在數(shù)據(jù)集中的各種數(shù)據(jù)點(diǎn)上訓(xùn)練模型。
重新采樣是預(yù)測(cè)性建模階段的一個(gè)重要元素;確保準(zhǔn)確的輸出、創(chuàng)建高性能的模型和有效的工作流程。
譯者介紹
崔皓,51CTO社區(qū)編輯,資深架構(gòu)師,擁有18年的軟件開(kāi)發(fā)和架構(gòu)經(jīng)驗(yàn),10年分布式架構(gòu)經(jīng)驗(yàn)。
原文標(biāo)題:??The Role of Resampling Techniques in Data Science??,作者:Nisha Arya