系統學習機器學習之神經網絡(一)--MLP及局部模型,RBF綜述

轉自:http://blog.csdn.net/App_12062011/article/details/50379410

今天我們要談的MLP其實是一種人工神經網絡結構,屬於非參數估計,可以用於解決分類和迴歸問題。我們先來了解下神經網絡的背景,然後再來介紹下感知器。

神經網絡

感知器

多層感知器

神經網絡的應用

局部模型

一、神經網絡

人工神經網絡,顧名思義起源於模擬人腦,其目的是理解人腦功能,認知科學家和神經學家共同構建了神經網絡模型,並開展了模擬研究。這項技術與工程結合之後,可以幫助我們建立更好的計算機系統。

Marr認爲理解一個信息處理系統具有三個層面,總稱爲分析層面(levels of analysis),即:

計算理論:對應計算目標和任務的抽象定義;

表示和算法:關於輸入/輸出如何表示以及從輸入-->輸出的算法說明;

硬件實現:系統的實際物理實現;

這裏需要注意的是,對於同一個計算理論,可以有多種表示和算法;而對於同一種表示和算法,可以有多種硬件實現。比如對於自然和人工飛行器,計算理論都是可以「飛行」,算法就是利用「空氣動力學」,而實現方式一個是「拍打翅膀」,一個是「發動引擎」。

人腦可以看作是學習或模式識別的一種硬件實現。如果我們可以逆向分析,從這種實現中提取出人腦使用的表示和算法,並且進一步獲得計算理論,那麼我們就可以考慮使用另一種表示和算法,然後得到更適合我們掌握的計算機硬件的實現。

神經網絡可以應用於並行處理。常見的並行架構有單指令多數據(SIMD)機和多指令多數據(MSMD)機, 一種是所有的處理器執行相同的指令處理不同的數據;一種是不同的處理器執行不同的指令處理不同的數據。SIMD實現較爲簡單,但是應用意義小;MIMD實現複雜,但是現實中多數爲此種情況。

神經網絡提出了一種介於中間的模式,即引入了中間的少量局部存儲器,使用處理器的指令在存儲器上輸入不同來實現不同的功能。其中每個處理器對應一個神經元,局部參數對應它的突出權重, 而整個結構就是一個神經網絡。所以,人工神經網絡是一種我們可以實用當前技術構建的、利用並行硬件的方法。

二、感知器

感知器(Perception)是基本的處理元素,它具有輸入、輸出,每個輸入關聯一個連接權重(connection weight),然後輸出是輸入的加權和。

上圖就是一個單層的感知器,輸入分別是X0、X1、X2,輸出Y是輸入的加權和:

Y = W0X0 + W1X1 + W2X2

在實際的使用中,我們的主要任務就是通過數據訓練確定參數權重。在訓練神經網絡時,如果未提供全部樣本而是逐個提供實例,則我們通常使用在線學習,然後在每個實例學習之後立刻調整網絡參數,以這種方式使得網絡緩慢得及時調整。具體收斂可是使用梯度下降算法。更新= 學習因子 * (期望輸出 - 實際輸出) * 輸入

感知器具有很強的表現力,比如布爾函數AND和OR都可以使用上面的單層感知器實現。但是對於XOR操作則不行,因爲單層感知器只能模擬線性函數,對於XOR這種非線性函數,我們需要新型的感知器。

三、多層感知器

由前面介紹看到,單個感知器能夠完成線性可分數據的分類問題,是一種最簡單的可以「學習」的機器。但他無法解決非線性問題。比如下圖中的XOR問題:即(1,1)(-1,-1)屬於同一類,而(1,-1)(-1,1)屬於第二類的問題,不能由單個感知器正確分類。


即在Minsky和Papert的專著《感知器》所分析的:感知器只能解決所謂一階謂詞邏輯問題:與(AND),或(OR)等,而不能解決異或(XOR)等高階謂詞羅輯問題。

