1. 程式人生 > >MLP、RBF、SVM網路比較及其應用前景

MLP、RBF、SVM網路比較及其應用前景

  摘要:本文主要對MLPRBFSVM三種神經網路進行了詳細的分析與討論,從三種網路的結構、學習演算法、功能和效能等方面進行了比較。同時,結合自己的研究方向討論了三種結構的神經網路的應用前景。

1.      引言

        神經網路(neural network,NN)是一個以有向圖為拓撲結構的動態系統,它通過對連續或斷續式的輸入作狀態響應而進行資訊處理。是一個高度複雜的非線性動力學系統,不但具有一般非線性系統的共性,更主要的是它還具有自己的特點,比如高維性、神經元之間的廣泛互連性以及自適應性或自組織性等。

神經網路是在許多學科的基礎上發展起來的,它的深入研究必然會帶動其它相關學科的發展。它在數學理論本質上是非線性的數學理論,因此,現代非線性科學方面的進展必將推動神經網路的研究,同時,神經網路理論也會對非線性科學提出新課題。MLP(multilayer perceptron)、RBF(radial basis funtion)、SVM(support vector machine)三種網路是神經網路中研究的一個重點,它們具有很強的分類能力,它能解決模式分佈非常複雜的分類問題,但是在結構和功能上存在一些差別。

1.      網路結構

2.1單隱層MLP網路結構

         它由三部分組成:一組感知單元(源節點)組成輸入層、一層計算節點的隱含層、一層計算節點的輸出層。第一層的啟用函式為對數s形函式,第二層啟用函式為線性函式。如圖1所示,第一層的輸出為,第二層的輸出為,其中a為輸出,上標代表網路的層數,W為各層的權值,b為網路偏置。MLP是單層感知機的推廣,它能解決單層感知機所不能解決的非線性問題。

1單隱層MLP網路結構

2.2 RBF網路結構

RBF網路是一個三層結構的前饋網,它的隱層為徑向基神經元結構。徑向基神經元的淨輸入採用距離函式(如歐式距離)乘以偏置,並使用徑向基函式作為啟用函式。網路結構如下圖2所示。

2  RBF網路結構

其中,R代表輸入層並指出輸入維數;代表由徑向基神經元構成的隱層並指出神經元數目;是線性輸出層。

它的基本思想是:用RBF作為“隱”單元的基構成隱含層空間,將輸入向量直接(即不需要經過權連線)對映隱空間;當RBF的中心確定後,對映關係也就確定了;隱含層空間到輸出層空間直接的對映是線性的。

2.3 SVM網路結構

        SVM是一種基於結構風險最小化準則的學習方法。對於線性可分的二分類問題,試圖尋找最優線性分介面,讓這個分介面使兩類模式向量分開的間隔最大,SVM網路原理如圖3所示。對於線性不可分的二分類問題,通過尋找一個核函式,通過某種非線性對映將樣本對映到一個高維空間(特徵空間),在這個高維空間中構造最 優分類超平面,不同的核函式將形成不同的演算法,常用的有多項式核函式,徑向基函式,其結構如圖4所示。

                         

圖3 SVM網路原理圖

兩分類的線性判別函式的一般表示式為              ,其支援向量機的最優分介面為

4 SVM網路結構

     對於線性不可分的問題,通過某種非線性對映將樣本對映到一個高維空間,在這個高維空間構造最優分類超平面,最優超平面為

3.     學習演算法

3.1單隱層MLP網路學習演算法

3.1.1 BP學習演算法

BP演算法是LMS演算法的擴充套件,它使用均方誤差最小化的最速下降法,用來訓練MLP網路。LMS演算法則用來訓練單層的感知機。核心思想是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,即訊號的正向傳播,誤差的反向傳播。近似最速下降法表示如下:

      

       

BP演算法流程如下:①前向傳播:給各連線權值分別賦一個區間(-1,1)內的隨機數,選擇一個數據輸入,從第一層開始,計算每一層輸出並儲存各層輸出。

②反向傳播:計算最後一層輸出和目標輸出的差e=t-a,並根據公式計算最後一層的敏感性,其中為網路第M層輸出函式對淨輸入n求導,最後一層為線性函式,求導為1。按照公式計算前一層的敏感性,直到第一層,其中為第m層到m-1層的權值。③調權值:可以從第一層開始,也可以從最後一層開始進行調權,可按照下公式調節權值。

