針對線性回歸模型和深度學習模型,介紹了確定訓練數據集規模的方法

2020-12-25 電子發燒友

【導讀】對於機器學習而言,獲取數據的成本有時會非常昂貴,因此為模型選擇一個合理的訓練數據規模,對於機器學習是至關重要的。在本文中,作者針對線性回歸模型和深度學習模型,分別介紹了確定訓練數據集規模的方法。

數據是否會成為新時代的「原油」是人們近來常常爭論的一個問題。

無論爭論結果如何,可以確定的是,在機器學前期,數據獲取成本可能十分高昂(人力工時、授權費、設備運行成本等)。因此,對於機器學習的一個非常關鍵的問題是,確定能使模型達到某個特定目標(如分類器精度)所需要的訓練數據規模。

在本文中,我們將對經驗性結果和研究文獻中關於訓練數據規模的討論進行簡明扼要的綜述,涉及的機器學習模型包括回歸分析等基本模型,以及複雜模型如深度學習。訓練數據規模在文獻中也稱樣本複雜度,本文將對如下內容進行介紹:

針對線性回歸和計算機視覺任務,給出基於經驗確定訓練數據規模的限制;

討論如何確定樣本大小,以獲得更好的假設檢驗結果。雖然這是一個統計問題,但是該問題和確定機器學習訓練數據集規模的問題很相似,因此在這裡一併討論;

對影響訓練數據集規模的因素,給出基於統計理論學習的結果;

探討訓練集增大對模型表現提升的影響,並著重分析深度學習中的情形;

給出一種在分類任務中確定訓練數據集大小的方法;

探討增大訓練集是否是應對不平衡數據集的最好方式。

基於經驗確定訓練集規模的限制

首先,我們依據使用的模型類型,探討一些廣泛使用的經驗性方法:

回歸分析:依據統計學中的「十分之一」經驗法則(one-in-ten rule),每個預測器都需要使用 10 個實例訓練。這種經驗法則還有其他版本,例如用於解決回歸係數縮減問題的「二十分之一」規則(one-in-twenty rule)。最近,《Sample Size For Binary Logistic Prediction Models: Beyond Events Per Variable Criteria》一文中還提出了一種有趣的二元邏輯回歸變體。在該文中,作者通過預測器中變量的個數、總樣本量,以及正樣本量與總樣本量的比值,對訓練數據規模進行了估計。

計算機視覺:對於利用深度學習的圖像分類問題,根據「經驗法則」,建議每一個類別收集 1000 張圖像。如果使用預訓練模型,數據集的規模則可以大幅減少。

通過假設檢驗確定樣本規模

假設檢驗是數據科學常用的一種統計工具,一般也可以用於確定樣本規模。

舉個例子:某科技巨頭搬去 A 城後,A 城的房價便急劇上漲,而某記者想知道現在每套公寓的均價是多少。那麼問題來了,在保證 95% 的置信度,60 K 的公寓價格標準差,且價格誤差在10K 以內的條件下,計算多少棟公寓的均價較為合理?

相應公式見下圖,其中 N 為所需的樣本規模,1.96 為標準正態分布在 95% 置信度下所對應的常數:

     

樣本量估計

根據上述公式,該記者需要考慮大概 138 棟公寓的價格。

該公式將隨著檢驗問題的不同而改變,但是都要通過置信區間、可容忍誤差和標準差值來計算。

訓練數據規模的統計學習理論

我們先介紹一下著名的 VC 維(Vapnik-Chevronenkis dimension)。VC 維是一種模型複雜度的度量;模型越複雜,它的 VC 維就越高。下面介紹根據 VC 維來確定訓練數據規模的公式。

首先,通過一個例子來看一下 VC 維是如何計算的:假設一個二維平面上有三個點需要被分類,而我們的分類器為該平面上的一條直線。無論這三點怎樣組合(均為正例,兩正一負、一正兩負等),這條直線都能正確地將正負樣本歸類/分開。那麼,我們就認為一個線性分類器可以劃分這三點中的任意一點,因而它的 VC 維至少為 3。

另外,由於存在四個點的組合不能被一條直線準確分開,所以這個線性分類器的 VC 維為 3。可以證明,訓練數據規模 N 是 VC 維的一個函數:

     

由 VC 維估計訓練數據規模

其中 d 為失敗率, epsilon 為學習中的誤差率。由此可見,學習模型所需的樣本量取決於模型的複雜度。但該方法有一個弊端,就是在面對神經網絡顯著的複雜度時,會要求十分龐大的訓練數據規模。