用多個感知器實現非線性

單個感知器雖然無法解決異或問題,但卻可以通過將多個感知器組合,實現複雜空間的分割。如下圖:


將兩層感知器按照一定的結構和係數進行組合,第一層感知器實現兩個線性分類器,把特徵空間分割,而在這兩個感知器的輸出之上再加一層感知器,就可以實現異或運算。

也就是,由多個感知器組合:


來實現非線性分類面,其中θ(·)表示階躍函數或符號函數。

多層感知器(Multiayer perceptrons, MLP)可以實現非線性判別式,如果用於迴歸,可以逼近輸入的非線性函數。其實MLP可以用於「普適近似」,即可以證明: 具有連續輸入和輸出的任何函數都可以用MLP近似 ,已經證明,具有一個隱藏層(隱藏節點個數不限)的MLP可以學習輸入的任意非線性函數。

實際上,上述模型就是多層感知器神經網絡(Multi-layer perceptron neural networks,MLP neural netwoks)的基礎模型。神經網絡中每個節點爲一個感知器,模型生物神經網絡中神經元的基礎功能:來自外界(環境或其他細胞)的電信號通過突觸傳遞給神經元,當細胞收到的信號總和超過一定閾值後,細胞被激活,通過軸突向下一個細胞發送電信號,完成對外界信息的加工。


但是,感知器的學習算法並不能直接應用到多層感知器模型的參數學習上。因此,最初提出的學習方案是:除了最後一個神經元之外,事先固定其他所有神經元的權值,學習過程只是用感知器學習算法學習最後一個神經元的權係數。實際上,這相當於通過第一層神經元把原始的特徵空間變換到一個新的特徵空間,第一層的每個神經元構成新空間的一維,然後在新的特徵空間用感知器學習算法構造一個線性分類器。顯然,由於第一層的神經元權值需要人爲給定,模型的性能很大程度取決於能否設計出恰當的第一層神經元模型,而這取決於對所面臨的的問題和數據的瞭解,並沒有針對任意問題求解第一層神經元參數的方法。其核心思想是梯度下降法,即以訓練樣本被錯分的程度爲目標函數,訓練中每次出現錯誤時便使權係數朝着目標函數相對於權係數負梯度方向更新,知道目標中沒有被錯分的樣本爲止。

多層感知器模型中,神經元傳遞函數是階躍函數,輸出端的只能對最後一個神經元係數求梯度,無法對其他權係數求梯度,所以無法利用梯度下降的方法學習其他的權值。Sigmoid函數

BP算法提出主要由於Sigmoid函數的出現,代替之前的閾值函數來構造神經元。

Sigmoid函數是單調遞增的非線性函數,無限次可微。當且僅當權值較大時可以逼近閾值函數,當權值較小時逼線性函數。


Sigmoid函數通常寫作如下形式:


取值範圍是(-1,1),代替神經元階躍函數可寫作:


由於採用Sigmoid函數作爲神經元傳遞函數,不管網絡結構多麼複雜,總可以通過計算梯度來考察各個參數。這就是多層感知器反向傳播算法的基本思想。

反向傳播(back-propagation,BP)

訓練MLP常用的是向後傳播(backpropagation),這主要是因爲在我們收斂誤差函數的時候,使用鏈接規則計算梯度:

BP算法就是通過迭代優化網絡的權值使得輸出與輸入之間的實際映射關係與所期望的映射關係一致,採用梯度下降算法通過調整各層權值求目標函數最小化。網絡在某個或所有訓練樣本上的預測輸出和期望輸出的誤差平方和:


由輸出層誤差逐層反向計算各層各單元的誤差, 並基於梯度下降法修正各權值:


其中,δj(k)是第k層第j單元的局部梯度,或敏感度(sensitivity)。


已知的兩類蚊子的數據如表1:

表1

規定目標爲: 當t(1)=0.9 時表示屬於Apf類,t(2)=0.1表示屬於Af類。