④選擇下一個輸入,繼續上面的過程,直到網路收斂為止。

      標準BP演算法實際上是一種簡單的最速下降靜態尋優演算法,在修正W(k)時,只是按照k時刻的負梯度方式進行修正,而沒有考慮到以前積累的經驗,即以前時刻的梯度方向,從而使學習過程發生振盪,收斂緩慢。

3.1.2 基於動量的BP學習演算法

             由於BP演算法的收斂速度比較慢,可能有多個區域性極小點,有不穩定性,故提出基於動量的BP演算法。它能平滑振盪提高收斂效能。故引入一個動量係數 ,當增加時,振盪減小,從而有利於減少振盪數目,保持平均值。改進公式為:

動量可以維持演算法穩定的前提下使用更高的學習速度。動量法降低了網路對於誤差曲面區域性細節的敏感性,有效的抑制網路陷入區域性最小。

3.1.3 可變學習速度的BP演算法

它試圖在較平坦的曲面提高學習速度,而在斜率增大時減小學習速度。它的規則如下:
    1)如果誤差平方(在整個訓練集上)在權值更新後增加了百分數z (典型值為1%至5%),則取消權值更新,學習速度乘上一個因子 (1 > r > 0),並且動量係數 g 置為 0。

2)如果誤差平方在權值更新後減少,則接受權值更新,並且學習速度乘上一個因子 h>1,如果動量係數 g 先前被置為0,則恢復到先前的值。

3)如果誤差平方的增加少於z,則接受權值更新,但是學習速度和動量係數不變。

改進的BP演算法也有些缺點:需要設定一些額外的引數,並且演算法效能對引數變化很敏感,引數的選擇還和問題有關。容易使一些能收斂的資料變得不可收斂。目前還有許多的改進演算法,遺傳演算法(GA)和模擬退火演算法等多種優化方法用於BP演算法的改進(這些方法從原理上講可通過調整某些引數求得全域性極小點),但在應用中,這些引數的調整往往因問題不同而異,較難求得全域性極小點。這些方法中應用最廣的是增加了衝量(動量)項的改進BP演算法。

3.2 RBF網路學習演算法

RBF學習演算法需要確定的網路引數為基函式的中心和方差,隱層到輸出層的權值。

1.自組織選取中心法

a)   第一步,自組織學習階段

無導師學習過程,求解隱含層基函式的中心與方差。

b)   第二步,有導師學習階段(仿逆或LMS方法)

求解隱含層到輸出層之間的權值。

採用高斯函式作為徑向基函式,如下:

網路的輸出為:

設d是樣本的期望輸出值,那麼基函式的方差可表示為:

自組織選取中心法的步驟:

第一步:採用K-均值聚類方法求取基函式中心

①網路的初始化,隨機選取h個訓練樣本作為聚類中心             

②將輸入的訓練樣本集合按最近鄰規則分組,按照  與中心為  之間的歐氏距離將  分配到輸入樣本  的各個聚類集合    中。

③重新調整聚類中心,計算各個聚類集合   中訓練樣本的平均值,即新的聚類中心  ,如果新的聚類中心不再發生變化,則所得到的   即為RBF神經網路最終的基函式中心,否則返回②,進入下一輪的中心求解。

第二步,求解方差。RBF神經網路的基函式為高斯函式時,方差可由下式求解。

式中 Cmax為中所選取中心之間的最大距離。

第三步,確定隱層到輸出層之間的權值。隱含層至輸出層之間神經元的連線權值可以用最小二乘法直接計算得到,公式如下:

2.隨機選取中心法

3.有監督選取中心法

4.正交最小二乘法

3.3 SVM網路學習演算法

  SVM網路學習的過程就是確定支援向量機的最優分介面的過程。即尋找使

構造Lagrange函式            求出使其值最大的,即可求出權值。

