神經網路中隱層數和隱層節點數問題的討論

2021-05-24 22:11:30 字數 1240 閱讀 3580

隱層數

一般認為,增加隱層數可以降低網路誤差(也有文獻認為不一定能有效降低),提高精度,但也使網路複雜化,從而增加了網路的訓練時間和出現

「過擬合

」的傾向。一般來講應設計神經網路應優先考慮

3層網路(即有

1個隱層)。一般地,靠增加隱層節點數來獲得較低的誤差,其訓練效果要比增加隱層數更容易實現。對於沒有隱層的神經網路模型,實際上就是乙個線性或非線性(取決於輸出層採用線性或非線性轉換函式型式)回歸模型。因此,一般認為,應將不含隱層的網路模型歸入回歸分析中,技術已很成熟,沒有必要在神經網路理論中再討論之。

隱層節點數在bp

網路中,隱層節點數的選擇非常重要,它不僅對建立的神經網路模型的效能影響很大,而且是訓練時出現

「過擬合

」的直接原因,但是目前理論上還沒有一種科學的和普遍的確定方法。

目前多數文獻中提出的確定隱層節點數的計算公式都是針對訓練樣本任意多的情況,而且多數是針對最不利的情況,一般工程實踐中很難滿足,不宜採用。事實上,各種計算公式得到的隱層節點數有時相差幾倍甚至上百倍。為盡可能避免訓練時出現

「過擬合

」現象,保證足夠高的網路效能和泛化能力,確定隱層節點數的最基本原則是:在滿足精度要求的前提下取盡可能緊湊的結構,即取盡可能少的隱層節點數。研究表明,隱層節點數不僅與輸入

/輸出層的節點數有關,更與需解決的問題的複雜程度和轉換函式的型式以及樣本資料的特性等因素有關。

在確定隱層節點數時必須滿足下列條件:(1

隱層節點數必須小於

n-1(其中

n為訓練樣本數),否則,網路模型的系統誤差與訓練樣本的特性無關而趨於零,即建立的網路模型沒有泛化能力,也沒有任何實用價值。同理可推得:輸入層的節點數(變數數)必須小於

n-1。

(2)訓練樣本數必須多於網路模型的連線權數,一般為

2~10

,否則,樣本必須分成幾部分並採用

「輪流訓練

」的方法才可能得到可靠的神經網路模型。

總之,若隱層節點數太少,網路可能根本不能訓練或網路效能很差;若隱層節點數太多,雖然可使網路的系統誤差減小,但一方面使網路訓練時間延長,另一方面,訓練容易陷入區域性極小點而得不到最優點,也是訓練時出現

「過擬合

」的內在原因。因此,合理隱層節點數應在綜合考慮網路結構複雜程度和誤差大小的情況下用節點刪除法和擴張法確定。

神經網路中隱層數和隱層節點數問題的討論

一 隱層數一般認為,增加隱層數可以降低網路誤差 也有文獻認為不一定能有效降低 提高精度,但也使網路複雜化,從而增加了網路的訓練時間和出現 過擬合 的傾向。一般來講應設計神經網路應優先考慮 3層網路 即有 1個隱層 一般地,靠增加隱層節點數來獲得較低的誤差,其訓練效果要比增加隱層數更容易實現。對於沒有...

神經網路隱含層節點數

kolmogorov定理 如果乙個隨機變數序列 1,2.滿足不等式 1 n d n n 為求和範圍 則事件 lim n 1 n 1 k n k 1 n 1 k n m k 0 的概率為1.bp神經網路構建中中間隱含層數目n2,輸入層數目n1,輸出層數目m n2 sqrt n1 m 1 a a 1 1...

BP神經網路演算法推導(包含輸出層和隱層)

你是否也有疑問,在神經網路的訓練過程中,隨著多樣本的訓練,我們的引數是如何進行調節的呢?答案自然就是bp演算法 error back propagation 反向傳播時,將輸出誤差 期望輸出與實際輸出之差 按原通路反傳計算,通過隱層反向,直至輸入層,在反傳過程中將誤差分攤給各層的各個單元,獲得各層各...