輸入數據有15個,即 , p=1,…,15;  j=1, 2; 對應15個輸出。

即對應的(X,Y)對爲:([1.78,1.14],0.9),([1.96,1.18],0.9)......([2.08,1.56],0.1)

由於此時的X有兩個屬性,故輸入端爲2個,建立神經網絡如下:

設兩個權重係數矩陣爲:

分析如下:

爲第一層的輸出,同時作爲第二層的輸入。


在這裏,a0(3)可以認爲爲常數

具體算法如下:

令p=0

(1)隨機給出兩個權矩陣的初值;例如用MATLAB軟件時可以用以下語句: 

 (2) 根據輸入數據利用公式算出網絡的輸出 


(6) p=p+1,轉(2) 
注:僅計算一圈(p=1,2,…,15)是不夠的,直到當各權重變化很小時停止,本例中,共計算了147圈,迭代了2205次。

最後結果是:

即網絡模型的解爲: 

四、神經網絡的應用

1.樣本數據
    1.1 收集和整理分組
        採用BP神經網絡方法建模的首要和前提條件是有足夠多典型性好和精度高的樣本。而且,爲監控訓練(學習)過程使之不發生「過擬合」和評價建立的網絡模型的性能和泛化能力,必須將收集到的數據隨機分成訓練樣本、檢驗樣本(10%以上)和測試樣本(10%以上)3部分。此外,數據分組時還應儘可能考慮樣本模式間的平衡。
1.2 輸入/輸出變量的確定及其數據的預處理
       一般地,BP網絡的輸入變量即爲待分析系統的內生變量(影響因子或自變量)數,一般根據專業知識確定。若輸入變量較多,一般可通過主成份分析方法壓減輸入變量,也可根據剔除某一變量引起的系統誤差與原系統誤差的比值的大小來壓減輸入變量。輸出變量即爲系統待分析的外生變量(系統性能指標或因變量),可以是一個,也可以是多個。一般將一個具有多個輸出的網絡模型轉化爲多個具有一個輸出的網絡模型效果會更好,訓練也更方便。

      由於BP神經網絡的隱層一般採用Sigmoid轉換函數,爲提高訓練速度和靈敏性以及有效避開Sigmoid函數的飽和區,一般要求輸入數據的值在0~1之間。因此,要對輸入數據進行預處理。一般要求對不同變量分別進行預處理,也可以對類似性質的變量進行統一的預處理。如果輸出層節點也採用Sigmoid轉換函數,輸出變量也必須作相應的預處理,否則,輸出變量也可以不做預處理。
     預處理的方法有多種多樣,各文獻採用的公式也不盡相同。但必須注意的是,預處理的數據訓練完成後,網絡輸出的結果要進行反變換才能得到實際值。再者,爲保證建立的模型具有一定的外推能力,最好使數據預處理後的值在0.2~0.8之間。

2.神經網絡拓撲結構的確定
2.1 隱層數
        一般認爲,增加隱層數可以降低網絡誤差(也有文獻認爲不一定能有效降低),提高精度,但也使網絡複雜化,從而增加了網絡的訓練時間和出現「過擬合」的傾向。Hornik等早已證明:若輸入層和輸出層採用線性轉換函數,隱層採用Sigmoid轉換函數,則含一個隱層的MLP網絡能夠以任意精度逼近任何有理函數。顯然,這是一個存在性結論。在設計BP網絡時可參考這一點,應優先考慮3層BP網絡(即有1個隱層)。一般地,靠增加隱層節點數來獲得較低的誤差,其訓練效果要比增加隱層數更容易實現。對於沒有隱層的神經網絡模型,實際上就是一個線性或非線性(取決於輸出層採用線性或非線性轉換函數型式)迴歸模型。因此,一般認爲,應將不含隱層的網絡模型歸入迴歸分析中,技術已很成熟,沒有必要在神經網絡理論中再討論之。