(1) “塊演算法”。具體作法是選擇一部分樣本構成工作樣本集進行訓練,剔除其中的非支援向量,並用訓練結果對剩餘樣本進行檢驗,將不符合訓練結果的樣本(或其中的一部分) 與本次結果的支援向量合併成為一個新的工作樣本集,然後重新訓練,如此重複下去直到獲得最優結果. 當支援向量的數目遠遠小於訓練樣本數目時,“塊演算法”能夠大大提高運算速度. 然而,如果支援向量的數目本身就比較多,隨著演算法迭代次數的增多,工作樣本集也會越來越大,演算法依舊會變得十分複雜。

(2) “分解演算法”。把問題分解成為固定樣本數的子問題,工作樣本集的大小固定在演算法速度可以容忍的限度內,迭代過程中只是將剩餘樣本中部分“情況最糟的樣本”與工作樣本集中的樣本進行等量交換,即使支援向量的個數超過工作樣本集的大小也不改變工作樣本集的規模,而只對支援向量中的一部分進行優化。

4.      網路的功能和效能

4.1 單隱層MLP網路功能和效能

(一)功能

1)函式逼近與預測分析:用輸入向量和相應的輸出向量訓練一個網路,逼近一個函式或預測未知資訊。

2)模式識別:用一個特定的輸出向量將它與輸入向量聯絡起來。

3)分類:把輸入向量以所定義的集合按合適方式進行分類。

4)資料壓縮:減少輸出向量維數以便於傳輸與儲存。

  (二)效能

1)非線性對映能力

能學習和存貯大量輸入-輸出模式對映關係,而無需事先了解描述這種對映關係的數學方程。只要能提供足夠多的樣本模式對供網路進行學習訓練,它便能完成由n維輸入空間到m維輸出空間的非線性對映。

2)泛化能力

當向網路輸入訓練時未曾見過的非樣本資料時,網路也能完成由輸入空間向輸出空間的正確對映。這種能力稱為泛化能力。

3)容錯能力

輸入樣本中帶有較大的誤差甚至個別錯誤對網路的輸入輸出規律影響很小。

4)網路訓練失敗的可能性較大

從數學角度看,BP演算法為一種區域性搜尋的優化方法,但它要解決的問題為求解複雜非線性函式的全域性極值, 因此, 演算法很有可能陷入區域性極值,使訓練失敗。

5)網路結構的選擇尚無一種統一而完整的理論指導, 一般只能由經驗選定。為此,有人稱神經網路的結構選擇為一種藝術。而網路的結構直接影響網路的逼近能力及推廣性質。因此,應用中如何選擇合適的網路結構是一個重要的問題。

4.2 RBF網路功能和效能

(一)功能

RBF網路常用於函式逼近和分類問題。輸入層將網路與外界環境連線起來,隱層實現從輸入空間到隱層空間之間的非線性變換,輸出層是線性的,完成隱層輸出的加權和。它能以任意精度逼近任一連續函式,可以處理系統內在的難以解析的規律性, 並且具有極快的學習收斂速度, 因此RBF網路有較為廣泛的應用, 目前常用於於非線性函式逼近、時間序列分析、資料分類、模式識別、資訊處理、影象處理、系統建模、控制和故障診斷等。

(二)效能

1)它是一種前向網路。網路隱層節點的非線性變換把線性不可分問題轉化為線性可分問題。

    2)隱單元的啟用函式通常為具有區域性接受域的函式,即僅當輸入落在輸入空間中一個很小的指定區域中時,隱單元才作出有意義的非零響應。因此,RBF網路有時也稱為區域性接受域網路。

3)RBF網路的區域性接受特性使得其決策時隱含了距離的概念,即只有當輸入接近RBF網路的接受域時,網路才會對之作出響應。這就避免了BP網路超平面分割所帶來的任意劃分特性。

4)在RBF網路中,輸入層至輸出層之間的所有權重固定為1,隱層RBF單元的中心及半徑通常也預先確定,僅隱層至輸出層之間的權重可調。RBF網路的隱層執行一種固定不變的非線性變換,將輸入空間Rn對映到一個新的隱層空間Rh,輸出層在該新的空間中實現線性組合。顯然由於輸出單元的線性特性,其引數調節極為簡單,且不存在區域性極小問題。

5)一般RBF網路所利用的非線性啟用函式形式對網路效能的影響並非至關重要,關鍵因素是基函式中心的選取。

