回覆列表
-
1 # 北航秦曾昌
-
2 # 你看我獨角獸嗎
給一點經驗性的解釋吧,供參考。
對於一個模型所需要的最少訓練資料量,可以從幾個方面看:
最重要的首先是資料的分佈情況和可解釋性強弱,若訓練集的本身可以很好地分類標籤,那麼用小資料量的訓練集和LR即可滿足;
很多情況下資料的隱含因子無法透過簡單地特徵工程表現出來,這時候就要搬出神經網路(NN)這種網路結構來自動組合特徵,實際上在挖掘高維的隱含特徵,如果隱含特徵簡單,那麼資料量不用太大也可行,資料探勘難度越大,所需要的資料量也就越大。
總的來說,資料分佈越稀疏,資料表徵越不清晰,那麼所需要資料量越大。一個通俗例子就是想象你在沙漠裡淘金子一樣。當然這只是經驗之談,沒有理論基礎,我還是相信以後有更好的結構來代替現在的NN模型。
-
3 # 鞋底洞
據我所知這個問題是沒有理論指導,若是有誰能研究出一套通用的定理,那肯定是機器學習領域的里程碑。
貌似只能具體問題具體分析,透過實驗確定經驗值。不同問題,不同模型,不能一概而論。
評估訓練機器學習模型所需資料量目前並沒有一個定量的計算方式,往往要結合所在問題、模型結構等等實際情況來評估,需要反覆的實驗來最終決定所需資料量。當然這裡說的資料量的前提是,每條資料之間的重複或相似度比較低。否則100條重複的資料會比10條不重複資料更沒用,即必須是有效的資料。這種情況下通常來說,對資料量的要求就是韓信點兵,多多益善。資料量大小對於模型的影響主要在於泛化性,資料量越大模型泛化性越好。
其中決定資料量的兩個重要因素,一是資料的複雜度或者說特徵數目,二是模型的引數數目以及模型的結構。
資料的特徵數目是指描述一個數據所需的特徵維度,如一張100*100大小彩色圖片的特徵維度就是100*100*3=30000個特徵數。而對一段文字的特徵表示,如果用詞袋模型表示的話,其特徵數就是詞典中所有詞的數目。按照經驗來說,對於特徵數目很大的資料,往往需要大量的資料來訓練模型,同時也意味著模型的引數也要很多。對於特徵維數小的資料往往就使用簡單的邏輯迴歸模型即可。但是對於特徵維數多,但是現有的資料量少,可以選擇使用基於樹的集合模型,如adaboost、隨機森林等等。而對於處理具有超多特徵維度的資料,最直接的方法就是使用深度神經網路,如圖片、文字等。
設計的模型引數越多,那麼所需的資料量也要越大,大量實驗表明兩者之前存線上性關係。此外優良的模型結構能很大程度上減少引數的數目,達到更好的預測效果。比如對於提取影象特徵來說,全連線就不如卷積層,後者引數數目還更少。
因此在決定所需資料量時,就需要反覆實驗,不斷調整模型引數,判斷模型是否存在過擬合等。根據具體情況來具體分析。