1. 神經網路的泛化性能如何計算
神經網路的泛化能力就是通過模擬來測驗的,輸入測試樣本後看輸出能與期望輸出保持多大的一致。
2. BP神經網路當中 所提到的泛化能力是指什麼
就是外推的能力。
很多時候訓練的網路對於訓練的數據能很好的擬合,但是對於不在訓練集內的數據擬合就很差強人意了。這種情況就叫泛化能力----差。也就是說可能你的網路存在過擬合的現象。
3. 交叉驗證會影響網路泛化能力嘛
你這個問題本來就問的很模糊,你是想問神經網路的過擬合變現什麼樣還是為什麼出現過擬合呢。為此針對於第一個問題,神經網路的過擬合與支持向量機、高斯混合模型等建模方法的過擬合類似,表現為針對於訓練數據集的建模效果很好,而對於測試數據集的建模效果很差,因為過於強大的學習能力是的預測模型中的雜訊將有用信息湮沒了,致使泛化能力很差。針對於第二個問題,出現上述現象的主要原因在於隱層節點數太多(隱層節點數越多,學習能力越強),使得預測模型在訓練時候將訓練數據集中的雜訊也挖掘出來了,也就是雜訊將有用信息湮沒了。所以在使用神經網路進行建模時一定要處理好模型過擬合的問題,可以一方面增加數據的樣本集,另一方面採用交叉驗證選擇合適的隱層節點數,在精度與泛化能力之間做一個權衡,最常用的方法就是增加正則化項,一定程度上可以防止模型的過擬合問題。(+機器學習演算法與Python學習)
4. BP神經網路的核心問題是什麼其優缺點有哪些
人工神經網路,是一種旨在模仿人腦結構及其功能的信息處理系統,就是使用人工神經網路方法實現模式識別.可處理一些環境信息十分復雜,背景知識不清楚,推理規則不明確的問題,神經網路方法允許樣品有較大的缺損和畸變.神經網路的類型很多,建立神經網路模型時,根據研究對象的特點,可以考慮不同的神經網路模型. 前饋型BP網路,即誤差逆傳播神經網路是最常用,最流行的神經網路.BP網路的輸入和輸出關系可以看成是一種映射關系,即每一組輸入對應一組輸出.BP演算法是最著名的多層前向網路訓練演算法,盡管存在收斂速度慢,局部極值等缺點,但可通過各種改進措施來提高它的收斂速度,克服局部極值現象,而且具有簡單,易行,計算量小,並行性強等特點,目前仍是多層前向網路的首選演算法.
多層前向BP網路的優點:
網路實質上實現了一個從輸入到輸出的映射功能,而數學理論已證明它具有實現任何復雜非線性映射的功能。這使得它特別適合於求解內部機制復雜的問題;
網路能通過學習帶正確答案的實例集自動提取「合理的」求解規則,即具有自學習能力;
網路具有一定的推廣、概括能力。
多層前向BP網路的問題:
從數學角度看,BP演算法為一種局部搜索的優化方法,但它要解決的問題為求解復雜非線性函數的全局極值,因此,演算法很有可能陷入局部極值,使訓練失敗;
網路的逼近、推廣能力同學習樣本的典型性密切相關,而從問題中選取典型樣本實例組成訓練集是一個很困難的問題。
難以解決應用問題的實例規模和網路規模間的矛盾。這涉及到網路容量的可能性與可行性的關系問題,即學習復雜性問題;
網路結構的選擇尚無一種統一而完整的理論指導,一般只能由經驗選定。為此,有人稱神經網路的結構選擇為一種藝術。而網路的結構直接影響網路的逼近能力及推廣性質。因此,應用中如何選擇合適的網路結構是一個重要的問題;
新加入的樣本要影響已學習成功的網路,而且刻畫每個輸入樣本的特徵的數目也必須相同;
網路的預測能力(也稱泛化能力、推廣能力)與訓練能力(也稱逼近能力、學習能力)的矛盾。一般情況下,訓練能力差時,預測能力也差,並且一定程度上,隨訓練能力地提高,預測能力也提高。但這種趨勢有一個極限,當達到此極限時,隨訓練能力的提高,預測能力反而下降,即出現所謂「過擬合」現象。此時,網路學習了過多的樣本細節,而不能反映樣本內含的規律
由於BP演算法本質上為梯度下降法,而它所要優化的目標函數又非常復雜,因此,必然會出現「鋸齒形現象」,這使得BP演算法低效;
存在麻痹現象,由於優化的目標函數很復雜,它必然會在神經元輸出接近0或1的情況下,出現一些平坦區,在這些區域內,權值誤差改變很小,使訓練過程幾乎停頓;
為了使網路執行BP演算法,不能用傳統的一維搜索法求每次迭代的步長,而必須把步長的更新規則預先賦予網路,這種方法將引起演算法低效。
5. 神經網路學習樣本越多,泛化能力越強
是的。
構復雜性和樣本復雜性:神經網路的容量以及規模稱之為神經網路的結構復雜性,樣本復雜性是訓練某一固定結構神經網路所需的樣本數目。
樣本質量是訓練樣本分布反映總體分布的程度,或者說由整個訓練樣本集提供的信息量。樣本質量可以強烈地影響神經網路的泛化能力,改進訓練樣本質量,也是改善神經網路泛化能力的一種重要方法。
(5)神經網路為什麼會有泛化能力擴展閱讀:
注意事項:
由於學習速率是固定的,因此網路的收斂速度慢,需要較長的訓練時間。對於一些復雜問題,BP演算法需要的訓練時間可能非常長,這主要是由於學習速率太小造成的,可採用變化的學習速率或自適應的學習速率加以改進。
BP演算法可以使權值收斂到某個值,但並不保證其為誤差平面的全局最小值,這是因為採用梯度下降法可能產生一個局部最小值。對於這個問題,可以採用附加動量法來解決。
6. RBF神經網路和BP神經網路有什麼區別
1.RBF 的泛化能力在多個方面都優於BP 網路, 但是在解決具有相同精度要求的問題時, BP網路的結構要比RBF 網路簡單。
2. RBF 網路的逼近精度要明顯高於BP 網路,它幾乎能實現完全逼近, 而且設計起來極其方便, 網路可以自動增加神經元直到滿足精度要求為止。但是在訓練樣本增多時, RBF 網路的隱層神經元數遠遠高於前者, 使得RBF 網路的復雜度大增加, 結構過於龐大, 從而運算量也有所增加。
3. RBF神經網路是一種性能優良的前饋型神經網路,RBF網路可以任意精度逼近任意的非線性函數,且具有全局逼近能力,從根本上解決了BP網路的局部最優問題,而且拓撲結構緊湊,結構參數可實現分離學習,收斂速度快。
4. 他們的結構是完全不一樣的。BP是通過不斷的調整神經元的權值來逼近最小誤差的。其方法一般是梯度下降。RBF是一種前饋型的神經網路,也就是說他不是通過不停的調整權值來逼近最小誤差的,的激勵函數是一般是高斯函數和BP的S型函數不一樣,高斯函數是通過對輸入與函數中心點的距離來算權重的。
5. bp神經網路學習速率是固定的,因此網路的收斂速度慢,需要較長的訓練時間。對於一些復雜問題,BP演算法需要的訓練時間可能非常長,這主要是由於學習速率太小造成的。而rbf神經網路是種高效的前饋式網路,它具有其他前向網路所不具有的最佳逼近性能和全局最優特性,並且結構簡單,訓練速度快。
7. bp神經網路的缺點
1)局部極小化問題:從數學角度看,傳統的BP神經網路為一種局部搜索的優化方法,它要解決的是一個復雜非線性化問題,網路的權值是通過沿局部改善的方向逐漸進行調整的,這樣會使演算法陷入局部極值,權值收斂到局部極小點,從而導致網路訓練失敗。加上BP神經網路對初始網路權重非常敏感,以不同的權重初始化網路,其往往會收斂於不同的局部極小,這也是很多學者每次訓練得到不同結果的根本原因。
2)BP神經網路演算法的收斂速度慢:由於BP神經網路演算法本質上為梯度下降法,它所要優化的目標函數是非常復雜的,因此,必然會出現「鋸齒形現象」,這使得BP演算法低效;又由於優化的目標函數很復雜,它必然會在神經元輸出接近0或1的情況下,出現一些平坦區,在這些區域內,權值誤差改變很小,使訓練過程幾乎停頓。
3)BP神經網路結構選擇不一:BP神經網路結構的選擇至今尚無一種統一而完整的理論指導,一般只能由經驗選定。網路結構選擇過大,訓練中效率不高,可能出現過擬合現象,造成網路性能低,容錯性下降,若選擇過小,則又會造成網路可能不收斂。而網路的結構直接影響網路的逼近能力及推廣性質。因此,應用中如何選擇合適的網路結構是一個重要的問題。
4)應用實例與網路規模的矛盾問題:BP神經網路難以解決應用問題的實例規模和網路規模間的矛盾問題,其涉及到網路容量的可能性與可行性的關系問題,即學習復雜性問題。
5)BP神經網路預測能力和訓練能力的矛盾問題:預測能力也稱泛化能力或者推廣能力,而訓練能力也稱逼近能力或者學習能力。一般情況下,訓練能力差時,預測能力也差。
8. bp神經網路提高泛化能力有幾種方法
常規的幾種增強泛化能力的方法,羅列如下:1、較多的輸入樣本可以提高泛化能力;
但不是太多,過多的樣本導致過度擬合,泛化能力不佳;樣本包括至少一次的轉折點數據。
2、隱含層神經元數量的選擇,不影響性能的前提下,盡量選擇小一點的神經元數量。隱含層節點太多,造成泛化能力下降,造火箭也只要幾十個到幾百個神經元,擬合幾百幾千個數據何必要那麼多神經元?
3、誤差小,則泛化能力好;誤差太小,則會過度擬合,泛化能力反而不佳。
4、學習率的選擇,特別是權值學習率,對網路性能有很大影響,太小則收斂速度很慢,且容易陷入局部極小化;太大則,收斂速度快,但易出現擺動,誤差難以縮小;一般權值學習率比要求誤差稍微稍大一點點;另外可以使用變動的學習率,在誤差大的時候增大學習率,等誤差小了再減小學習率,這樣可以收斂更快,學習效果更好,不易陷入局部極小化。
5、訓練時可以採用隨時終止法,即是誤差達到要求即終止訓練,以免過度擬合;可以調整局部權值,使局部未收斂的加快收斂。
9. 神經網路,訓練樣本500條,為什麼比訓練樣本6000條,訓練完,500條預測比6000條樣本好!
並非訓練樣本越多越好,因課題而異。 1、樣本最關鍵在於正確性和准確性。你所選擇的樣本首先要能正確反映該系統過程的內在規律。我們從生產現場採得的樣本數據中有不少可能是壞樣本,這樣的樣本會干擾你的神經網路訓練。通常我們認為壞樣本只是個別現象,所以我們希望通過盡可能大的樣本規模來抵抗壞樣本造成的負面影響。 2、其次是樣本數據分布的均衡性。你所選擇的樣本最好能涉及到該系統過程可能發生的各種情況,這樣可以極大可能的照顧到系統在各個情況下的規律特徵。通常我們對系統的內在規律不是很了解,所以我們希望通過盡可能大的樣本規模來「地毯式」覆蓋對象系統的方方面面。 3、再次就是樣本數據的規模,也就是你要問的問題。在確保樣本數據質量和分布均衡的情況下,樣本數據的規模決定你神經網路訓練結果的精度。樣本數據量越大,精度越高。由於樣本規模直接影響計算機的運算時間,所以在精度符合要求的情況下,我們不需要過多的樣本數據,否則我們要等待很久的訓練時間。 補充說明一下,不論是徑向基(rbf)神經網路還是經典的bp神經網路,都只是具體的訓練方法,對於足夠多次的迭代,訓練結果的准確度是趨於一致的,方法隻影響計算的收斂速度(運算時間),和樣本規模沒有直接關系。
如何確定何時訓練集的大小是「足夠大」的?
神經網路的泛化能力主要取決於3個因素:
1.訓練集的大小
2.網路的架構
3.問題的復雜程度
一旦網路的架構確定了以後,泛化能力取決於是否有充足的訓練集。合適的訓練樣本數量可以使用Widrow的拇指規則來估計。 拇指規則指出,為了得到一個較好的泛化能力,我們需要滿足以下條件(Widrow and Stearns,1985;Haykin,2008): N = nw / e 其中,N為訓練樣本數量,nw是網路中突觸權重的數量,e是測試允許的網路誤差。 因此,假如我們允許10%的誤差,我們需要的訓練樣本的數量大約是網路中權重數量的10倍。