2.2 隱層節點數
        在BP 網絡中,隱層節點數的選擇非常重要,它不僅對建立的神經網絡模型的性能影響很大,而且是訓練時出現「過擬合」的直接原因,但是目前理論上還沒有一種科學的和普遍的確定方法。

          目前多數文獻中提出的確定隱層節點數的計算公式都是針對訓練樣本任意多的情況,而且多數是針對最不利的情況,一般工程實踐中很難滿足,不宜採用。事實上,各種計算公式得到的隱層節點數有時相差幾倍甚至上百倍。爲儘可能避免訓練時出現「過擬合」現象,保證足夠高的網絡性能和泛化能力,確定隱層節點數的最基本原則是:在滿足精度要求的前提下取儘可能緊湊的結構,即取儘可能少的隱層節點數。研究表明,隱層節點數不僅與輸入/輸出層的節點數有關,更與需解決的問題的複雜程度和轉換函數的型式以及樣本數據的特性等因素有關。
在確定隱層節點數時必須滿足下列條件:
(1)隱層節點數必須小於N-1(其中N爲訓練樣本數),否則,網絡模型的系統誤差與訓練樣本的特性無關而趨於零,即建立的網絡模型沒有泛化能力,也沒有任何實用價值。同理可推得:輸入層的節點數(變量數)必須小於N-1。
(2) 訓練樣本數必須多於網絡模型的連接權數,一般爲2~10倍,否則,樣本必須分成幾部分並採用「輪流訓練」的方法纔可能得到可靠的神經網絡模型。

 總之,若隱層節點數太少,網絡可能根本不能訓練或網絡性能很差;若隱層節點數太多,雖然可使網絡的系統誤差減小,但一方面使網絡訓練時間延長,另一方面,訓練容易陷入局部極小點而得不到最優點,也是訓練時出現「過擬合」的內在原因。因此,合理隱層節點數應在綜合考慮網絡結構複雜程度和誤差大小的情況下用節點刪除法和擴張法確定。

3.神經網絡的訓練
3.1 訓練
        BP網絡的訓練就是通過應用誤差反傳原理不斷調整網絡權值使網絡模型輸出值與已知的訓練樣本輸出值之間的誤差平方和達到最小或小於某一期望值。雖然理論上早已經證明:具有1個隱層(採用Sigmoid轉換函數)的BP網絡可實現對任意函數的任意逼近。但遺憾的是,迄今爲止還沒有構造性結論,即在給定有限個(訓練)樣本的情況下,如何設計一個合理的BP網絡模型並通過向所給的有限個樣本的學習(訓練)來滿意地逼近樣本所蘊含的規律(函數關係,不僅僅是使訓練樣本的誤差達到很小)的問題,目前在很大程度上還需要依靠經驗知識和設計者的經驗。因此,通過訓練樣本的學習(訓練)建立合理的BP神經網絡模型的過程,在國外被稱爲「藝術創造的過程」,是一個複雜而又十分煩瑣和困難的過程。
由於BP網絡採用誤差反傳算法,其實質是一個無約束的非線性最優化計算過程,在網絡結構較大時不僅計算時間長,而且很容易限入局部極小點而得不到最優結果。目前雖已有改進BP法、遺傳算法(GA)和模擬退火算法等多種優化方法用於BP網絡的訓練(這些方法從原理上講可通過調整某些參數求得全局極小點),但在應用中,這些參數的調整往往因問題不同而異,較難求得全局極小點。這些方法中應用最廣的是增加了衝量(動量)項的改進BP算法。所謂動量,就是對當前和上一次更新,取滑動平均。
3.2 學習率和衝量係數
       學習率影響系統學習過程的穩定性。大的學習率可能使網絡權值每一次的修正量過大,甚至會導致權值在修正過程中超出某個誤差的極小值呈不規則跳躍而不收斂;但過小的學習率導致學習時間過長,不過能保證收斂於某個極小值。所以,一般傾向選取較小的學習率以保證學習過程的收斂性(穩定性),通常在0.01~0.8之間。
        增加衝量項的目的是爲了避免網絡訓練陷於較淺的局部極小點。理論上其值大小應與權值修正量的大小有關,但實際應用中一般取常量。通常在0~1之間,而且一般比學習率要大。同時,也可以讓學習速率自適應更新。

