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 函式製造了一個單位矩陣,那麼...