當訓練集增大時,模型的表現會持續提升嗎?在深度學習任務又如何呢?

       

上圖展示了隨著數據規模的增長,傳統的機器學習算法(回歸等)和深度學習表現的變化。

具體來看,對於傳統的機器學習算法,模型的表現先是遵循冪定律(power law),之後趨於平緩;而對於深度學習,該問題還在持續不斷地研究中,不過圖一為目前較為一致的結論,即隨著數據規模的增長,深度學習模型的表現會按照冪定律持續提升。例如,有人曾用深度學習方法對三億張圖像進行分類,發現模型的表現隨著訓練數據規模的增長按對數關係提升。

值得注意的是,在深度學習中也有一些與上述例子不同的結果。比如,在《Learning Visual Features from Large Weakly Supervised Data》一文中,作者使用了一億條 Flickr 上的圖片和標籤來訓練卷積神經網絡,剛開始模型表現會隨著數據規模的增大而提升,但超過五千萬張圖片後模型的效果提升就不太明顯了。

文章《How Training Data Affect the Accuracy and Robustness of Neural Networks for Image Classification》的作者還發現,隨著訓練數據規模的增加,圖像分類的準確度確實會上升;但是,模型的魯棒性會在數據規模到達一定程度後開始下降。

分類任務中確定訓練數據集大小的方法

該方法基於我們所熟知的學習曲線,一般而言,學習曲線圖的縱軸為誤差,橫軸為訓練數據集大小。《 Tutorial: Learning Curves for Machine Learning in Python》和《Learning Curve》是很好的參考資料,可以用於進一步了解機器學習中的學習曲線,以及它們是如何隨著偏差或方差的增加而變化的。Python 在 scikit-learn 中提供了一種學習曲線函數。

在分類任務中,我們往往會使用學習曲線的一種輕微變體,在該曲線圖中,縱軸為分類準確度,橫軸為訓練數據集大小。訓練集規模的確定十分簡單:只需針對你的問題,先確定學習曲線的確切形狀,然後找到曲線上你預期的分類準確度所對應的訓練數據集大小即可。

例如,在文章《Predicting Sample Size Required for Classification Performance》和《How Much Data Is Needed to Train A Medical Image Deep Learning System to Achieve Necessary High Accuracy?》中,作者們將學習曲線的方法應用到了醫學領域,並且給出了一個相應的冪函數:

     

學習曲線公式

其中,y 為分類準確度,x 為訓練集,b1,b2 分別為學習率和衰減率。根據問題的不同,參數會有所不同,可以通過非線性回歸或加權非線性回歸對參數進行估計。

增大訓練集是應對不平衡數據集的最好方式?

文章《Precision-Recall Versus Accuracy and the Role of Large Data Sets》對該問題進行了討論。該文作者提出了一個很有意思的觀點:在不平衡的數據集下,準確度並不是一個分類器表現好壞的最佳度量。

原因很簡單,對於一個負樣本為主的數據集,模型往往通過將大部分樣本分類為負樣本,以提高準確度。為了更好地衡量模型效果,他們將準確率和召回率(又稱敏感性)作為不平衡數據集下度量模型表現的合理標準。

除了上述提到的關於準確度的問題,作者們還指出,對於存在不平衡數據的問題而言,模型的準確率往往對其更加重要。比如一個醫院的警報系統而言,高精確率就意味著當警鈴響起時,很有可能確實有病人遇到了麻煩。

之後,該文章分別使用較大的非平衡訓練集和不平衡學習包(imbalanced-learn, 基於Python scikit-learn)對模型進行了訓練,並使用準確率和召回率對訓練效果進行了分別的度量。

第一個模型使用了一個包含5萬個樣本的藥物研發數據,並構建了使用不平衡矯正方法的K-近鄰模型。第二個模型使用了一個包含大約100萬個樣本的數據集上,構建了一個簡單的K-近鄰模型。