4 網絡的初始連接權值
       BP算法決定了誤差函數一般存在(很)多個局部極小點,不同的網絡初始權值直接決定了BP算法收斂於哪個局部極小點或是全局極小點。因此,要求計算程序(建議採用標準通用軟件,如Statsoft公司出品的Statistica Neural Networks軟件和Matlab 軟件)必須能夠自由改變網絡初始連接權值。由於Sigmoid轉換函數的特性,一般要求初始權值分佈在-0.5~0.5之間比較有效。同時,以不同的初值,想相同的網絡訓練多次,並且計算沿着誤差的平均值,以獲得期望的誤差。

5.過分訓練

      當訓練時間過長時,由於隨着訓練週期的增加,訓練集上的誤差降低,但是超過某一點時,驗證集上的誤差開始增加,其實質是權重在不斷訓練中,開始離開0值,參與到訓練過程中,隨着訓練進行,就像是增加了新的參數添加到系統中一樣,增加了系統的複雜度,導致糟糕的泛化能力。學習結束的拐點應該通過交叉驗證確定。

6.構造網絡

     我們可以利用輸入的特徵,如針對像素點的特性,有邊等像素的組合特性,我們可以定義一個隱藏單元,它在輸入空間上定義一個輸入窗口,並且僅僅與輸入的一個小的局部子集相連接。我們可以在相繼層重複這一做法,直到輸出層。即層次椎體。

7.權重共享

    在我們尋找類似有向邊這種特徵時,他們可能出現在輸入空間的不同部分,因此,可以替代定義獨立的隱藏單元學習輸入空間不同部分的不同特徵,我們可以有考查輸入空間不同部分的相同隱藏層的複製,在學習期間,我們取不同的輸入計算梯度,然後對他們求平均值,並做單個更新。這意味着單個鏈接定義多個權重。

8.線索

    與應用有關的任何類型的知識,都應該構建在網絡結構中。如模式識別中,不變形線索,對象旋轉,變化,縮放。

對線索可以有不同的使用方法:

8.1 用線索創建虛擬實例,產生不同尺度的多個複製,以相同的類標號將他們添加到訓練集。

8.2 預處理,例如規範化和中心化

8.3 線索可以納入到網絡結構中,例如權重共享,局部結構

8.4 也可以通過修改誤差函數,將線索納入結構中。如懲罰,近似線索,正切支撐等

9. 網絡規模調整

    我們可以通過在學習網絡中,增加結構自適應處理,實現最佳網絡結構模型。如破壞性方法,建設性方法等。實際經驗表明,訓練後,多層感知器的權重都圍繞0正態分佈。

五、局部模型

5.1.競爭學習

這裏,我們討論用競爭方法用於在線聚類的神經網絡方法,在線K-均值以及兩種神經網絡的擴展:ART和SOM。

實際上,在線k-均值與批處理k-均值的區別在於更新均值中心時,對批處理k-均值的m進行隨機梯度下降法,得到每個實例的更新規則。而在競爭網絡中,我們對輸入層x與權值(即在線聚類的中心位置)做點積運算,選擇最大的b,並將其設爲1,其他的b設爲0.

爲了避免死中心,即存在卻沒有被實際利用的中心。我們可以採用如下方法:

1.ART模型,即使用領導者聚類算法,並逐個增加單元,總是將他們添加到需要他們的地方。

2.SOM,更新時不僅更新最近單元的中心,還會更新某些中心,如領域。

3.引入良心機制,當贏得當前競爭的單元有負罪感並允許其他單元獲勝。

