崔兆順 韓雙旺
[摘要]PSO算法由于具有獨特的信息共享機制而得到廣泛應(yīng)用。介紹人工神經(jīng)網(wǎng)絡(luò)的基本原理以及網(wǎng)絡(luò)學(xué)習及泛化的方法,以此為基礎(chǔ)將POS算法作為學(xué)習算法用于人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練,給出基于PSO的神經(jīng)網(wǎng)絡(luò)學(xué)習算法的設(shè)計方法,并通過實驗,驗證PSO算法在訓(xùn)練集錯誤率方面的優(yōu)越性。
[關(guān)鍵詞]PSO算法人工神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)學(xué)習與泛化
中圖分類號:TP2文獻標識碼:A文章編號:1671-7597(2009)0710042-01
粒子群算法用于神經(jīng)網(wǎng)絡(luò)優(yōu)化主要包括兩大方面:一是用于網(wǎng)絡(luò)學(xué)習(也稱網(wǎng)絡(luò)訓(xùn)練),即優(yōu)化網(wǎng)絡(luò)各層之間的連接權(quán)值;二是優(yōu)化網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。本文的主要工作則集中在用PSO算法進行人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練這一方面。
一、人工神經(jīng)網(wǎng)絡(luò)的基本原理
人工神經(jīng)網(wǎng)絡(luò)模型是基于生物學(xué)中神經(jīng)網(wǎng)絡(luò)的基本原理而建立起來的一種模仿人腦工作方式的計算模型,可以被看作一種具有大量連接的并行分布處理系統(tǒng),它可以通過學(xué)習獲取知識和解決問題,并將知識存儲在連接權(quán)值中(對應(yīng)生物神經(jīng)元的突觸)[1]。神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本處理單元,它的模型如下圖1所示。
圖1單輸入神經(jīng)元
從上圖可以看出,標量輸入P乘以權(quán)值w得到WP,將其送入累加器并與偏置值b相加得到的值n通常被稱為凈輸入,它被作為參數(shù)送入傳輸函數(shù)f,通過f的運算產(chǎn)生標量輸出a。神經(jīng)網(wǎng)絡(luò)的設(shè)計者可以選擇特定的傳輸函數(shù)不并根據(jù)學(xué)習規(guī)則調(diào)整權(quán)值w和偏置值b以滿足特定的需要。其中的傳輸函數(shù)主要包括三種類型:階躍傳輸函數(shù)、線性傳輸函數(shù)和logsig傳輸函數(shù)。結(jié)構(gòu)圖中的f指傳輸函數(shù)。兩個或多個并行操作的神經(jīng)元組成神經(jīng)網(wǎng)絡(luò)的層,典型的神經(jīng)網(wǎng)絡(luò)可以包括一層或多層[2]。
二、人工神經(jīng)網(wǎng)絡(luò)學(xué)習和泛化
人工神經(jīng)網(wǎng)絡(luò)具有學(xué)習并獲取知識的能力。所謂學(xué)習,就是修改神經(jīng)網(wǎng)絡(luò)的權(quán)值和偏置值的過程。而指導(dǎo)神經(jīng)網(wǎng)絡(luò)進行權(quán)值更新的規(guī)則就被稱為學(xué)習算法(也稱訓(xùn)練算法)。
網(wǎng)絡(luò)學(xué)習(也稱網(wǎng)絡(luò)訓(xùn)練)通常有兩種方式:有監(jiān)督學(xué)習(有教師學(xué)習)與無監(jiān)督學(xué)習(無教師學(xué)習)。兩者之間的差別在于在學(xué)習的過程中是否有與輸入相對應(yīng)的目標輸出對訓(xùn)練進行指導(dǎo)。目前大多數(shù)的神經(jīng)網(wǎng)絡(luò)采用的都是有監(jiān)督學(xué)習。它是一個重復(fù)的過程,當每個輸入作用到網(wǎng)絡(luò)上時,網(wǎng)絡(luò)的實際輸出與目標輸出相比較,然后學(xué)習規(guī)則調(diào)整該網(wǎng)絡(luò)的權(quán)值和偏置值,使得網(wǎng)絡(luò)的實際輸出進一步靠近目標輸出[3]。
網(wǎng)絡(luò)的泛化能力主要由以下幾個因素所影響:
1.待求解問題的復(fù)雜程度。它取決于問題本身,因而無法控制。
2.樣本特性。只有當訓(xùn)練樣本足以表征所研究問題的一些主要或基本特性時,網(wǎng)絡(luò)通過合理的學(xué)習機制可以使其具有泛化能力,合理的樣本結(jié)構(gòu)是網(wǎng)絡(luò)具有泛化能力的必要條件。
3.網(wǎng)絡(luò)自身的因素。這些因素包括網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)初始權(quán)值的設(shè)定和網(wǎng)絡(luò)的學(xué)習算法等。網(wǎng)絡(luò)的結(jié)構(gòu)因素主要指網(wǎng)絡(luò)的隱層數(shù)以及各隱層中節(jié)點的個數(shù)對泛化能力的影響。
三、人工神經(jīng)網(wǎng)絡(luò)學(xué)習算法
PSO作為一種新興的進化算法,其收斂速度快、魯棒性高、全局搜索能力強,且不需要借助問題本身的特征信息(如梯度)。將PSO與神經(jīng)網(wǎng)絡(luò)結(jié)合,用PSO算法來優(yōu)化神經(jīng)網(wǎng)絡(luò)的連接權(quán)值,可以較好地克服BP神經(jīng)網(wǎng)絡(luò)的問題,不僅能發(fā)揮神經(jīng)網(wǎng)絡(luò)的泛化能力,而且能夠提高人工神經(jīng)網(wǎng)絡(luò)的收斂速度和學(xué)習能力。
(一)特征提取
整個特征提取過程分為三個階段,首先應(yīng)對數(shù)據(jù)進行深入分析,接著使用t檢驗法獲取與任務(wù)相關(guān)的特征范圍,最后是選擇合適的方式進行特征提取。首先應(yīng)該明確的是,特征提取的目標是體素點。
基于感興趣區(qū)的特征提取首先應(yīng)確定感興趣區(qū)。它可以通過神經(jīng)學(xué)家手工進行劃定,也可以借助軟件找出這些激活區(qū)的精確的解剖部位,并根據(jù)激活腦區(qū)的分布情況,確定感興趣區(qū)。特征提取的具體過程如下:
Step1:劃定感興趣區(qū)并找到t值最大的點,紀錄該點所屬的坐標和腦區(qū)。Step2:將這些坐標對應(yīng)的數(shù)據(jù)的體素點找到。Step3:計算以這些點為圓心,預(yù)定值為半徑的球內(nèi)體素點強度的平均值,并以此作為特征向量。Step4:如果是最后一幀圖,則停止;否則掃描下一幀圖,執(zhí)行第二步。
(二)算法思想
將PSO作為學(xué)習算法來優(yōu)化感知機網(wǎng)絡(luò)權(quán)值的關(guān)鍵在于以下兩點:
1.建立PSO粒子的維度空間與人工神經(jīng)網(wǎng)絡(luò)連接權(quán)值之間的映射。粒子群中每個粒子的維度分量都對應(yīng)為神經(jīng)網(wǎng)絡(luò)中的一個連接權(quán)值。也就是說神經(jīng)網(wǎng)絡(luò)中有多少個連接權(quán)傲其中包括偏置旬,作為學(xué)習算法的PSO中的每個粒子就應(yīng)該有多少維。
2.使用人工神經(jīng)網(wǎng)絡(luò)的均方誤差作為PSO的適應(yīng)函數(shù),通過PSO算法強大的搜索性能使網(wǎng)絡(luò)的均方誤差最小化。
假設(shè)該人工神經(jīng)網(wǎng)絡(luò)共有d個輸入,輸出層有n個神經(jīng)元,隱層共有m個神經(jīng)元。網(wǎng)絡(luò)共有d*m+m*n+m+n個權(quán)值以及偏置值,因而基于PSO的學(xué)習算法中的粒子的維度就應(yīng)為d*m+m*n+m+n。對于大部分分類問題,二層感知機隱層的傳輸函數(shù)f一般采用Sigmod函數(shù)。對于輸入X,人工神經(jīng)網(wǎng)絡(luò)應(yīng)有以下輸出:
式3-1)
以上網(wǎng)絡(luò)在含有P個樣本的訓(xùn)練集上的均方誤差,也是PSO的適應(yīng)函數(shù),如下:
(式3-2)
基于以上分析,該學(xué)習算法可以設(shè)計如下:
Step1:將神經(jīng)元之間的所有連接權(quán)值編碼成實數(shù)向量來表示種群中的個體。Step2:隨機生成這些向量的群體,接著按照算法原步驟迭代。Step3:迭代中新生成的個體向量還原為神經(jīng)網(wǎng)絡(luò)權(quán)值,計算所有樣本通過神經(jīng)網(wǎng)絡(luò)產(chǎn)生的均方差,這一步驟等同于粒子群算法中計算粒子的適應(yīng)度。Step4:如果均方差小于系統(tǒng)指定的誤差精度,則訓(xùn)練過程停止,否則迭代繼續(xù)進行,直到達到最大迭代次數(shù)。
(三)性能評價
對于前饋人工神經(jīng)網(wǎng)絡(luò),通常采用分類問題和函數(shù)逼近問題對其性能的測試。在網(wǎng)絡(luò)訓(xùn)練中對學(xué)習算法進行測試而得到的性能指標通常有以下四種:
1. :訓(xùn)練集的分類錯誤率,它的值是由訓(xùn)練集中分類錯誤的樣本數(shù)目除以訓(xùn)練集的總樣本數(shù)目而得到的。
2. :測試集的分類錯誤率,它的值是由測試集中分類錯誤的樣本數(shù)目除以測試集的總樣本數(shù)目而得到的。任何測試集中的樣本在訓(xùn)練階段是不允許出現(xiàn)在訓(xùn)練集中的。
3. :訓(xùn)練集上的均方誤差。
4.:測試集上的均方誤差,也稱泛化均方誤差。
用多層感知機網(wǎng)絡(luò)求解分類問題時,這四個性能指標都可以使用。而對于函數(shù)逼近和擬合問題,只有后兩種指標可以使用,因為在函數(shù)逼近問題中沒有輸出分類。
(四)實驗分析
本實驗選用Breast Cancer標準分類問題數(shù)據(jù)集做為測試實例。為了達到測試和比較的目的,除了PSO之外,還選用了GA(標準遺傳算法)、GD(梯度下降算法)、快速傳播算法(quick propagation)和BP算法對感知機人工神經(jīng)網(wǎng)絡(luò)的權(quán)值進行了優(yōu)化,并將這些算法的分類性能進行了分析與比較。其中,快速傳播算法的影響因子設(shè)為1.75,學(xué)習速率設(shè)為0.1;BP算法學(xué)習速率和動量參數(shù)都設(shè)為0.1。
Breast Cancer分類問題共包括600個樣本,每個樣本都由有9個分類屬性組成,它只有1個輸出。隱層節(jié)點數(shù)設(shè)為8個,這樣相應(yīng)的二層感知機人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)就為9-8-1,網(wǎng)絡(luò)的權(quán)值總數(shù)共9*8+8*1+8+1=89個。
四、小結(jié)
自上世紀80年代以來,智能優(yōu)化算法(如人工神經(jīng)網(wǎng)絡(luò)、混沌算法、遺傳算法等)通過模擬或揭示某些自然現(xiàn)象和過程而發(fā)展起來,為優(yōu)化理論提供了新的思路和手段,并在科學(xué)、經(jīng)濟以及工程領(lǐng)域得到了廣泛應(yīng)用。粒子群優(yōu)化算法是一種基于種群搜索策略的自適應(yīng)隨機算法。作為智能優(yōu)化算法中的一種,它可用于求解大部分的優(yōu)化問題,并在工程實踐中表現(xiàn)出巨大潛力,現(xiàn)已廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)、模糊系統(tǒng)控制、模式識別等多個領(lǐng)域。
參考文獻:
[1]J.Kennedy,R.Mendes.Population structuer and particle swarm performance[J].Proceedingo f IEEE conference on Evolutionary Computation,2006:1671-1676.
[2]J.Kennedy,R.C.Eberhart. A discrete binary version of the particle swarm optimization algoirthm[J].Proceeding of Intenrational Confeernce on System,Man,and Cybenretics,2007:4104-4109.
作者簡介:
崔兆順(1973-),男,甘肅天水人,碩士,天水師范學(xué)院物信學(xué)院講師。主要研究方向:智能信息系統(tǒng)和數(shù)據(jù)挖掘;韓雙旺,男,碩士,天水師范學(xué)院物信學(xué)院講師,主要研究方向:地理信息系統(tǒng)和軟件開發(fā)技術(shù)。