BP神經網路的訓練集需要大樣本嗎?一般樣本個數為多少

時間 2021-09-06 21:09:32

1樓:

這個沒有明確要求,樣本也不是越多越好。

通常情況下,你的樣本可以一部分用來做驗證。

加速你有100個樣本,90%用來做訓練,10%用來做驗證等,當然,有時候還得留下10%做測試用。

我個人的經驗是,樣本數儘量在10以上吧。

2樓:

這要看做什麼用了

只要訓練樣本的規律性很好的話那自然越多越好,如果不能滿足一致規律的話多了反而有害,就比如拿著文革時候的資料最好解決文革時的問題,但不能用來解決2023年世博會問題一樣。

還有就像樓上說的需要保留一些樣本作為測試用,bp網路的話如果是分類問題可以保留10%左右吧,如果是**問題的話5%應該就足夠了,因為bp的**能力的確有點弱,只適合**離訓練樣本比較近的資料,這也是我自己的理解,呵呵。

3樓:千千飛海

69個…… 的確夠少。 不知道你每個樣本的特徵數是多少? 如果就幾個特徵值的話用很小的神經網路可以試試, 但我覺得你可以嘗試下其餘的機器學習演算法。

神經網路只有當資料量大的時候優勢才會顯現,

bp神經網路演算法迭代一次是所有樣本都算一遍嗎

4樓:匿名使用者

是的,全部樣本都要算一遍。按照順序依次抽取樣本,代入bp演算法,調整權值。也有部分演算法是按隨機方式,每次樣本進來的順序都不同,但仍然是所有樣本都要參與。

唯一可能有點區別的是,標準bp演算法中,每輸入一個樣本,都要回傳誤差並調整權值,這種對每個樣本輪訓的方法稱為“單樣本訓練”。由於單樣本訓練遵循的是隻顧眼前的“本位主義”原則,只針對每個樣本產生的誤差進行調整,難免顧此失彼,使訓練次數增加,導致收斂速度過慢。因此,有另外一種方法,就是在所有樣本輸入之後,計算網路的總誤差,再根據總誤差調整權值,這種累積誤差的批處理方式稱為“批訓練”或“週期訓練”。

在樣本數較多時,批訓練比單樣本訓練的收斂速度更快。

BP人工神經網路的收斂是什麼,bp神經網路收斂問題

檀君博 收斂和迭代演算法有關。反向傳播演算法是定義乙個誤差er 往往是輸出結果與預想結果之間的某個範數 然後求出滿足誤差極小的權向量。如果把誤差看成乙個連續函式 泛函 的話,求對權向量各分量的偏導為0即可,但是實際上它是離散的,所以我們需要用迭代來求最小梯度。如果是新定義演算法的話理論上的收斂要證明...

matlab在bp神經網路訓練時出現錯誤說未定義與

依然特雷西 1 實現 以函式的形式訓練神經網路命令。2 實現 p為輸入向量的方法命令。3 實現 t為目標向量的命令。4 實現 建立一個新的前向神經網路的命令。5 實現 呼叫演算法訓練bp網路的命令。6 其他設定命令。 主要問題出在txt樣本上,資料之間應以空格間隔,而不能是製表符,否則fcanf不能...

matlab中建立bp神經網路的函式newff的引數的

1.newff雖然沒有規定輸入層神經元個數,那輸入層神經元個數是如何確定的?輸入層是根據你讀入資料的維度,自動生成的。2.我現在讀入了10張 把每張 歸一化成了50 20的,並轉換成1 1000的行向量,最後生成了10 1000的二維矩陣,然後,我再用eye 10,10 函式製造了一個單位矩陣,那麼...