㈠ 神經網路的數據量多少比較合適
一般來說要1萬以上,越多越好,但要保證採集標准統一,且輸出為相同的數據不能太多。
㈡ BP神經網路的訓練集需要大樣本嗎一般樣本個數為多少
這個沒有明確要求,樣本也不是越多越好。
通常情況下,你的樣本可以一部分用回來做驗證。
加速你有100個樣本,答90%用來做訓練,10%用來做驗證等,當然,有時候還得留下10%做測試用。
我個人的經驗是,樣本數盡量在10以上吧。
㈢ matlab神經網路訓練一般需要多少數據
你這個問題真的不好回答,因為沒有固定答案,也沒有什麼經驗答案,不能太少也不能太多,因為需要根據實際情況決定了,看你是要做什麼了
㈣ 數據模型需要多少訓練數據
數據模型需要多少訓練數據
毫無疑問機器學習是大數據分析不可或缺的一部分,在使用機器學習技術的時候工程師除了要選擇合適的演算法之外還需要選擇合適的樣本數據。那麼工程師到底應該選擇哪些樣本數據、選擇多少樣本數據才最合適呢?來自於Google的軟體工程師Malay Haldar最近發表了一篇題為《數據模型需要多少訓練數據》的文章對此進行了介紹。
訓練數據的質量和數量通常是決定一個模型性能的最關鍵因素。一旦訓練數據准備好,其他的事情就順理成章了。但是到底應該准備多少訓練數據呢?答案是這取決於要執行的任務,要滿足的性能,所擁有的輸入特徵、訓練數據中的噪音、提取特徵中的噪音以及模型的復雜程度等因素。而找出這些變數之間相互關系的方法就是在不同數據量的訓練數據上訓練模型並繪制學習曲線。但是這僅僅適合於已經有一定數量的訓練數據的情況,如果是最開始的時候,或者說只有很少一點訓練數據的情況,那應該怎麼辦呢?
與死板地給出所謂精確的「正確」答案相比,更靠譜的方法是通過估算和具體的經驗法則。例如本文將要介紹的實證方法:首先自動生成很多邏輯回歸問題。然後對生成的每一個問題,研究訓練數據的數量與訓練模型的性能之間的關系。最後通過觀察這兩者在這一系列問題上的關系總結出一個簡單的規則。
生成一系列邏輯回歸問題並研究不同數據量的訓練數據所造成的影響的代碼可以從GitHub上獲取。相關代碼是基於Tensorflow實現的,運行這些代碼不需要任何特殊的軟體或者硬體,用戶可以在自己的筆記本上運行整個實驗。代碼運行之後生成的圖表如下:
其中,X軸是訓練樣本的數量與模型參數數量的比率。Y軸是訓練模型的得分(f-score)。不同顏色的曲線表示不同參數數量的模型。例如,紅色曲線代表模型有128個參數,曲線的軌跡表明了隨著訓練樣本從128 x 1到 128 x 2並不斷增長的過程中該模型的得分變化。
通過該圖表,我們能夠發現模型得分並不會隨著參數規模的變化而變化。但是這是針對線性模型而言,對於一些隱藏的非線性模型並不適合。當然,更大的模型需要更多的訓練數據,但是對於一個給定的訓練模型數量與模型參數數量比率其性能是一樣的。該圖表還顯示,當訓練樣本的數量與模型參數數量的比率達到10:1之後,模型得分基本穩定在0.85,該比率便可以作為良好性能模型的一種定義。根據該圖表我們可以總結出10X規則,也就是說一個優秀的性能模型需要訓練數據的數量10倍於該模型中參數的數量。
10X規則將估計訓練數據數量的問題轉換成了需要知道模型參數數量的問題。對於邏輯回歸這樣的線性模型,參數的數量與輸入特徵的數量相等,因為模型會為每一個特徵分派一個相關的參數。但是這樣做可能會有一些問題:
特徵可能是稀疏的,因而可能會無法直接計算出特徵的數量。
由於正則化和特徵選擇技術,很多特徵可能會被拋棄,因而與原始的特徵數相比,真正輸入到模型中的特徵數會非常少。
避免這些問題的一種方法是:必須認識到估算特徵的數量時並不是必須使用標記的數據,通過未標記的樣本數據也能夠實現目標。例如,對於一個給定的大文本語料庫,可以在標記數據進行訓練之前通過生成單詞頻率的歷史圖表來理解特徵空間,通過歷史圖表廢棄長尾單詞進而估計真正的特徵數,然後應用10X規則來估算模型需要的訓練數據的數據量。
需要注意的是,神經網路構成的問題集與邏輯回歸這樣的線性模型並不相同。為了估算神經網路所需要的參數數量,你需要:
如果輸入是稀疏的,那麼需要計算嵌套層使用的參數的數量。參照word2vec的Tensorflow教程示例。
計算神經網路中邊的數量
由於神經網路中參數之間的關系並不是線性的,所以本文基於邏輯回歸所做的實證研究並不適合神經網路。但是在這種情況下,可以將10X規則作為訓練數據所需數據量的下限。
盡管有上面的問題,根據Malay Haldar的經驗,10X規則對於大部分問題還是適用的,包括淺神經網路。如果有疑問,可以在Tensorflow的代碼中插入自己的模型和假設,然後運行代碼進行驗證研究。
㈤ 200組數據可以訓練神經網路嗎
不行
神經網路的數據需要1000個以上,其中訓練樣本至少700以上,驗證樣本至少300以上。