其中,不平衡矯正方法包括欠採樣、過採樣和集成學習。文章作者重複了200次實驗,其結論為,當把精確率和召回率作為度量時,沒有任何一種不平衡矯正方法比增加更多訓練數據的效果更好。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 深度學習模型速成,三分鐘解決經典線性回歸模型(附完整代碼)
    每天給小編五分鐘,小編用自己的代碼,帶你輕鬆學習人工智慧!本文將會帶你做完一個深度學習進階項目,讓你熟練掌握線性回歸這一深度學習經典模型,然後在此基礎上,小編將在下篇文章帶你通過此模型實現對股票漲幅的預測。野蠻智能,小白也能看懂的人工智慧。線性回歸乾貨快遞點:線性回歸是什麼?
  • [PRML]回歸模型--貝葉斯線性回歸
    本文包含以下內容:1 簡介在討論線性回歸模型的最大似然的參數設置中,我們已經看到由基函數的數量控制的有效模型的複雜性需要根據數據集的大小控制。獨立的持有(hold-out)數據可以用來確定模型的複雜性,但是這可能在計算上是昂貴的,並且會浪費有價值的數據。因此我們轉向線性回歸的貝葉斯處理,這將避免最大似然的過擬合問題,也將導致僅使用訓練數據自動確定模型複雜度的方法。
  • 模型之母:多元線性回歸
    0x00 前言 在線性回歸的前3篇中,我們介紹了簡單線性回歸這種樣本只有一個特徵值的特殊形式,並且了解了一類機器學習的建模推導思想,即:然後通過最優化損失函數或者效用函數,獲得機器學習的模型。然後我們推導並實現了最小二乘法,然後實現了簡單線性回歸。最後還以簡單線性回歸為例,學習了線性回歸的評價指標:均方誤差MSE、均方根誤差RMSE、平均絕對MAE以及R方。
  • [PRML]線性回歸模型--線性基函數模型
    這通常稱為線性回歸(linear regression)。在監督學習中如回歸和分類,我們不是尋找輸入變量的分布模型。4 序列學習批處理技術,例如涉及一次性處理整個訓練集的最大似然解(式15),對於大型數據集來說計算成本很高。
  • 廣義線性模型學習
    的線性模型,使得數據集實際觀測數據和預測數據(估計值)之間的殘差平方和最小。其數學表達式為:彈性網絡彈性網絡 是一種使用 L1, L2 範數作為先驗正則項訓練的線性回歸模型。 這種組合允許學習到一個只有少量參數是非零稀疏的模型,就像 Lasso 一樣,但是它仍然保持 一些像 Ridge 的正則性質。我們可利用 l1_ratio 參數控制 L1 和 L2 的凸組合。彈性網絡在很多特徵互相聯繫的情況下是非常有用的。
  • 如何用線性回歸模型做數據分析?
    編輯導語:在日常工作中,很多時候都會用到數據分析的方法,線性回歸模型看起來非常簡單,但實際上它的十分重要;本文作者分享了關於如何用線性回歸模型做數據分析的方法,我們一起來學習一下。一、什麼是線性回歸線性回歸是利用線性的方法,模擬因變量與一個或多個自變量之間的關係;對於模型而言,自變量是輸入值,因變量是模型基於自變量的輸出值,適用於x和y滿足線性關係的數據類型的應用場景。
  • 廣義線性模型與邏輯回歸
    所以我們無法直接採用線性回歸模型進行建模。對於這一類問題,可以用邏輯回歸來處理。在講邏輯回歸之前,先簡單介紹下指數族分布、廣義線性模型,因為邏輯回歸是廣義線性模型的一種,所以我們需要了解如何從廣義線性模型得到邏輯回歸。二、指數族分布之所以先介紹指數族分布,因為指數族分布是所有廣義線性模型的假設條件之一。
  • 兩個例子告訴你:什麼是「線性」回歸模型?
    全文共1534字,預計學習時長3分鐘在機器學習和統計領域,線性回歸模型是最簡單的模型之一。這意味著,人們經常認為對線性回歸的線性假設不夠準確。圖1 同一數據集的兩種不同線性回歸模型若對此表示驚訝,那麼本文值得你讀一讀。本文試圖解釋對線性回歸模型的線性假設,以及此類線性假設的重要性。
  • 線性模型(一)普通線性回歸到廣義線性模型
    同時提醒讀者避免只從字面理解「線性」帶來誤會,即線性模型只能解決線性問題。本章將線性模型定位和表述為在數學表達式上具有線性的表示方式的數學模型,包含普通線性回歸模型和廣義線性模型(線性支持向量機本章不進行講述)。
  • 乾貨 | 對數線性模型之 Logistic 回歸、SoftMax 回歸和最大熵模型
    首先以概率的方式解釋了logistic回歸為什麼使用sigmoid函數和對數損失,然後將二分類擴展到多分類,導出sigmoid函數的高維形式softmax函數對應softmax回歸,最後最大熵模型可以看作是softmax回歸的離散型版本,logistic回歸和softmax回歸處理數值型分類問題,最大熵模型對應處理離散型分類問題。
  • 線性回歸(2)—— 模型評估
    如果數據中存在異常點,那麼 e 值就會很大,而 e 則會遠大於 |e|. 因此,相對於使用 MAE 計算損失,使用 MSE 的模型會賦予異常點更大的權重。所以,如果訓練數據被異常點所汙染,那麼 MAE 就會更好用。 此外,如下圖,MAE 不可導,而且所有導數的絕對值都相同,優化時無法確定更新速度。也就是說,即使對於很小的損失值,梯度也很大,這樣不利於模型的學習。
  • 機器學習之多元線性回歸模型梯度下降公式與代碼實現(篇二)
    上一篇我們介紹了線性回歸的概述和最小二乘的介紹,對簡單的一元線性方程模型手推了公式和python代碼的實現。機器學習之線性回歸模型詳細手推公式與代碼實現(篇一)今天這一篇來介紹多元線性回歸模型多元線性回歸模型介紹在回歸分析中,如果有兩個或兩個以上的自變量,就稱為多元回歸
  • 普林,DeepMind新研究:結合深度學習符號回歸,深度模型中看見宇宙
    符號模型緊湊,具備可解釋性和良好的泛化能力,但很難處理高維機器學習問題;深度模型擅長在高維空間中學習,但泛化性和可解釋性卻很差。那麼有沒有什麼辦法可以取二者之所長呢?這項研究做到了。如何將深度模型轉換為符號方程?
  • 貝葉斯線性回歸方法的解釋和優點
    本文對比了頻率線性回歸和貝葉斯線性回歸兩種方法,並對後者進行了詳細的介紹,分析了貝葉斯線性回歸的優點和直觀特徵。
  • eviews 線性回歸模型 - CSDN
    掌握多元線性回歸模型的估計方法、掌握多重共線性模型的識別和修正。多元線性回歸模型,並識別和修正多重共線性。普通最小二乘法、簡單相關係數檢驗法、綜合判斷法、逐步回歸法。最小二乘估計的原理、t檢驗、F檢驗、擬合優度R方值。
  • eviews線性回歸模型 - CSDN
    掌握多元線性回歸模型的估計方法、掌握多重共線性模型的識別和修正。多元線性回歸模型,並識別和修正多重共線性。普通最小二乘法、簡單相關係數檢驗法、綜合判斷法、逐步回歸法。最小二乘估計的原理、t檢驗、F檢驗、擬合優度R方值。
  • [PRML]線性分類模型--概率判別模型
    我們現在使用最大似然來確定logistic回歸模型的參數。與式13的比較表明,它與線性回歸模型的平方和誤差函數的梯度具有完全相同的形式。需要注意的是,即使數據點的數量比模型中的參數的數量大,只要訓練數據集是線性可分的,問題就會出現。
  • 線性模型(三)邏輯回歸
    邏輯回歸用戶是否會點擊廣告、貸款是否會逾期等這種二分因變量取值一般定義為0和1(一般把關注的事件編碼為1)或+1和-1,對於這類問題可以使用邏輯回歸建模模型原理拋硬幣的隨機事件中,拋一次硬幣的結果可能是正面或反面,設正面表示為1,概率為p,則該隨機事件屬於
  • 一般線性模型與廣義線性模型
    一般線性模型與廣義線性模型可以將統計分析方法完美的串聯在一起,做到統計分析方法的融匯貫通,從此你就可以告別拿著數據翻教科書找類似例子、再套用計算公式的蒙B日子。(一)數據類型和分布類型概念:單個數據先看數據類型,很多數據在一起資料庫呈現時再看分布類型,最後根據數據類型、分布類型、試驗(實驗)目的三方面確定統計分析方法;在臨床試驗中要看臨床試驗設計類型,一個設計類型包含多種統計分析方法。
  • LogME:通用快速準確的預訓練模型評估方法
    遷移學習使得深度神經網絡以預訓練模型的形式走進千家萬戶,不用上千塊TPU,我們也能夠使用BERT、EfficientNet等大型模型。如今,對於深度學習框架來說,豐富的預訓練模型庫已經是標配了(例如TensorFlow Hub, Torchvision Models)。