4.隨機選擇輸入實例來初始化m,確保他們從有數據的地方開始。

5.2 徑向基函數

RBF網絡能夠逼近任意的非線性函數,可以處理系統內的難以解析的規律性,具有良好的泛化能力,並有很快的學習收斂速度,已成功應用於非線性函數逼近、時間序列分析、數據分類、模式識別、信息處理、圖像處理、系統建模、控制和故障診斷等。

簡單說明一下爲什麼RBF網絡學習收斂得比較快。當網絡的一個或多個可調參數(權值或閾值)對任何一個輸出都有影響時,這樣的網絡稱爲全局逼近網絡。由於對於每次輸入,網絡上的每一個權值都要調整,從而導致全局逼近網絡的學習速度很慢。BP網絡就是一個典型的例子。

如果對於輸入空間的某個局部區域只有少數幾個連接權值影響輸出,則該網絡稱爲局部逼近網絡。常見的局部逼近網絡有RBF網絡、小腦模型(CMAC)網絡、B樣條網絡等。

徑向基函數解決插值問題

完全內插法要求插值函數經過每個樣本點,即。樣本點總共有P個。

RBF的方法是要選擇P個基函數,每個基函數對應一個訓練數據,各基函數形式爲,由於距離是徑向同性的,因此稱爲徑向基函數。||X-Xp||表示差向量的模,或者叫2範數。

基於爲徑向基函數的插值函數爲:

輸入X是個m維的向量,樣本容量爲P,P>m。可以看到輸入數據點Xp是徑向基函數φp的中心。

隱藏層的作用是把向量從低維m映射到高維P,低維線性不可分的情況到高維就線性可分了。

將插值條件代入:

寫成向量的形式爲,顯然Φ是個規模這P對稱矩陣,且與X的維度無關,當Φ可逆時,有

對於一大類函數,當輸入的X各不相同時,Φ就是可逆的。下面的幾個函數就屬於這「一大類」函數:

1)Gauss(高斯)函數

2)Reflected Sigmoidal(反常S型)函數

3)Inverse multiquadrics(擬多二次)函數

σ稱爲徑向基函數的擴展常數,它反應了函數圖像的寬度,σ越小,寬度越窄,函數越具有選擇性。

完全內插存在一些問題:

1)插值曲面必須經過所有樣本點,當樣本中包含噪聲時,神經網絡將擬合出一個錯誤的曲面,從而使泛化能力下降。

由於輸入樣本中包含噪聲,所以我們可以設計隱藏層大小爲K,K<P,從樣本中選取K個(假設不包含噪聲)作爲Φ函數的中心。

2)基函數個數等於訓練樣本數目,當訓練樣本數遠遠大於物理過程中固有的自由度時,問題就稱爲超定的,插值矩陣求逆時可能導致不穩定。

擬合函數F的重建問題滿足以下3個條件時,稱問題爲適定的:

  1. 解的存在性
  2. 解的唯一性
  3. 解的連續性

不適定問題大量存在,爲解決這個問題,就引入了正則化理論。

正則化理論

正則化的基本思想是通過加入一個含有解的先驗知識的約束來控制映射函數的光滑性,這樣相似的輸入就對應着相似的輸出。

尋找逼近函數F(x)通過最小化下面的目標函數來實現:

加式的第一項好理解,這是均方誤差,尋找最優的逼近函數,自然要使均方誤差最小。第二項是用來控制逼近函數光滑程度的,稱爲正則化項,λ是正則化參數,D是一個線性微分算子,代表了對F(x)的先驗知識。曲率過大(光滑度過低)的F(x)通常具有較大的||DF||值,因此將受到較大的懲罰。

直接給出(1)式的解:

權向量********************************(2)

G(X,Xp)稱爲Green函數,G稱爲Green矩陣。Green函數與算子D的形式有關,當D具有旋轉不變性和平移不變性時,。這類Green函數的一個重要例子是多元Gauss函數:

正則化RBF網絡

輸入樣本有P個時,隱藏層神經元數目爲P,且第p個神經元採用的變換函數爲G(X,Xp),它們相同的擴展常數σ。輸出層神經元直接把淨輸入作爲輸出。輸入層到隱藏層的權值全設爲1,隱藏層到輸出層的權值是需要訓練得到的:逐一輸入所有的樣本,計算隱藏層上所有的Green函數,根據(2)式計算權值。

廣義RBF網絡

Cover定理指出:將複雜的模式分類問題非線性地映射到高維空間將比投影到低維空間更可能線性可分。

廣義RBF網絡:從輸入層到隱藏層相當於是把低維空間的數據映射到高維空間,輸入層細胞個數爲樣本的維度,所以隱藏層細胞個數一定要比輸入層細胞個數多。從隱藏層到輸出層是對高維空間的數據進行線性分類的過程,可以採用單層感知器常用的那些學習規則,參見神經網絡基礎和感知器

注意廣義RBF網絡只要求隱藏層神經元個數大於輸入層神經元個數,並沒有要求等於輸入樣本個數,實際上它比樣本數目要少得多。因爲在標準RBF網絡中,當樣本數目很大時,就需要很多基函數,權值矩陣就會很大,計算複雜且容易產生病態問題。另外廣RBF網與傳統RBF網相比,還有以下不同:

  1. 徑向基函數的中心不再限制在輸入數據點上,而由訓練算法確定。
  2. 各徑向基函數的擴展常數不再統一,而由訓練算法確定。
  3. 輸出函數的線性變換中包含閾值參數,用於補償基函數在樣本集上的平均值與目標值之間的差別。

因此廣義RBF網絡的設計包括:

結構設計--隱藏層含有幾個節點合適

參數設計--各基函數的數據中心及擴展常數、輸出節點的權值。

 

下面給出計算數據中心的兩種方法:

  1. 數據中心從樣本中選取。樣本密集的地方多采集一些。各基函數採用統一的偏擴展常數:


    dmax是所選數據中心之間的最大距離,M是數據中心的個數。擴展常數這麼計算是爲了避免徑向基函數太尖或太平。
  2. 自組織選擇法,比如對樣本進行聚類、梯度訓練法、資源分配網絡等。各聚類中心確定以後,根據各中心之間的距離確定對應徑向基函數的擴展常數。



    λ是重疊係數。

接下來求權值W時就不能再用了,因爲對於廣義RBF網絡,其行數大於列數,此時可以求Φ僞逆。

 數據中心的監督學習算法

最一般的情況,RBF函數中心、擴展常數、輸出權值都應該採用監督學習算法進行訓練,經歷一個誤差修正學習的過程,與BP網絡的學習原理一樣。同樣採用梯度下降法,定義目標函數爲

ei爲輸入第i個樣本時的誤差信號。

上式的輸出函數中忽略了閾值。

爲使目標函數最小化,各參數的修正量應與其負梯度成正比,即

具體計算式爲

上述目標函數是所有訓練樣本引起的誤差總和,導出的參數修正公式是一種批處理式調整,即所有樣本輸入一輪後調整一次。目標函數也可以爲瞬時值形式,即當前輸入引起的誤差

此時參數的修正值爲:


下面我們就分別用本文最後提到的聚類的方法和數據中心的監督學習方法做一道練習題。

考慮Hermit多項式的逼近問題

訓練樣本這樣產生:樣本數P=100,xi且服從[-4,4]上的均勻分佈,樣本輸出爲F(xi)+ei,ei爲添加的噪聲,服從均值爲0,標準差爲0.1的正態分佈。

(1)用聚類方法求數據中心和擴展常數,輸出權值和閾值用僞逆法求解。隱藏節點數M=10,隱藏節點重疊係數λ=1,初始聚類中心取前10個訓練樣本。

相關文章
相關標籤/搜索