AI屆的英雄好漢“訓(xùn)練集、驗(yàn)證集、測試集”各顯神通!
充分利用好訓(xùn)練集、驗(yàn)證集和測試集,有助于我們構(gòu)建出性能優(yōu)秀的模型,這篇文章里,作者就對三者做了介紹,并結(jié)合貓貓識別模型的模擬案例來展示訓(xùn)練集、驗(yàn)證集和測試集各自的能力,一起來看看作者的解讀與分析。
各位看官:
歡迎一起揭秘AI的世界。AI的運(yùn)行離不開數(shù)據(jù),若數(shù)據(jù)就是AI的“大米”,良米炊而成飯,質(zhì)地上乘。我們喂養(yǎng)給AI多好的“大米”,AI就會輸出多好的“飯”。
原本是打算僅用一篇來說清楚AI數(shù)據(jù)集,但在持續(xù)的梳理和撰寫過程中,發(fā)現(xiàn)字?jǐn)?shù)越碼越多,所以就決定分幾篇說完吧。
上一篇《帶你識別AI數(shù)據(jù)集的各種面孔 (AI從業(yè)萬字干貨)》中,我主要介紹了AI數(shù)據(jù)集是什么,這些數(shù)據(jù)集的常見格式有哪些,分別有哪些適用場景和局限之處,也給大家整理了一些網(wǎng)上的公開數(shù)據(jù)集,當(dāng)我們需要數(shù)據(jù)來做AI項目時,可供君參考。
本篇,我會繼續(xù)聊聊AI中的數(shù)據(jù)集。全文8000字左右,預(yù)計閱讀時間8分鐘,若是碎片時間不夠,建議先收藏后看,便于找回。
照例,開篇提供文章結(jié)構(gòu)導(dǎo)圖,方便大家在閱讀前總攬全局,有大致的畫面框架。
Now let’s start,在人工智能和機(jī)器學(xué)習(xí)的世界里,數(shù)據(jù)訓(xùn)練是不可避免的。機(jī)器學(xué)習(xí)的核心任務(wù)就是從數(shù)據(jù)中學(xué)習(xí)和構(gòu)建模型(該過程稱之為訓(xùn)練),并且能夠在未遇見的數(shù)據(jù)上進(jìn)行預(yù)測。我們通過數(shù)據(jù)訓(xùn)練,期待模型能夠展現(xiàn)出優(yōu)秀的預(yù)測性能。
項目實(shí)踐中,我們在構(gòu)建模型的不同階段時,通常會將數(shù)據(jù)集劃分成三種:訓(xùn)練集、驗(yàn)證集和測試集。這樣劃分的目的是希望可以更好地評估模型的性能,同時也能避免數(shù)據(jù)過擬合和欠擬合的問題。
BTW,關(guān)于數(shù)據(jù)擬合的問題,我寫過的一篇《(萬字干貨)如何訓(xùn)練優(yōu)化“AI神經(jīng)網(wǎng)絡(luò)”模型?》中,有詳細(xì)介紹,本篇不贅述。
接下來,我們將重點(diǎn)圍繞訓(xùn)練集、驗(yàn)證集和測試集來展開,進(jìn)一步揭曉AI數(shù)據(jù)集背后的故事。
一、教師角色:訓(xùn)練集(Training Set)
顧名思義,訓(xùn)練集是機(jī)器學(xué)習(xí)中用于訓(xùn)練模型的數(shù)據(jù)集合。訓(xùn)練集通常包含已標(biāo)記的樣本,即每個樣本都有對應(yīng)的輸入特征和相應(yīng)的目標(biāo)標(biāo)簽或輸出。
在訓(xùn)練模型的過程中,模型通過學(xué)習(xí)分析訓(xùn)練集中的樣本數(shù)據(jù)來調(diào)整其參數(shù)和權(quán)重,以實(shí)現(xiàn)對新樣本的準(zhǔn)確預(yù)測或分類。
簡單來說,訓(xùn)練集就像是教師,教學(xué)生知識,給學(xué)生提供教材,學(xué)生通過閱讀和理解所教授的內(nèi)容和教材來學(xué)習(xí)新的知識和技能。
所需的“知識”需具備一定的廣度,我們在選取訓(xùn)練集時,要注意“訓(xùn)練集是否具備代表性”,“數(shù)據(jù)量大小是否足夠”,“數(shù)據(jù)質(zhì)量是否符合要求”。
1. 訓(xùn)練集中的樣本需要具有代表性
這是指被訓(xùn)練的數(shù)據(jù)需要涵蓋模型在實(shí)際應(yīng)用中可能遇到的各種情況。
如果說,我們要構(gòu)建一個用于圖像分類的訓(xùn)練集,任務(wù)是將動物圖像分為貓和狗兩類。為了保證訓(xùn)練集的代表性,我們需要包含各種情境下的動物圖像,比如以下因素:
【物種多樣性】:確保訓(xùn)練集中涵蓋多種不同種類的貓和狗,而不僅僅是某一特定品種。例如,包括短毛貓和長毛貓,各類狗的品種也要有廣泛覆蓋。
【背景和環(huán)境】:圖像中的背景和環(huán)境對于模型的泛化至關(guān)重要。訓(xùn)練集應(yīng)該包含不同的背景,例如室內(nèi)、室外、草地、水域等,以確保模型不僅僅是學(xué)到了特定背景下的特征。
【姿勢和動作】: 動物在圖像中的不同姿勢和動作也是代表性的一部分。包括站立、躺下、奔跑等動作,以及正面、側(cè)面等不同的拍攝角度所呈現(xiàn)的圖像。
【光照條件】: 不同的光照條件會影響圖像的外觀,因此訓(xùn)練集應(yīng)該包含,例如陽光明媚、陰天、夜晚等不同光照條件下的樣本。
【年齡和大小】:動物的不同年齡和大小也是重要的代表性樣本。包含幼年和成年階段,以及不同體型大小的貓和狗。
所以,為了確保模型在處理真實(shí)世界圖像時能夠?qū)崿F(xiàn)更加精準(zhǔn)的分類,我們最好提供一個涵蓋各種情景的樣本數(shù)據(jù)集。
因此,在構(gòu)建訓(xùn)練集時,我們應(yīng)當(dāng)注重數(shù)據(jù)的代表性,幫助模型學(xué)到更全面的特征,提高模型在實(shí)際應(yīng)用中的性能和可靠性,使其更好地適應(yīng)和處理多樣化的真實(shí)場景。
2. 訓(xùn)練集中的樣本數(shù)量需足夠大
除了訓(xùn)練集的代表性以外,樣本數(shù)量也是至關(guān)重要的。在實(shí)際應(yīng)用中,我們通常會發(fā)現(xiàn),隨著訓(xùn)練集樣本數(shù)量的增加,模型的性能也會得到相應(yīng)的提高。
我們發(fā)現(xiàn),當(dāng)訓(xùn)練集樣本數(shù)量較小時,模型更容易受到隨機(jī)變動的影響,導(dǎo)致模型對訓(xùn)練數(shù)據(jù)過于敏感,難以捕捉真實(shí)的數(shù)據(jù)分布。相反,大規(guī)模訓(xùn)練集則有助于降低隨機(jī)性,使模型更穩(wěn)健。
假設(shè)我們想讓AI模型完成一個分類任務(wù),比如訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)來識別手寫數(shù)字。
如果訓(xùn)練集只包含幾十個圖像,而且這些圖像中只有很少的數(shù)字樣本,那模型可能只能學(xué)到非常有限的特征,無法泛化到新的手寫數(shù)字。也就是說,因?yàn)閿?shù)據(jù)量過少,模型將無法成功完成手寫數(shù)字的識別任務(wù)。
相反,如果我們有數(shù)萬張包含各種手寫數(shù)字的圖像,模型將有更多機(jī)會學(xué)到數(shù)字的共同特征,從而提高其在未見過的數(shù)據(jù)上的表現(xiàn)。這時候,給它一個新的手寫數(shù)字圖片,它就可以成功識別了。
3. 訓(xùn)練集中的數(shù)據(jù)質(zhì)量是關(guān)鍵
高質(zhì)量的訓(xùn)練數(shù)據(jù)能幫助模型更準(zhǔn)確地把握數(shù)據(jù)的真實(shí)分布,從而提升模型在處理未知數(shù)據(jù)時的表現(xiàn)。
訓(xùn)練集中的質(zhì)量關(guān)注點(diǎn)會落在標(biāo)簽的準(zhǔn)確性,圖像質(zhì)量,數(shù)據(jù)異常值或噪聲,數(shù)據(jù)采樣偏差,數(shù)據(jù)來源一致性等方面。
如果標(biāo)簽有誤,模型將學(xué)到錯誤的關(guān)系,影響其泛化能力。
假設(shè)需要AI模型完成一個醫(yī)學(xué)圖像識別的任務(wù),如果圖像標(biāo)簽錯誤地標(biāo)注了病變類型,模型可能會對患者的健康狀況做出錯誤的預(yù)測。
如果訓(xùn)練集包含錯誤的數(shù)據(jù),模型可能會學(xué)到不準(zhǔn)確的模式。
例如,在圖像分類任務(wù)中,如果識別貓狗的圖像中,出現(xiàn)了其他動物的圖片,模型就會因訓(xùn)練不到位,產(chǎn)生不準(zhǔn)確的分類結(jié)果。
不只是錯誤數(shù)據(jù),低質(zhì)量的數(shù)據(jù)也不行。
如果識別貓狗的圖像訓(xùn)練集中,大都是模糊的,分辨率低的,光線暗的,邊緣不清晰的圖片。那么最后模型的預(yù)測性能也不會好到哪里去。
還有哦,數(shù)據(jù)集中的采樣偏差也可能導(dǎo)致模型在某些類別上表現(xiàn)較差。
如果訓(xùn)練集中某個類別的樣本數(shù)量遠(yuǎn)遠(yuǎn)超過其他類別,模型可能會偏向于學(xué)習(xí)這個類別,而對其他類別的分類效果較差。
在金融欺詐檢測中,如果正常交易的數(shù)量遠(yuǎn)遠(yuǎn)超過欺詐交易,模型可能更難捕捉欺詐交易的模式。
最后一點(diǎn),如果訓(xùn)練集包含來自不同來源的數(shù)據(jù),數(shù)據(jù)之間的不一致性可能導(dǎo)致模型性能下降。
例如,在自動駕駛領(lǐng)域,如果訓(xùn)練數(shù)據(jù)來自于不同城市或天氣條件下的駕駛場景,模型可能在特定城市場景下的泛化能力較差。
4. 訓(xùn)練集模擬案例-貓貓識別模型
說了這么多,我們不妨來一個模擬案例-貓貓識別模型
此刻,我們腦暴一下,如果我們要訓(xùn)練一個識別貓的圖像分類模型,我們該如何準(zhǔn)備訓(xùn)練集數(shù)據(jù)呢?
首先,圖片的數(shù)量不能少。我們至少要準(zhǔn)備上萬張圖片,確保模型可以更全面地學(xué)習(xí)到貓的特征差異。
同時,我們在收集圖片時,還需要注重圖片的代表性。也就是說訓(xùn)練集應(yīng)該包含各種各樣的貓的圖片。
這意味著我們不僅需要收集不同品種、年齡和顏色的貓的圖片,還要收集正面、側(cè)面、背面以及俯視和仰視角度的貓的圖片。
此外,我們還需要收集在不同光照條件下拍攝的貓的圖片,如自然光、室內(nèi)燈光和夜晚等。同時,還應(yīng)該收集各種背景環(huán)境的貓的圖片,如草地、沙灘、街道等。
有了一定數(shù)量和代表性的圖片后,在質(zhì)量方面也不能忽視。因此,在收集圖片時,我們需要確保訓(xùn)練集中的每一張圖片都是高清的、無模糊或失真的,并且盡量避免使用過度處理或有濾鏡效果的圖片。
在圖片中,貓的毛發(fā)、眼睛、耳朵等特征都是模型學(xué)習(xí)的重要依據(jù),而高清圖片能夠?yàn)槟P吞峁└S富的細(xì)節(jié)信息。
如果圖片質(zhì)量較差,這些特征可能會被模糊或者丟失,導(dǎo)致模型無法準(zhǔn)確識別。因此,在收集訓(xùn)練數(shù)據(jù)時,我們應(yīng)盡量選擇分辨率較高的圖片,以便模型能夠捕捉到更多的細(xì)節(jié)。
還有一點(diǎn),我們可以在收集訓(xùn)練數(shù)據(jù)時,要盡量拿到無噪聲的圖片。因?yàn)闊o噪聲的圖片有助于提高模型的學(xué)習(xí)效率。
在實(shí)際場景中,拍攝環(huán)境可能受到光線、設(shè)備等因素的影響,導(dǎo)致圖片存在一定的噪聲。這些噪聲會對模型的學(xué)習(xí)產(chǎn)生干擾,降低訓(xùn)練效果。
為了解決這個問題,要盡量選擇光線充足、設(shè)備穩(wěn)定的環(huán)境進(jìn)行拍攝,或者通過后期處理技術(shù)去除圖片中的噪聲。
此外,我們還需要關(guān)注圖片的色彩平衡和對比度。色彩平衡是指圖片中各種顏色的分布是否均勻,對比度是指圖片中明暗區(qū)域的對比程度。
一個具有良好色彩平衡和對比度的圖片,能夠更準(zhǔn)確地反映貓的顏色和紋理信息,有助于模型進(jìn)行準(zhǔn)確的識別。因此,在進(jìn)行圖片收集時,我們應(yīng)盡量選擇色彩平衡且對比度適中的圖片,以提高模型的學(xué)習(xí)效果。
還有非常關(guān)鍵的一環(huán),當(dāng)我們準(zhǔn)備好了合適的圖庫后,我們需要關(guān)注每張圖像是否添加了正確的標(biāo)簽。正確的標(biāo)簽會告訴模型,圖像中是否真的包含貓。這是模型能正確訓(xùn)練的前提。
最后,我們將圖片庫數(shù)據(jù)進(jìn)行劃分,通常會劃分出60%~80%左右的數(shù)量比例用于訓(xùn)練集中。剩下的劃分到驗(yàn)證集和測試集中。
是不是覺得,機(jī)器識別圖片和我們?nèi)祟愖R別圖片,有很大的差異呢?連準(zhǔn)備訓(xùn)練數(shù)據(jù)都有那么多注意事項,這和我們隨便拿一張有貓的圖片教小孩識別圖中的貓,還是很不一樣的。
二、輔導(dǎo)員角色:驗(yàn)證集(Validation Set)
在機(jī)器學(xué)習(xí)中,訓(xùn)練集是用來訓(xùn)練模型的數(shù)據(jù),而驗(yàn)證集通常是從原始數(shù)據(jù)集中劃分出來的一個子集,用于在訓(xùn)練過程中檢查模型的性能,是在過擬合或欠擬合的情況下對模型進(jìn)行評估和調(diào)整的數(shù)據(jù)。
驗(yàn)證集的主要目的是為了找到一個最佳的模型及參數(shù),使得模型在未知數(shù)據(jù)上的表現(xiàn)最好。
之前提到,訓(xùn)練集一般會占用60%或80%的比例,對應(yīng)的驗(yàn)證集則一般會占用20%或10%的比例。劃分比例的依據(jù)可以根據(jù)實(shí)際需求和數(shù)據(jù)集的大小來確定。
通常情況下,我們可以使用隨機(jī)抽樣的方法從原始數(shù)據(jù)集中劃分驗(yàn)證集。
驗(yàn)證集在整個模型訓(xùn)練的過程中起著關(guān)鍵的作用,我們從幾個方面出發(fā),聊聊其重要性。
1. 調(diào)整模型的超參數(shù)
在機(jī)器學(xué)習(xí)模型中,有許多超參數(shù)需要我們參與設(shè)置,例如學(xué)習(xí)率、隱藏層神經(jīng)元數(shù)量等。這些超參數(shù)的選擇對模型的性能有很大影響。
為了找到最優(yōu)的超參數(shù)組合,我們可以將訓(xùn)練過程分為多個階段,每個階段使用不同的超參數(shù)組合進(jìn)行訓(xùn)練。然后,我們可以使用驗(yàn)證集來評估每個階段模型的性能,從而選擇出最優(yōu)的超參數(shù)組合。
BTW,補(bǔ)充一個知識點(diǎn),關(guān)于模型參數(shù)和模型超參數(shù),是怎么回事。
在機(jī)器學(xué)習(xí)中,模型參數(shù)是模型內(nèi)部的配置變量,它們是在建模過程中通過數(shù)據(jù)自動學(xué)習(xí)得到的。例如,在線性回歸或邏輯回歸模型中,這些參數(shù)對應(yīng)于方程中的系數(shù);在支持向量機(jī)中,它們是支持向量;在神經(jīng)網(wǎng)絡(luò)中,則是連接不同層之間的權(quán)重。這些參數(shù)的學(xué)習(xí)是模型訓(xùn)練的核心,旨在捕捉數(shù)據(jù)中的模式和關(guān)系。
相對地,模型超參數(shù)是模型外部的配置變量,它們不是從數(shù)據(jù)中學(xué)習(xí)得到的,而是由研究人員或數(shù)據(jù)科學(xué)家根據(jù)先驗(yàn)知識和經(jīng)驗(yàn)預(yù)先設(shè)定的。超參數(shù)包括學(xué)習(xí)率、迭代次數(shù)、網(wǎng)絡(luò)層數(shù)、隱藏單元的數(shù)量等,它們對模型的性能和訓(xùn)練過程有顯著影響。正確的超參數(shù)選擇對于獲得高效的模型至關(guān)重要,通常需要通過實(shí)驗(yàn)和調(diào)優(yōu)來確定最佳值。
2. 早停策略
在訓(xùn)練過程中,如果我們發(fā)現(xiàn)模型在驗(yàn)證集上的性能不再提高時,可以提前停止訓(xùn)練。
具體來說,我們可以設(shè)置一個小的閾值,當(dāng)模型在連續(xù)多個迭代周期內(nèi),驗(yàn)證集上的誤差沒有降低到這個閾值以下時,我們就認(rèn)為模型已經(jīng)收斂,可以停止訓(xùn)練。
這樣既可以節(jié)省訓(xùn)練時間,也可以降低不必要的成本。
3. 防止過擬合
過擬合是機(jī)器學(xué)習(xí)中的一個常見問題,指的是模型在訓(xùn)練集上表現(xiàn)很好,但在測試集上表現(xiàn)較差的現(xiàn)象。這是因?yàn)槟P瓦^于復(fù)雜,學(xué)習(xí)到了訓(xùn)練集中的一些噪聲和異常數(shù)據(jù)。
為了解決這個問題,我們可以使用驗(yàn)證集來監(jiān)控模型在訓(xùn)練過程中的性能。
如果發(fā)現(xiàn)模型在訓(xùn)練集上的表現(xiàn)越來越好,但在驗(yàn)證集上的表現(xiàn)越來越差,那么我們可以考慮減少模型的復(fù)雜度或者增加正則化項,以防止過擬合的發(fā)生。
4. 對比不同模型結(jié)構(gòu)
我們可以通過對比不同模型結(jié)構(gòu)在驗(yàn)證集上的性能,選擇最適合任務(wù)的模型結(jié)構(gòu)。
這有助于避免選擇過于簡單或過于復(fù)雜的模型,從而提高模型的實(shí)際效果。
比如,比較卷積神經(jīng)網(wǎng)絡(luò)(CNN) 和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN) 在情感分析任務(wù)上的性能。通過觀察它們的表現(xiàn),選擇更適合處理文本數(shù)據(jù)的模型結(jié)構(gòu)。
5. 驗(yàn)證集模擬案例-貓貓識別模型
了解了驗(yàn)證集后,我們趁熱打鐵,繼續(xù)貓貓識別模型的模擬案例。
為了有效完成貓的圖像識別任務(wù),我們假設(shè)已經(jīng)選擇好了一個合適的圖像分類模型:卷積神經(jīng)網(wǎng)絡(luò)(CNN)。
在訓(xùn)練CNN模型時,我們需要設(shè)置一些超參數(shù),如學(xué)習(xí)率、批次大小、迭代次數(shù)等。
一般來說,我們可以先設(shè)置一個較大的學(xué)習(xí)率,然后逐漸減小,以加快收斂速度。
批次大小和迭代次數(shù)的選擇則需要根據(jù)具體任務(wù)和計算資源來確定。
在模型的訓(xùn)練過程中,我們需要周期性地使用驗(yàn)證集來評估模型在未見過的數(shù)據(jù)上的表現(xiàn)。這有助于檢測模型是否過擬合訓(xùn)練,泛化能力如何等等。
評估性能時,我們會用到一些數(shù)據(jù)指標(biāo)。最常用的指標(biāo)是準(zhǔn)確率(accuracy),即正確分類的樣本數(shù)占總樣本數(shù)的比例。
此外,我們還可以使用其他指標(biāo),如精確率(precision)、召回率(recall)和F1分?jǐn)?shù)(F1-score)等,以便更全面地了解模型的性能。這些指標(biāo)可以反映CNN模型對新的貓圖片數(shù)據(jù)的分類能力。
BTW,關(guān)于這些指標(biāo)的詳細(xì)解釋,我在本篇《產(chǎn)品經(jīng)理的獨(dú)門技能—AI監(jiān)督學(xué)習(xí)(6000字干貨)》中有進(jìn)一步的介紹,感興趣的朋友也可以去看看。
通過驗(yàn)證集的指標(biāo)反饋,我們會觀測到一些問題。
如果模型在某一類別上的準(zhǔn)確率較低,可能說明該類別的訓(xùn)練樣本較少或者特征不夠明顯。
針對這種情況,我們可以嘗試增加該類別的訓(xùn)練樣本或者調(diào)整模型結(jié)構(gòu)。
此外,我們還需要注意數(shù)據(jù)的過擬合現(xiàn)象。
如果出現(xiàn)過擬合問題,我們可以采用增加數(shù)據(jù)量、簡化模型、正則化技術(shù)等方法來解決。
最后,我們還需要關(guān)注驗(yàn)證集的損失函數(shù)(loss function)。損失函數(shù)用于衡量模型預(yù)測結(jié)果與真實(shí)結(jié)果之間的差距。
損失函數(shù)的值越小,越意味著模型的預(yù)測結(jié)果與真實(shí)結(jié)果更接近?!?a href="http://www.theventurebank.com/ai/5974002.html" target="_blank" rel="noopener">(萬字干貨)如何訓(xùn)練優(yōu)化“AI神經(jīng)網(wǎng)絡(luò)”模型?》中有對損失函數(shù)的展開介紹。
總體而言,驗(yàn)證集的使用是一個迭代的調(diào)優(yōu)過程,它會輔助我們觀測和調(diào)整CNN模型,以確保模型能夠有效學(xué)習(xí)和區(qū)分貓的特征,提高CNN模型在實(shí)際應(yīng)用中識別貓圖像的準(zhǔn)確性和可靠性。
至此,我們可以說,算是完成了CNN模型在驗(yàn)證集上的訓(xùn)練調(diào)優(yōu)。
溫馨提示,在使用驗(yàn)證集時,我們還需要注意一些問題。
首先,我們不能在驗(yàn)證集上進(jìn)行多次迭代,否則驗(yàn)證集就變成了一個“小訓(xùn)練集”。就可能會導(dǎo)致信息泄露,使得模型過分適應(yīng)驗(yàn)證集的數(shù)據(jù)分布,從而失去了泛化能力。
還需注意的是,為了避免信息泄露。驗(yàn)證集中的數(shù)據(jù)應(yīng)該是模型在訓(xùn)練過程中沒有見過的,以真實(shí)地模擬模型在實(shí)際應(yīng)用中的性能。
三、考官角色:測試集(Test Set)
現(xiàn)在,我們已經(jīng)知道了驗(yàn)證集主要用于在訓(xùn)練過程中對模型進(jìn)行評估和調(diào)整。
那它能保證模型在未來的未知數(shù)據(jù)上具有良好的性能嗎?
為了找到這個答案,我們在驗(yàn)證集訓(xùn)練完成后,還需要進(jìn)行測試,以進(jìn)一步評估模型的泛化能力。
這時候,測試集就要閃亮登場了。
它扮演著模型性能的“考官”角色,它的考核結(jié)果將幫助我們衡量模型是否真正學(xué)會了我們需要它學(xué)習(xí)的知識。
測試集也是從原始數(shù)據(jù)集中分離出來的一部分?jǐn)?shù)據(jù),但它不參與模型的訓(xùn)練過程。它是一個獨(dú)立的數(shù)據(jù)集,其中的數(shù)據(jù)樣例是模型在實(shí)際應(yīng)用中首次遇到的數(shù)據(jù),之前素未謀面。
測試集在整個模型訓(xùn)練的過程中,無論是評估模型泛化能力,還是發(fā)現(xiàn)潛在問題,又或者是幫助模型優(yōu)化和調(diào)參等方面,都起到了重要的作用。
下面我們來展開討論一下測試集在整個數(shù)據(jù)集中起到了什么作用?
1. 評估模型的泛化能力
測試集的最大價值之一是用于評估模型的泛化能力,以衡量模型在未知數(shù)據(jù)上的表現(xiàn)。
在AI模型訓(xùn)練過程中,我們往往會在訓(xùn)練集上看到很好的表現(xiàn)。
然而,這并不意味著模型已經(jīng)真正掌握了知識,能夠在新遇到的數(shù)據(jù)上同樣表現(xiàn)優(yōu)秀。為了驗(yàn)證這一點(diǎn),我們需要借助測試集來進(jìn)行評估。
通過測試集,我們可以得到模型在真實(shí)世界中的泛化能力,而不僅僅是在訓(xùn)練數(shù)據(jù)上的記憶能力。
我們的目標(biāo)不僅僅是讓模型在訓(xùn)練中取得高分,而是要確保它能夠靈活應(yīng)對新的挑戰(zhàn)。
2. 發(fā)現(xiàn)潛在問題
測試集會幫助我們發(fā)現(xiàn)模型的潛在問題,比如,發(fā)現(xiàn)模型不穩(wěn)定。
正常來說,在不同時間或不同環(huán)境下,模型在測試集上的性能應(yīng)該保持相對一致。
又或者,發(fā)現(xiàn)數(shù)據(jù)質(zhì)量不一致性的問題,測試集中出現(xiàn)了與訓(xùn)練集不同的數(shù)據(jù)分布或標(biāo)簽分布。
測試集還可以用于評估模型對于異常情況的處理能力。
在真實(shí)場景中,模型可能會面對不同于訓(xùn)練數(shù)據(jù)的情形,如噪聲、異常值或極端情況。
測試集的設(shè)計可以包含這些異常情況,幫助評估模型的魯棒性和處理能力。
一個魯棒性強(qiáng)的模型能夠在各種條件下都能穩(wěn)定地工作,而不會因?yàn)槟承┬〉淖兓蛘咴肼暥鴮?dǎo)致性能大幅下降。
例如,一個用于自動駕駛汽車的圖像識別模型,即使在雨天、霧天或者光照不足的情況下,也能夠準(zhǔn)確地識別出物體,我們就可以說這個模型的魯棒性很強(qiáng)。
因此,通過測試集,我們能發(fā)現(xiàn)模型的潛在問題和缺陷,也有助于我們及時對模型進(jìn)行調(diào)整和改進(jìn)。
3. 模型調(diào)優(yōu)
測試集的結(jié)果為我們提供了寶貴的反饋,它們是優(yōu)化模型和調(diào)整參數(shù)的客觀依據(jù)。
通過分析測試集的表現(xiàn),我們可以確定最佳的模型結(jié)構(gòu)和參數(shù)設(shè)置。
例如,我們可以根據(jù)測試集的準(zhǔn)確率來調(diào)整神經(jīng)網(wǎng)絡(luò)的層數(shù)、每層的神經(jīng)元數(shù)量以及激活函數(shù)等關(guān)鍵參數(shù)。
如果測試結(jié)果顯示,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)和特定參數(shù)配置時,模型的表現(xiàn)最為出色,那么我們很可能會選擇這個配置作為我們的最終模型。
這樣的選擇會更靠譜和可信。因?yàn)樗腔跍y試集上實(shí)際的數(shù)據(jù)反饋,而不是僅僅依賴于訓(xùn)練集上的性能來確定模型是否具有良好的泛化能力。
4. 防止過擬合
測試集可以幫助我們檢測模型是否過擬合。當(dāng)模型在訓(xùn)練集和驗(yàn)證集上表現(xiàn)良好,但在測試集上表現(xiàn)不佳時,這可能是一個警示信號。
打個比方,假設(shè)我們有一個信貸審批模型,它在訓(xùn)練和驗(yàn)證階段都展現(xiàn)出了很高的準(zhǔn)確率,但在測試階段準(zhǔn)確率卻明顯降低。
這種情況通常意味著模型對訓(xùn)練數(shù)據(jù)過于敏感,沒有很好地泛化到新數(shù)據(jù)上。
我們需要采取一些措施,如簡化模型結(jié)構(gòu)或引入正則化方法來減少過擬合的風(fēng)險。
最后,在整個AI項目中,我們也要注意做好數(shù)據(jù)隔離,保證數(shù)據(jù)獨(dú)立性,避免在處理過程中將測試集的信息泄露到訓(xùn)練集中。
我們需要確保AI遇見的測試集中的數(shù)據(jù)都是新面孔。
5. 測試集模擬案例-貓貓識別模型
我們繼續(xù)貓貓識別模型的模擬案例,說說測試集的使用。
照例,要先做好數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)劃分。通常,測試集占原始數(shù)據(jù)集的10%至20%。
數(shù)據(jù)劃分時要確保數(shù)據(jù)分布的一致性,以便在不同階段的模型訓(xùn)練和評估中能夠準(zhǔn)確地反映出模型的性能。
然后,我們將經(jīng)歷過訓(xùn)練集和驗(yàn)證集考驗(yàn)后的模型,引入測試集進(jìn)行訓(xùn)練并觀測,通過數(shù)據(jù)指標(biāo)來進(jìn)行評估。
我們可以重點(diǎn)關(guān)注準(zhǔn)確率和損失函數(shù)這兩個值,準(zhǔn)確率表示模型在識別貓圖像時的正確率,損失函數(shù)表示模型在預(yù)測貓圖像時的誤差。
根據(jù)測試集反饋的指標(biāo)結(jié)果,我們可以知曉模型是否能夠準(zhǔn)確地識別圖像中的貓。
比如當(dāng)出現(xiàn)新的貓的姿勢、顏色和背景時,當(dāng)圖片的光照和清晰度水準(zhǔn)不一時,模型是否都能認(rèn)出圖中有貓。
當(dāng)模型經(jīng)過測試集的檢驗(yàn)后,我們最后要做的,就是完成模型部署。
我們將表現(xiàn)最好的貓貓圖像識別模型部署到實(shí)際應(yīng)用中。例如,我們可以將這個模型應(yīng)用于智能監(jiān)控系統(tǒng),自動識別和追蹤攝像頭范圍內(nèi)的貓。
四、總結(jié)與預(yù)告
以上,就是關(guān)于訓(xùn)練集,驗(yàn)證集,測試集的獨(dú)家介紹了。我將三者比喻成了教師、輔導(dǎo)員和考官,通過貓貓識別模型的模擬案例來展示了它們各自的能力。
訓(xùn)練集為模型提供了學(xué)習(xí)的基礎(chǔ),使得模型能夠從數(shù)據(jù)中學(xué)習(xí)到規(guī)律和特征。
正如,古人云:“授人以魚不如授人以漁”,訓(xùn)練集就是那個“漁”,它為模型提供了學(xué)習(xí)的方法和途徑。
驗(yàn)證集的作用在于調(diào)整模型的超參數(shù),防止過擬合,采用早停策略,以及對比不同模型結(jié)構(gòu)。
通過驗(yàn)證集,我們能夠在訓(xùn)練過程中及時發(fā)現(xiàn)模型的問題,并采取相應(yīng)的措施進(jìn)行調(diào)整。
恰似,“他山之石,可以攻玉”,驗(yàn)證集就是那個“他山之石”,它幫助我們發(fā)現(xiàn)問題,改進(jìn)模型。
測試集是對模型最終性能的評估,它能夠客觀地反映模型的泛化能力。
可謂,“路遙知馬力,日久見人心”,測試集就是那個“路遙”探測器,它能夠檢驗(yàn)?zāi)P偷恼嬲龑?shí)力。
“工欲善其事,必先利其器”,訓(xùn)練集、驗(yàn)證集和測試集就是我們構(gòu)建和評估模型的“利器”。
充分利用好它們,我們可以構(gòu)建出性能優(yōu)秀、泛化能力強(qiáng)的模型,在人工智能的發(fā)展中,抓住機(jī)遇,收獲成功。
預(yù)告一下,AI數(shù)據(jù)集的內(nèi)容我還沒說完。
下一篇章我會嘮嘮“訓(xùn)練集,驗(yàn)證集,測試集”的區(qū)別和聯(lián)系,也會說一些目前國內(nèi)數(shù)據(jù)集的現(xiàn)狀、挑戰(zhàn)和應(yīng)對之策。
作者:果釀,公眾號:果釀產(chǎn)品說
本文由 @果釀 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!