4.3 SVM網路功能和效能

(一)功能

1)SVM 通過核函式實現到高維空間的非線性對映,所以適合於解決本質上非線性的分類、迴歸和密度函式估計等問題。

2)支援向量方法也可用在樣本分析、因子篩選、資訊壓縮、知識挖掘和資料修復等方面。

3)SVM 網路已經在影象識別、訊號處理和基因圖譜識別等方面大量使用。

(二)效能

1)非線性對映是SVM方法的理論基礎,SVM利用內積核函式代替向高維空間的非線性對映。

    2)對特徵空間劃分的最優超平面是SVM的目標,最大化分類邊際的思想是SVM方法的核心。

3)支援向量是SVM的訓練結果,在SVM分類決策中起決定作用的是支援向量。

4)SVM 是一種有堅實理論基礎的新穎的小樣本學習方法。它基本上不涉及概率測度及大數定律等,因此不同於現有的統計方法。從本質上看,它避開了從歸納到演繹的傳統過程,實現了高效的從訓練樣本到預報樣本的“轉導推理”,大大簡化了通常的分類和迴歸等問題。

5)在解決模式分類問題方面,能提供較好的泛化效能,具有較好的魯棒性,表現在:①增、刪非支援向量樣本對模型沒有影響;②支援向量樣本集具有一定的魯棒性;③有些成功的應用中,SVM方法對核的選取不敏感。

6)SVM演算法對大規模訓練樣本難以實施。由於SVM是藉助二次規劃來求解支援向量,而求解二次規劃將涉及m階矩陣的計算(m為樣本的個數),當m數目很大時該矩陣的儲存和計算將耗費大量的機器記憶體和運算時間。

7)SVM 的最終決策函式只由少數的支援向量所確定,計算的複雜性取決於支援向量的數目,而不是樣本空間的維數,這在某種意義上避免了“維數災難”。

8)現有SVM理論僅討論具有固定懲罰係數C的情況,而實際上正負樣本的兩種誤判往往造成損失是不同的。

5.   應用前景

神經網路所適用的應用領域與網路本身結構和功能有關,特別是與其具有的計算能力有關,神經網路至少有以下的計算能力:

1)數學的近似對映。

2)概率密度函式的估計。

3)從二進位制資料基中提取相關的知識。

4)形成拓撲連續及統計意義上的同構對映。

5)最近相鄰模式分類。

6)資料聚集。

7)最優化問題的計算。

不同的神經網路模型的計算能力是不同的, 它們各具有上述能力的一種或幾種。上面講述的網路的能力只是一個抽象的結論。神經網路的應用就是把上述的能力應用到解決實際的工程領域。在這裡只講述在語音識別方面的應用。

人工神經網路模擬了人類神經元活動原理, 具有自學習、聯想、對比、推理和概括能力, 並且, 具有能夠逼近任意的非線性函式、並行化處理資訊、容錯能力強等諸多優點。因此, 它為解決語音識別這樣的一個複雜的模式分類問題提供了新的途徑。例如神經網路可以用來降低噪聲對語音的影響,提高語音識別的正確率。同時,神經網路還可以用於縮小建模單元, 一般在音素上建模, 通過提高音素的識別率來提高整個系統的識別率。

一個典型的應用時說話人識別。說話人識別屬於連續輸入訊號的分類問題,SVM是一很好的分類器,但不適合處理連續輸入樣本。為此,可引入隱式馬爾可夫模型HMM,建立SVM和HMM的混合模型,HMM適合處理連續訊號,而SVM適合於分類問題;HMM的結果反映了同類樣本的相似度,而SVM的輸出結果則體現異類樣本間的差異,從而實現良好的效果。由此可見,人工神經網路在語音識別中的應用已經成為新的研究熱點。

6.      總結

    神經網路的應用十分廣泛,除了本文中討論的三種網路,還有許多其他結構的網路,在應用過程中選擇什麼型別的網路要依據問題的性質和規模來確定。雖然神經網路能提供很好的分類功能,但是好的特徵是獲得好的分類的基礎,對於分類問題,不能一上來就用神經網路去處理,對於分類效能還和前期的處理有關,還可以和其他方法進行結合,從而提高分類效能。