獨(dú)家 | 機(jī)器學(xué)習(xí)模型的非泛化和泛化
本文作為數(shù)據(jù)科學(xué)博客馬拉松(https://analyticsvidhya.com/blogathon)的一部分發(fā)表。
介紹
機(jī)器學(xué)習(xí)模型的泛化是指模型對新數(shù)據(jù)進(jìn)行分類或預(yù)測的能力。當(dāng)我們在數(shù)據(jù)集上訓(xùn)練模型并為其提供訓(xùn)練集中缺少的新數(shù)據(jù)時(shí),它可能會(huì)表現(xiàn)良好。這樣的模型是可推廣的。它不需要在所有的數(shù)據(jù)類型上行動(dòng),而是在類似的領(lǐng)域或數(shù)據(jù)集上行動(dòng)。
泛化學(xué)習(xí)
兩個(gè)模型可能分別從兩個(gè)不同的問題領(lǐng)域?qū)W習(xí),并在采用相同變量和約束行為時(shí)獨(dú)立學(xué)習(xí)。
最初,泛化的結(jié)果是模型建立中的失誤或僅僅是巧合。而在現(xiàn)在的模型中,泛化反而成為一種優(yōu)勢,應(yīng)該被控制和最大化。一個(gè)泛化的模型可以通過從頭開始重新訓(xùn)練新模型來節(jié)省生產(chǎn)成本。如果一個(gè)模型能夠進(jìn)行預(yù)測,那么它的開發(fā)就是為了有效地進(jìn)行預(yù)測;沒有人不想要一個(gè)能夠預(yù)測另一個(gè)問題的模型。每個(gè)工程師和研究人員都應(yīng)該考慮如何能夠使一個(gè)模型具有可泛化性。
什么是未見過的數(shù)據(jù)?
了解什么是未見過的數(shù)據(jù)是很重要的。未見過的數(shù)據(jù)對模型來說就是新的數(shù)據(jù),它們不是訓(xùn)練的一部分。模型在它們以前見過的觀察上表現(xiàn)得更好。為了獲得更多的好處,我們應(yīng)該嘗試建立即使在未見過的數(shù)據(jù)上也能表現(xiàn)的模型。
泛化的好處
有時(shí)候,泛化可以是一個(gè)提高性能的過程。在深度學(xué)習(xí)中,模型可以分析和理解數(shù)據(jù)集中存在的模式。他們也很容易出現(xiàn)過擬合。使用泛化技術(shù),可以管理這種過擬合,使模型不會(huì)過于嚴(yán)格。它可以協(xié)助深度學(xué)習(xí)來預(yù)測一個(gè)以前沒有見過的模式。泛化代表了一個(gè)模型在訓(xùn)練集上被訓(xùn)練后,如何對新的數(shù)據(jù)做出正確的預(yù)測。
深度學(xué)習(xí)清楚地顯示了使用泛化的好處。它成為一種復(fù)雜的能力,因?yàn)槲覀儾幌Mㄟ^塞滿圖像來訓(xùn)練模型,這樣當(dāng)模型遇到一個(gè)不在壓縮內(nèi)存中的圖像時(shí),它就會(huì)失敗。我們希望訓(xùn)練好的模型在面對一個(gè)不在通用集里的圖像時(shí)表現(xiàn)良好。
100%的準(zhǔn)確率可能意味著所有的圖像都被壓縮得很好。遇到一張外面的圖片,模型就會(huì)失敗。一個(gè)好的模型將能夠更普遍地處理圖片。泛化技術(shù)應(yīng)該確保在深度學(xué)習(xí)模型的訓(xùn)練中不會(huì)出現(xiàn)過度擬合。
各種方法可以分為以數(shù)據(jù)為中心和以模型為中心的泛化技術(shù)。它們確保模型被訓(xùn)練成可以泛化驗(yàn)證數(shù)據(jù)集,并從訓(xùn)練數(shù)據(jù)中找到模式。
模型泛化的要素
由于泛化更具優(yōu)勢,因此有必要在模型的設(shè)計(jì)周期中查看一些可能影響泛化的因素。
以算法/模型為中心的方法的性質(zhì)
所有的模型都有不同的行為。它們處理數(shù)據(jù)以及優(yōu)化性能的方法是不同的。決策樹是非參數(shù)化的,導(dǎo)致它們?nèi)菀壮霈F(xiàn)過擬合。為了解決模型的泛化問題,應(yīng)該有意考慮算法的性質(zhì)。有時(shí),模型的表現(xiàn)伴隨著高復(fù)雜性。當(dāng)它們很復(fù)雜時(shí),過擬合就變得很容易??梢允褂媚P驼齽t化來創(chuàng)造一個(gè)平衡,以實(shí)現(xiàn)泛化并避免過度擬合。對于深度網(wǎng)絡(luò)來說,通過減少權(quán)重?cái)?shù)量或網(wǎng)絡(luò)參數(shù)(即權(quán)重值)來改變網(wǎng)絡(luò)結(jié)構(gòu),可以起到一定的作用。
數(shù)據(jù)集的性質(zhì)
另一個(gè)方面是用于訓(xùn)練的數(shù)據(jù)集。有時(shí)數(shù)據(jù)集過于統(tǒng)一。他們彼此之間的差異很小。自行車的數(shù)據(jù)集可能過于統(tǒng)一,不能被用來檢測摩托車。為了實(shí)現(xiàn)一個(gè)通用的機(jī)器學(xué)習(xí)模型,數(shù)據(jù)集應(yīng)該包含多樣性。應(yīng)該增加不同的可能樣本以拓展范圍。這有助于模型的訓(xùn)練,以達(dá)到最佳的泛化效果。在訓(xùn)練過程中,我們可以使用交叉驗(yàn)證技術(shù),例如K-fold。即使在以泛化為目標(biāo)時(shí),這對于了解我們模型的意義也是必要的。
模型的非泛化
可以看出,模型不需要泛化。模型應(yīng)該只做它們被嚴(yán)格期望做的事情。這可能是也可能不是最好的。我可能希望我在摩托車圖像上訓(xùn)練的模型能夠識(shí)別所有類似的車輛,包括自行車甚至是輪椅。這可能是非常強(qiáng)大的。在另一個(gè)應(yīng)用中則相反,我們可能希望我們用摩托車訓(xùn)練的模型能夠嚴(yán)格地識(shí)別摩托車。它不應(yīng)該識(shí)別自行車。也許我們想計(jì)算停車場里的摩托車,而不是自行車。
利用上述影響泛化的因素,我們可以決定并控制何時(shí)需要或不需要泛化。由于泛化可能包含風(fēng)險(xiǎn),因此,如果手段可用,非泛化應(yīng)該被高度優(yōu)化。如果手段可用,應(yīng)該為自行車開發(fā)一個(gè)新模型,為輪椅開發(fā)另一個(gè)模型。在時(shí)間和數(shù)據(jù)集等資源較少的情況下,可以利用泛化技術(shù)。
非泛化/泛化和模型的過度擬合
非泛化與過擬合條件最為密切相關(guān)。當(dāng)一個(gè)模型是非泛化的,它可能與過擬合有關(guān)。如果過擬合能夠得到解決,泛化就更容易實(shí)現(xiàn)。我們不想要過擬合的模型--一個(gè)已經(jīng)學(xué)會(huì)了訓(xùn)練數(shù)據(jù)集的模型,但是對其他方面一無所知。它在訓(xùn)練數(shù)據(jù)集上表現(xiàn)良好,但在新的輸入上卻表現(xiàn)不佳。另一種情況是欠擬合模型。這將是一個(gè)不了解問題的模型,在訓(xùn)練數(shù)據(jù)集上表現(xiàn)不佳,在新的輸入上也沒有表現(xiàn)。我們也不希望這樣。另一種情況是良好擬合模型。這就像機(jī)器學(xué)習(xí)中的一個(gè)普通圖。該模型適當(dāng)?shù)貙W(xué)習(xí)了訓(xùn)練數(shù)據(jù)集,并將其概括到新的輸入。
當(dāng)我們想要一個(gè)可以泛化的模型時(shí),一個(gè)良好的擬合度是我們需要的目標(biāo)。
欠擬合,最佳模型和過擬合
偏差和方差對概括性的影響
對模型的概括性有影響的其他因素是方差和偏差。模型分析數(shù)據(jù),在數(shù)據(jù)中找到模式并進(jìn)行預(yù)測。在訓(xùn)練過程中,它學(xué)習(xí)數(shù)據(jù)集中的模式,并在測試過程中使用這些模式來進(jìn)行預(yù)測,而預(yù)測的準(zhǔn)確度是經(jīng)過衡量的。在預(yù)測過程中,由于偏差,預(yù)測值和實(shí)際值之間的對比是錯(cuò)誤的。一個(gè)高偏差的模型不能進(jìn)行泛化。
方差告訴我們一個(gè)變量與它的預(yù)期值有多大差別。我們做一個(gè)隨機(jī)變量,并將其與我們對它的預(yù)期進(jìn)行比較。預(yù)計(jì)模型相對來說不會(huì)變化太大。模型應(yīng)該能夠理解輸入和輸出之間的隱藏映射。低方差顯示預(yù)測中的小偏差,而高方差顯示目標(biāo)函數(shù)的預(yù)測中的大偏差。
一個(gè)顯示出高方差的模型在未見過的數(shù)據(jù)集上是不能泛化的。這意味著在開發(fā)能夠很好地泛化的模型時(shí),必須將方差水平處理得很低。
錯(cuò)誤 v 模型的復(fù)雜性
結(jié)論
我們已經(jīng)深入了解了泛化的概念,它描述了一個(gè)模型對來自與模型初始數(shù)據(jù)集相同分布的新鮮的、從未見過的數(shù)據(jù)的反應(yīng)。非泛化則是相反的情況。數(shù)據(jù)集和算法是影響泛化能力的因素。我們形成了對過度擬合的感覺,以及它與磁盤主題的關(guān)系。簡單地說,方差是模型預(yù)測的變化能力,或者 ML 函數(shù)可能根據(jù)輸入數(shù)據(jù)集發(fā)生變化的程度。具有許多特征和高度復(fù)雜性的模型是方差的來源。高偏差模型將具有最小方差。最后,具有低偏差的模型將具有不會(huì)泛化的高方差。
要點(diǎn):
- 機(jī)器學(xué)習(xí)模型的泛化被定義為一個(gè)模型對新數(shù)據(jù)進(jìn)行分類或預(yù)測的能力。
- 最初,泛化是由于模型構(gòu)建中的失誤或單純的巧合而產(chǎn)生的。在今天的模型中,它被認(rèn)為是一種優(yōu)勢,應(yīng)該被最大化和控制。
- 未見過的數(shù)據(jù)對模型來說是新的數(shù)據(jù),不屬于訓(xùn)練的一部分。模型在它們以前見過的觀察上表現(xiàn)得更好。為了獲得更多的好處,我們應(yīng)該嘗試擁有即使在未見過的數(shù)據(jù)上也能表現(xiàn)的模型。
- 使用泛化技術(shù),如正則化,可以管理過度擬合,使模型不會(huì)過于嚴(yán)格。
- 算法的性質(zhì)/以模型為中心的方法和數(shù)據(jù)集的性質(zhì)是泛化的兩個(gè)因素。
原文標(biāo)題:Non-Generalization and Generalization of Machine learning Models
原文鏈接:https://www.analyticsvidhya.com/blog/2022/10/non-generalization-and-generalization-of-machine-learning-models/
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。