最近有很多關(guān)于數(shù)據(jù)是否是新模型驅(qū)動(dòng) [1] [2] 的討論,無論結(jié)論如何,都無法改變我們?cè)趯?shí)際工作中獲取數(shù)據(jù)成本很高這一事實(shí)(人工費(fèi)用、許可證費(fèi)用、設(shè)備運(yùn)行時(shí)間等方面)。
因此,在機(jī)器學(xué)習(xí)項(xiàng)目中,一個(gè)關(guān)鍵的問題是,為了達(dá)到比如分類器準(zhǔn)確度等特定性能指標(biāo),我們需要多少訓(xùn)練數(shù)據(jù)才夠。訓(xùn)練數(shù)據(jù)多少的問題在相關(guān)文獻(xiàn)中也稱為樣本復(fù)雜度。
在這篇文章中,我們將從回歸分析開始到深度學(xué)習(xí)等領(lǐng)域,快速而廣泛地回顧目前關(guān)于訓(xùn)練數(shù)據(jù)多少的經(jīng)驗(yàn)和相關(guān)的研究結(jié)果。具體來說,我們將:
說明回歸任務(wù)和計(jì)算機(jī)視覺任務(wù)訓(xùn)練數(shù)據(jù)的經(jīng)驗(yàn)范圍;
給定統(tǒng)計(jì)檢驗(yàn)的檢驗(yàn)效能,討論如何確定樣本數(shù)量。這是一個(gè)統(tǒng)計(jì)學(xué)的話題,然而,由于它與確定機(jī)器學(xué)習(xí)訓(xùn)練數(shù)據(jù)量密切相關(guān),因此也將包含在本討論中;
展示統(tǒng)計(jì)理論學(xué)習(xí)的結(jié)果,說明是什么決定了訓(xùn)練數(shù)據(jù)的多少;
給出下面問題的答案:隨著訓(xùn)練數(shù)據(jù)的增加,模型性能是否會(huì)繼續(xù)改善?在深度學(xué)習(xí)的情況下又會(huì)如何?
提出一種在分類任務(wù)中確定訓(xùn)練數(shù)據(jù)量的方法;
最后,我們將回答這個(gè)問題:增加訓(xùn)練數(shù)據(jù)是處理數(shù)據(jù)不平衡的最佳方式嗎?
01
訓(xùn)練數(shù)據(jù)量的經(jīng)驗(yàn)范圍
首先讓我們看一些廣泛使用的,用來確定訓(xùn)練數(shù)據(jù)量的經(jīng)驗(yàn)方法,根據(jù)我們使用的模型類型:
回歸分析:根據(jù) 1/10 的經(jīng)驗(yàn)規(guī)則,每個(gè)預(yù)測(cè)因子 [3] 需要 10 個(gè)樣例。在 [4] 中討論了這種方法的其他版本,比如用 1/20 來處理回歸系數(shù)減小的問題,在 [5] 中提出了一個(gè)令人興奮的二元邏輯回歸變量。
具體地說,作者通過考慮預(yù)測(cè)變量的數(shù)量、總體樣本量以及正樣本量/總體樣本量的比例來估計(jì)訓(xùn)練數(shù)據(jù)的多少。
計(jì)算機(jī)視覺:對(duì)于使用深度學(xué)習(xí)的圖像分類,經(jīng)驗(yàn)法則是每一個(gè)分類需要 1000 幅圖像,如果使用預(yù)訓(xùn)練的模型 [6],這個(gè)需求可以顯著下降。
02
假設(shè)檢驗(yàn)中樣本大小的確定
假設(shè)檢驗(yàn)是數(shù)據(jù)科學(xué)家用來檢驗(yàn)群體差異、確定新藥物療效等的工具之一。考慮到進(jìn)行測(cè)試的能力,這里通常需要確定樣本大小。
讓我們來看看這個(gè)例子:一家科技巨頭搬到了 A 市,那里的房價(jià)大幅上漲。一位記者想知道,現(xiàn)在公寓的平均價(jià)格是多少。
如果給定公寓價(jià)格標(biāo)準(zhǔn)差為 60K,可接受的誤差范圍為 10K,他應(yīng)該統(tǒng)計(jì)多少套公寓的價(jià)格然后進(jìn)行平均,才能使結(jié)果有 95% 的置信度?
計(jì)算的公式如下:N 是他需要的樣本量,1.96 是 95% 置信度所對(duì)應(yīng)的標(biāo)準(zhǔn)正態(tài)分布的個(gè)數(shù):
樣本容量估計(jì)
根據(jù)上面的等式,記者需要考慮約 138 套公寓的價(jià)格即可。
上面的公式會(huì)根據(jù)具體的測(cè)試任務(wù)而變化,但它總是包括置信區(qū)間、可接受的誤差范圍和標(biāo)準(zhǔn)差度量。在[7]中可以找到關(guān)于這個(gè)主題的更好的討論。
03
訓(xùn)練數(shù)據(jù)規(guī)模的統(tǒng)計(jì)學(xué)習(xí)理論
讓我們首先介紹一下著名的 Vapnik-Chevronenkis 維度 ( VC 維) [8]。VC 維是模型復(fù)雜度的度量,模型越復(fù)雜,VC 維越大。在下一段中,我們將介紹一個(gè)用 VC 表示訓(xùn)練數(shù)據(jù)大小的公式。
首先,讓我們看一個(gè)經(jīng)常用于展示 VC 維如何計(jì)算的例子:假設(shè)我們的分類器是二維平面上的一條直線,有 3 個(gè)點(diǎn)需要分類。
無論這 3 個(gè)點(diǎn)的正/負(fù)組合是什么(都是正的、2個(gè)正的、1個(gè)正的,等等),一條直線都可以正確地分類/區(qū)分這些正樣本和負(fù)樣本。
我們說線性分類器可以區(qū)分所有的點(diǎn),因此,它的 VC 維至少是 3,又因?yàn)槲覀兛梢哉业?個(gè)不能被直線準(zhǔn)確區(qū)分的點(diǎn)的例子,所以我們說線性分類器的 VC 維正好是3。結(jié)果表明,訓(xùn)練數(shù)據(jù)大小 N 是 VC 的函數(shù) [8]:
從 VC 維估計(jì)訓(xùn)練數(shù)據(jù)的大小
其中 d 為失效概率,epsilon 為學(xué)習(xí)誤差。因此,正如 [9] 所指出的,學(xué)習(xí)所需的數(shù)據(jù)量取決于模型的復(fù)雜度。一個(gè)明顯的例子是眾所周知的神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練數(shù)據(jù)的貪婪,因?yàn)樗鼈兎浅?fù)雜。
04
隨著訓(xùn)練數(shù)據(jù)的增加,模型性能會(huì)繼續(xù)提高嗎?在深度學(xué)習(xí)的情況下又會(huì)怎樣?
學(xué)習(xí)曲線
上圖展示了在傳統(tǒng)機(jī)器學(xué)習(xí) [10] 算法(回歸等)和深度學(xué)習(xí) [11] 的情況下,機(jī)器學(xué)習(xí)算法的性能隨著數(shù)據(jù)量的增加而如何變化。
具體來說,對(duì)于傳統(tǒng)的機(jī)器學(xué)習(xí)算法,性能是按照冪律增長的,一段時(shí)間后趨于平穩(wěn)。 文獻(xiàn) [12]-[16],[18] 的研究展示了對(duì)于深度學(xué)習(xí),隨著數(shù)據(jù)量的增加性能如何變化。
圖1顯示了當(dāng)前大多數(shù)研究的共識(shí):對(duì)于深度學(xué)習(xí),根據(jù)冪次定律,性能會(huì)隨著數(shù)據(jù)量的增加而增加。
例如,在文獻(xiàn) [13] 中,作者使用深度學(xué)習(xí)技術(shù)對(duì)3億幅圖像進(jìn)行分類,他們發(fā)現(xiàn)隨著訓(xùn)練數(shù)據(jù)的增加模型性能呈對(duì)數(shù)增長。
讓我們看看另一些在深度學(xué)習(xí)領(lǐng)域值得注意的,與上述矛盾的結(jié)果。具體來說,在文獻(xiàn) [15] 中,作者使用卷積網(wǎng)絡(luò)來處理 1 億張 Flickr 圖片和標(biāo)題的數(shù)據(jù)集。
對(duì)于訓(xùn)練集的數(shù)據(jù)量,他們報(bào)告說,模型性能會(huì)隨著數(shù)據(jù)量的增加而增加,然而,在 5000 萬張圖片之后,它就停滯不前了。
在文獻(xiàn)[16]中,作者發(fā)現(xiàn)圖像分類準(zhǔn)確度隨著訓(xùn)練集的增大而增加,然而,模型的魯棒性在超過與模型特定相關(guān)的某一點(diǎn)后便開始下降。
05
在分類任務(wù)中確定訓(xùn)練數(shù)據(jù)量的方法
眾所周知的學(xué)習(xí)曲線,通常是誤差與訓(xùn)練數(shù)據(jù)量的關(guān)系圖。[17] 和 [18] 是了解機(jī)器學(xué)習(xí)中學(xué)習(xí)曲線以及它們?nèi)绾坞S著偏差或方差的增加而變化的參考資料。Python 在 scikit-learn [17] 也中提供了一個(gè)學(xué)習(xí)曲線的函數(shù)。
在分類任務(wù)中,我們通常使用一個(gè)稍微變化的學(xué)習(xí)曲線形式:分類準(zhǔn)確度與訓(xùn)練數(shù)據(jù)量的關(guān)系圖。
確定訓(xùn)練數(shù)據(jù)量的方法很簡單:首先根據(jù)任務(wù)確定一個(gè)學(xué)習(xí)曲線形式,然后簡單地在圖上找到所需分類準(zhǔn)確度對(duì)應(yīng)的點(diǎn)。例如,在文獻(xiàn) [19]、[20] 中,作者在醫(yī)學(xué)領(lǐng)域中使用了學(xué)習(xí)曲線法,并用冪律函數(shù)表示:
學(xué)習(xí)曲線方程
上式中 y 為分類準(zhǔn)確度,x 為訓(xùn)練數(shù)據(jù),b1、b2 分別對(duì)應(yīng)學(xué)習(xí)率和衰減率。參數(shù)的設(shè)置隨問題的不同而變化,可以用非線性回歸或加權(quán)非線性回歸對(duì)它們進(jìn)行估計(jì)。
06
增加訓(xùn)練數(shù)據(jù)是處理數(shù)據(jù)不平衡的最好方法嗎?
這個(gè)問題在文獻(xiàn) [9] 中得到了解決。作者提出了一個(gè)有趣的觀點(diǎn):在數(shù)據(jù)不平衡的情況下,準(zhǔn)確性并不是衡量分類器性能的最佳指標(biāo)。
原因很直觀:讓我們假設(shè)負(fù)樣本是占絕大多數(shù),然后如果我們?cè)诖蟛糠謺r(shí)間里都預(yù)測(cè)為負(fù)樣本,就可以達(dá)到很高的準(zhǔn)確度。
相反,他們建議準(zhǔn)確度和召回率(也稱為靈敏度)是衡量數(shù)據(jù)不平衡性能的最合適指標(biāo)。除了上述明顯的準(zhǔn)確度問題外,作者還認(rèn)為,測(cè)量精度對(duì)不平衡區(qū)域的內(nèi)在影響更大。
例如,在醫(yī)院的警報(bào)系統(tǒng) [9] 中,高精確度意味著當(dāng)警報(bào)響起時(shí),病人很可能確實(shí)有問題。
選擇適當(dāng)?shù)男阅軠y(cè)量方法,作者比較了在 imbalanced-learn [21] (Python scikit-learn 庫)中的不平衡校正方法和簡單的使用一個(gè)更大的訓(xùn)練數(shù)據(jù)集。
具體地說,他們?cè)谝粋€(gè) 50,000 個(gè)樣本的藥物相關(guān)的數(shù)據(jù)集上,使用 imbalance-correction 中的K近鄰方法進(jìn)行數(shù)據(jù)不平衡校正,這些不平衡校正技術(shù)包括欠采樣、過采樣和集成學(xué)習(xí)等,然后在與原數(shù)據(jù)集相近的 100 萬數(shù)據(jù)集上訓(xùn)練了一個(gè)神經(jīng)網(wǎng)絡(luò)。
作者重復(fù)實(shí)驗(yàn)了 200 次,最終的結(jié)論簡單而深刻:在測(cè)量準(zhǔn)確度和召回率方面,沒有任何一種不平衡校正技術(shù)可以與增加更多的訓(xùn)練數(shù)據(jù)相媲美。
-
計(jì)算機(jī)視覺
+關(guān)注
關(guān)注
8文章
1700瀏覽量
46127 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5513瀏覽量
121546
原文標(biāo)題:深度學(xué)習(xí),怎么知道你的訓(xùn)練數(shù)據(jù)真的夠了?
文章出處:【微信號(hào):cas-ciomp,微信公眾號(hào):中科院長春光機(jī)所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
深度學(xué)習(xí)與機(jī)器學(xué)習(xí)有什么差異你知道嗎?
![<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>與機(jī)器<b class='flag-5'>學(xué)習(xí)</b>有什么差異<b class='flag-5'>你</b><b class='flag-5'>知道</b>嗎?](https://file1.elecfans.com//web2/M00/A6/D9/wKgZomUMQNyAD1_YAAFjijS_PJ0558.png)
如何才能高效地進(jìn)行深度學(xué)習(xí)模型訓(xùn)練?
![如何才能高效地進(jìn)行<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>模型<b class='flag-5'>訓(xùn)練</b>?](https://file.elecfans.com/web1/M00/56/D6/pIYBAFtCsXCANCA6AAATEt7V02w366.png)
深度學(xué)習(xí)與數(shù)據(jù)挖掘的關(guān)系
機(jī)器學(xué)習(xí)訓(xùn)練秘籍——吳恩達(dá)
干貨 | 這些機(jī)器學(xué)習(xí)算法,你了解幾個(gè)?
深度學(xué)習(xí)入門之中根據(jù)源代碼下載到mnist數(shù)據(jù)集,訓(xùn)練識(shí)別率超級(jí)低問題
深度學(xué)習(xí)中最核心的問題之一:訓(xùn)練數(shù)據(jù)
深度學(xué)習(xí)是什么?了解深度學(xué)習(xí)難嗎?讓你快速了解深度學(xué)習(xí)的視頻講解
深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練技巧的詳細(xì)資料匯總
![<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>網(wǎng)絡(luò)<b class='flag-5'>訓(xùn)練</b>技巧的詳細(xì)資料匯總](https://file.elecfans.com/web1/M00/86/5C/o4YBAFyAgYuAQJf1AAYjYcbsoUk814.png)
如何使用框架訓(xùn)練網(wǎng)絡(luò)加速深度學(xué)習(xí)推理
![如何使用框架<b class='flag-5'>訓(xùn)練</b>網(wǎng)絡(luò)加速<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>推理](https://file.elecfans.com//web2/M00/3A/FA/pYYBAGJGrYaAOHdwAADOhwG6fXc468.png)
深度學(xué)習(xí)框架區(qū)分訓(xùn)練還是推理嗎
視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架Torchvision介紹
![視覺<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>遷移<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>訓(xùn)練</b>框架Torchvision介紹](https://file1.elecfans.com/web2/M00/A5/A0/wKgaomUM9ICAERLbAAA693514ag604.png)
深度學(xué)習(xí)如何訓(xùn)練出好的模型
![<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>如何<b class='flag-5'>訓(xùn)練</b>出好的模型](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
評(píng)論