前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇神經(jīng)網(wǎng)絡(luò)算法范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞 神經(jīng)網(wǎng)絡(luò);BP;優(yōu)化算法
中圖分類號:TP183 文獻標識碼:A 文章編號:1671-7597(2014)13-0066-01
1 人工神經(jīng)網(wǎng)絡(luò)模型
人工神經(jīng)網(wǎng)絡(luò)簡稱ANN,它是一種將人類大腦的組織結(jié)構(gòu)和運行機制作為其研究基礎(chǔ)來模擬人類大腦內(nèi)部結(jié)構(gòu)和其智能行為的處理系統(tǒng)。人工神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元細胞將其接收到的所有信號進行處理,如加權(quán)求和等操作,進行操作后經(jīng)軸突輸出。
2 人工神經(jīng)網(wǎng)絡(luò)的分類
2.1 前饋型神經(jīng)網(wǎng)絡(luò)
前饋型神經(jīng)網(wǎng)絡(luò)通過對其網(wǎng)絡(luò)中的神經(jīng)元之間的連接關(guān)系進行復(fù)合映射,因此這種網(wǎng)絡(luò)模型具有非常強的非線性處理的能力。如圖1所示,在這里前饋型神經(jīng)網(wǎng)絡(luò)模型被分為三層,分別為輸入層、輸出層和隱含層,一般常用的前饋型神經(jīng)網(wǎng)絡(luò)有BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、自組織神經(jīng)網(wǎng)絡(luò)等。
圖1 前向神經(jīng)網(wǎng)絡(luò)模型
2.2 反饋型神經(jīng)網(wǎng)絡(luò)
反饋型神經(jīng)網(wǎng)絡(luò)其結(jié)構(gòu),在這個模型中我們假設(shè)網(wǎng)絡(luò)總的神經(jīng)元個數(shù)為N,則每個神經(jīng)元節(jié)點都有N個輸入值及一個輸出值,每個神經(jīng)元節(jié)點都如此,節(jié)點之間相互聯(lián)系。現(xiàn)在被大量使用的反饋型神經(jīng)網(wǎng)絡(luò)一般有離散Hopfield神經(jīng)網(wǎng)絡(luò)模型、Elman神經(jīng)網(wǎng)絡(luò)模型等等。
3 BP神經(jīng)網(wǎng)絡(luò)
3.1 BP神經(jīng)網(wǎng)絡(luò)簡介
1986年,Rumelhant和McCelland提出了BP神經(jīng)網(wǎng)絡(luò)的一般模型,BP神經(jīng)網(wǎng)絡(luò)是一種具有多層網(wǎng)絡(luò)的反向傳播學習算法。BP神經(jīng)網(wǎng)絡(luò)模型的基本思想是:整個過程主要由信號的正向傳播和誤差的反向傳播兩個過程組成。目前,BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用范圍為數(shù)據(jù)壓縮、數(shù)據(jù)分類、預(yù)測分析和模式識別等領(lǐng)域。
3.2 BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
如圖2所示,這里是BP神經(jīng)網(wǎng)絡(luò)的一種模型結(jié)構(gòu),在這種模型結(jié)構(gòu)中輸入信號量為m,具有隱含層的數(shù)量為j,輸出信號量為q的模型結(jié)構(gòu)。
BP神經(jīng)網(wǎng)絡(luò)一般具有一個或多個隱含層單元,其差別主要體現(xiàn)在激活函數(shù)的不同。針對BP神經(jīng)網(wǎng)絡(luò)所使用的激活函數(shù)一
圖2 BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
般采用S型對數(shù)函數(shù)或者采用正切激活函數(shù),而輸出層則一般采用線性函數(shù)作為激活函數(shù)。
3.3 BP神經(jīng)網(wǎng)絡(luò)的改進方法
BP神經(jīng)網(wǎng)絡(luò)作為當今對研究電力負荷預(yù)測應(yīng)用最多的一種神經(jīng)網(wǎng)絡(luò),但標準的BP神經(jīng)網(wǎng)絡(luò)算法存在的一些缺陷,這里就對一些經(jīng)常使用的典型改進方法進行描述。
1)增加動量項。在一般的BP神經(jīng)網(wǎng)絡(luò)算法中,其模型中的各層權(quán)值在進行更新的過程中,是按照t時刻誤差曲線進行梯度下降方式進行調(diào)整的,在這里并沒有考慮其之間的梯度下降的方向,如果使用這種方式進行調(diào)整則會造成訓(xùn)練的過程不穩(wěn)定,容易發(fā)生振蕩,導(dǎo)致收斂過程緩慢的結(jié)果。因此有些學者就為了使網(wǎng)絡(luò)訓(xùn)練的速度提高,收斂過程加快,就在一般網(wǎng)絡(luò)模型的權(quán)值更新環(huán)節(jié)添加了一個動量項因子即:
(1)
在這個式子中,W表示BP神經(jīng)網(wǎng)絡(luò)中每一層的權(quán)值矩陣,O則表示神經(jīng)網(wǎng)絡(luò)中每一層的輸出向量矩陣,α則被稱為該神經(jīng)網(wǎng)絡(luò)的動量系數(shù)因子,其取值范圍在0到1之間,在該網(wǎng)絡(luò)在進行訓(xùn)練的過程中,如果其誤差梯度網(wǎng)線出現(xiàn)了局部極小值現(xiàn)象,雖然在這里的第一項會趨摟于零,但是這一項,
這樣就會使該訓(xùn)練過程避免了限入局部極小值區(qū)域的形勢,從而加快了其訓(xùn)練速度,使該神經(jīng)網(wǎng)絡(luò)收斂速度加快,因此這種帶有動量項因子的BP神經(jīng)網(wǎng)絡(luò)算法應(yīng)用到了很多的BP網(wǎng)絡(luò)中。
2)學習速度的自適應(yīng)調(diào)節(jié)方法。學習速度η在一個標準的BP神經(jīng)網(wǎng)絡(luò)中是以一個常數(shù)出現(xiàn)的我們也稱為之步長,而在實際的運算過程中,很難找到一個數(shù)值作為最優(yōu)學習速度。我們從誤差曲面圖形中可以看出,當曲面中區(qū)域處于一個平坦區(qū)域時,我們需要設(shè)置一個比較大的η值,使它能夠跳出這個平坦的區(qū)域;而當曲面中的區(qū)域處于變化比較很大的區(qū)域時,這時的η的數(shù)值我們又需要將其進行減小或者增大操作。自適應(yīng)調(diào)整學習速度η則可以根據(jù)網(wǎng)絡(luò)的總誤差來進行自我調(diào)整,在網(wǎng)絡(luò)經(jīng)過多次調(diào)整后,如果E總繼續(xù)上升,則表明這里的調(diào)整是無效的,且η=βη, ;而經(jīng)常調(diào)整這里的E總下降了,則表明這里的調(diào)整是有效果的,且η=αη,。
3)引入陡度因子(防止飽和)。在網(wǎng)絡(luò)訓(xùn)練的過程中,由于其誤差曲面具有平坦區(qū),當處于這個區(qū)域時,由于S型激活函數(shù)有飽和特性,促使權(quán)值的調(diào)整速度放慢,從而影響了調(diào)整的速度。在訓(xùn)練的過程中,如果算法調(diào)整進入了這個區(qū)域,我們可以減小神經(jīng)元的輸入量,使其輸出值迅速脫離激活函數(shù)的飽和區(qū)域,這里誤差函數(shù)的數(shù)值則會隨之發(fā)生改變,其權(quán)值的調(diào)整也就脫離了該平坦區(qū)。想要實現(xiàn)以上思路則需要在激活函數(shù)中引入一個陡度因子λ。
(2)
當趨近于0時,而數(shù)值較大時,調(diào)整其進入誤差曲面中的平坦區(qū),此時λ的值應(yīng)選擇大于1的數(shù)值;而當調(diào)整脫離平坦區(qū)域后,再設(shè)置λ大于1,使激活函數(shù)能夠恢復(fù)到原始數(shù)值。
4 總結(jié)
綜上所述,設(shè)計一個人工神經(jīng)網(wǎng)絡(luò)應(yīng)用到實際問題中,可以歸結(jié)為網(wǎng)絡(luò)自身權(quán)值參數(shù)的學習與合理的設(shè)計網(wǎng)絡(luò)拓撲結(jié)構(gòu)這兩大類優(yōu)化問題。由于人工神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是一個非常復(fù)雜的問題,使用傳統(tǒng)的學習算法進行訓(xùn)練則要花費很長的時間,BP算法用到了梯度下降法,才只能在一定范圍內(nèi)找到合適的參數(shù)值及其模型結(jié)構(gòu)。因此,為了更好的提高神經(jīng)網(wǎng)絡(luò)的泛化能力,及將網(wǎng)絡(luò)拓撲結(jié)構(gòu)設(shè)計的更加合理,大量關(guān)于神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法相繼產(chǎn)生。
參考文獻
【關(guān)鍵詞】BP算法 蟻群優(yōu)化算法 放大因子 神經(jīng)網(wǎng)絡(luò)
伴隨著近年來對于人工智能(Artificial Intelligence)研究的不斷深入,其中一項重要的分支內(nèi)容也越來越引起人們的重視,即人工神經(jīng)網(wǎng)絡(luò),這一技術(shù)研究現(xiàn)已經(jīng)廣泛的應(yīng)用到了信息處理、車輛檢測、價格預(yù)測等多個領(lǐng)域當中。而BP網(wǎng)絡(luò)神經(jīng)算法則是應(yīng)用普及程度最高的一項神經(jīng)網(wǎng)絡(luò)內(nèi)容,然而這一傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法卻存在有一些較為顯著的缺陷性,如局部不足、收斂緩慢、缺乏理論指導(dǎo)等,因此有必要對傳統(tǒng)的算法進行改進。據(jù)此本文主要就通過對于上述問題的分析,提出了引入放大因子以及應(yīng)用蟻群優(yōu)化算法兩項改進手段,并通過將改進后的算法應(yīng)用到瓦斯?jié)舛葯z驗中,有效的驗證了這一算法的科學性。
1 傳統(tǒng)BP算法的缺陷
1.1 收斂緩慢
因為BP神經(jīng)網(wǎng)絡(luò)的誤差函數(shù)的曲面圖像十分復(fù)雜,因此極有可能會有一些相對較為平坦曲面的存在,在起初之時的網(wǎng)絡(luò)訓(xùn)練收斂值較大,然而伴隨著訓(xùn)練的進行,在訓(xùn)練行進到平坦曲面位置時,依據(jù)梯度下降法,便極有可能會發(fā)生盡管誤差值較大,然而誤差梯度值卻較小,進而也就導(dǎo)致權(quán)值的可調(diào)整值變小,最終僅能夠采取加多訓(xùn)練次數(shù)的方式來逐漸退出目標區(qū)域。
1.2 局部不足
盡管BP算法能夠促使均方誤差達到最小化權(quán)值與閾值,然而因為多層網(wǎng)絡(luò)結(jié)構(gòu)的均方誤差存在有極大的復(fù)雜性特點,既有可能導(dǎo)致多項局部極小值情況的出現(xiàn),從而使得算法在斂收之時,無法準確的判定出是否求得最優(yōu)解。
1.3 缺乏理論指導(dǎo)
由于僅在接近于連續(xù)函數(shù)的情況時才需多層隱含層,但是在實際情況下往往是選用單層隱含層,這就會導(dǎo)致一個十分明顯的問題,即隱含層神經(jīng)元的數(shù)量大小是對網(wǎng)絡(luò)計算的復(fù)雜性是具有直接性影響的,從理論層面來說神經(jīng)元數(shù)量越多,所得到的求值才能夠越精確,然而現(xiàn)實情況往往都是依據(jù)經(jīng)驗公式,以及大量的實驗驗證來明確出相應(yīng)的隱含層神經(jīng)元數(shù)量,這必須要借助于大量的運算處理才能實現(xiàn)。
2 算法改進
2.1 放大因子的引入
在精確性允許的前提下,為了獲得更大的幾何間隔,可放寬容錯性,為閾值增添以一定的松弛變量。但還在BP神經(jīng)網(wǎng)絡(luò)的學習過程當中,因為樣本所出現(xiàn)的隨機性改變,在通過歸一化處置后,于初期學習階段,樣本的訓(xùn)練誤差較大,收斂較快,然而伴隨著訓(xùn)練的持續(xù)進行,特別是在樣本訓(xùn)練結(jié)果無限趨近于1/0之時,這是訓(xùn)練便會達到平臺期,也就是相對停滯階段。
在將放大因子運用到實際訓(xùn)練當中,對隱含層與輸出層當中的權(quán)值采取調(diào)整,所產(chǎn)生的神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果影響,要明顯超過輸入層和隱含層當中權(quán)值調(diào)整所造成的影響,因而在本次研究當中,將放大因子應(yīng)用在了隱含層和輸出層權(quán)值的調(diào)整之中。
2.2 應(yīng)用蟻群優(yōu)化算法
蟻群優(yōu)化算法是一種對離散優(yōu)化問題進行求解的通用型框架。在某條具體路徑當中所經(jīng)過的螞蟻數(shù)量越多,相應(yīng)的信息條件密集性也就越大,從而這一路徑被選取的概率也就越大,其呈現(xiàn)出的是一種正反饋的現(xiàn)狀情況。每一只螞蟻在僅穿過任一節(jié)點一次的情況之時,對被選用的權(quán)值節(jié)點進行明確的記錄,從而該區(qū)域之中的節(jié)點也就組成了一組候選權(quán)值,在所有螞蟻均完成了首次選擇后,依據(jù)全局更新策略來對信息素的密度進行更新。直至滿足于最大進化代數(shù),也就得到了最佳的權(quán)值組合。
3 實驗分析
3.1 變量選取
考量到瓦斯?jié)舛扔绊懸蛩厮邆涞牡牟淮_定性,因此可對各類因素予以篩選,在對短期預(yù)測不造成影響的情況下,來選擇出影響力最大的因子。在瓦斯?jié)舛缺O(jiān)測的特征變量中主要包括有風速、溫度、負壓、一氧化碳濃度、瓦斯?jié)舛取?/p>
3.2 參數(shù)選擇
依據(jù)上述特征變量內(nèi)容,此實驗的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)便可明確為輸入層4項:風速、溫度、負壓、一氧化碳濃度,輸出層1項:瓦斯?jié)舛取a槍σ陨咸卣髯兞恳来芜x用傳統(tǒng)BP算法與改進后的算法進行測量,隱含網(wǎng)絡(luò)層均為1個。隱含層節(jié)點可通過下列公式予以驗證:
m=0.618*(input+output)
在這一公式當中input與output即為輸入層與輸出層節(jié)點數(shù)量。BP神經(jīng)網(wǎng)絡(luò)算法的訓(xùn)練數(shù)共1100,預(yù)計誤差值為0.0011,其中隱含層應(yīng)用Sig mod函數(shù),在輸出層之中應(yīng)用線性函數(shù)。蟻群優(yōu)化模型最終其規(guī)模明確為600,權(quán)值區(qū)間取[-1,1],迭代次數(shù)取1100次。
3.3 結(jié)果分析
在考量到具體運用時的科學性,可編寫一項測試軟件,針對數(shù)據(jù)內(nèi)容予以計算處理,并將多次試驗所得數(shù)據(jù)信息予以對比,改進之后的BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)BP網(wǎng)絡(luò)其檢測精確性如表1所示。
通過觀察表1,能夠明顯的發(fā)現(xiàn),經(jīng)過改進的BP神經(jīng)網(wǎng)絡(luò)算法其訓(xùn)練擬合度相較于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法而言更高,同時準確率也顯著提升了3.82%,收斂速度也有了顯著的提升,權(quán)值選取也有了理論性的指導(dǎo)。
4 結(jié)束語
總而言之,傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法存在收斂速度較慢、且容易陷入到局部不足以及缺乏理論指導(dǎo)的設(shè)計陷阱,本文主要通過對放大因子的引入,使得BP神經(jīng)網(wǎng)絡(luò)算法在實際訓(xùn)練時的權(quán)值調(diào)整方式發(fā)生了轉(zhuǎn)變,進而通過應(yīng)用蟻群優(yōu)化算法來實現(xiàn)了對于BP神經(jīng)網(wǎng)絡(luò)權(quán)值的選擇,并構(gòu)建起了相應(yīng)的神經(jīng)網(wǎng)絡(luò)模型以及改進后的訓(xùn)練方法。最終將此改進之后的BP神經(jīng)網(wǎng)絡(luò)算法應(yīng)用到瓦斯?jié)舛阮A(yù)測領(lǐng)域之中,其效果明顯優(yōu)于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法。
參考文獻
[1]楊紅平,傅衛(wèi)平,王雯等.結(jié)合面法向和切向接觸剛度的MPSO-BP神經(jīng)網(wǎng)絡(luò)算法的建模[J].儀器儀表學報,2012(08).
[2]陳樺,程云艷.BP神經(jīng)網(wǎng)絡(luò)算法的改進及在Matlab中的實現(xiàn)[J].陜西科技大學學報(自然科學版),2014(02):45-47.
關(guān)鍵詞:競爭型神經(jīng)網(wǎng)絡(luò);分類;訓(xùn)練誤差;特征向量
文本分類數(shù)是據(jù)挖掘的一個重要研究領(lǐng)域,國內(nèi)外的眾多學者已經(jīng)進行了比較深入的研究,取得了不少研究成果。常見的文本分類技術(shù)有最小距離方法、樸素貝葉斯方法、KNN方法、支持向量機方法(SVM)、模糊c均值(FCM)算法和等,現(xiàn)在有很多學者把神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用到分類算法中,在這些分類算法中,神經(jīng)網(wǎng)絡(luò)的文本分類更具有優(yōu)越的性能。袁飛云利用SOINN自動產(chǎn)生聚類數(shù)目和保留數(shù)據(jù)拓撲結(jié)構(gòu)的兩項能力,尋找更有效的單詞和設(shè)計更有效的編碼方式,提出了基于自組織增量神經(jīng)網(wǎng)絡(luò)(SOINN)的碼書產(chǎn)生方法;申明金利用自組織特征映射神經(jīng)網(wǎng)絡(luò)(SOM)以無監(jiān)督方式進行網(wǎng)絡(luò)訓(xùn)練,具有自組織功能的特點,利用自組織特征映射神經(jīng)網(wǎng)絡(luò)對不同產(chǎn)地金銀花進行分類;彭俊等將不同空氣質(zhì)量等級下的各空氣指標作為原型模式,通過輸入樣本模式,利用競爭網(wǎng)絡(luò)的競爭特點得到勝者,以此得出空氣質(zhì)量等級;郝曉麗等通過篩選基于輪廓系數(shù)的優(yōu)秀樣木群,來尋找最佳初始聚類中心,并將該改進算法用于構(gòu)造徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)分類器和快速有效地確定隱含層節(jié)點徑向基函數(shù)中心及函數(shù)的寬度,從而提高了分類精度;孫進進利用神經(jīng)網(wǎng)絡(luò)技術(shù)中的自組織映射SOM)網(wǎng)絡(luò)對我國主要機場進行聚類分析評價,得出我國主要機場分為8層的主要結(jié)論;劉艷杰在非監(jiān)督的自組織映射神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進行了一定的改進,構(gòu)建了有監(jiān)督的神經(jīng)網(wǎng)絡(luò)分類模型;李楊將神經(jīng)網(wǎng)絡(luò)與群體智能算法、云計算相結(jié)合的方法,實現(xiàn)對不同規(guī)模農(nóng)業(yè)數(shù)據(jù)集的分類,提出基于神經(jīng)網(wǎng)絡(luò)分類器的設(shè)計與優(yōu)化方法。而競爭型神經(jīng)網(wǎng)絡(luò)的自組織、自適應(yīng)學習能力,進一步拓寬了神經(jīng)網(wǎng)絡(luò)在模式分類和識別方面的應(yīng)用。競爭型神經(jīng)網(wǎng)絡(luò)依靠神經(jīng)元之間的興奮、協(xié)調(diào)、抑制或競爭的作用來進行信息處理,可在訓(xùn)練中無監(jiān)督自組織學習,通過學習提取數(shù)據(jù)中的重要特征或內(nèi)在規(guī)律,進而實現(xiàn)分類分析的功能。
1競爭型神經(jīng)網(wǎng)絡(luò)的描述
1.1競爭型網(wǎng)絡(luò)的結(jié)構(gòu)
競爭學習網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示,該網(wǎng)絡(luò)具有R維輸入和s個輸出,由前饋層和競爭層組成。圖中的llndlstll模塊表示對輸入矢量P和神經(jīng)元權(quán)值矢量w之間的距離取負。該網(wǎng)絡(luò)的輸出層是競爭層,圖中的模塊c表示競爭傳遞函數(shù),其輸出矢量由競爭層各神經(jīng)元的輸出組成,這些輸出指明了原型模式與輸入向量的相互關(guān)系。競爭過后只有一個神經(jīng)元有非零輸出,獲勝的神經(jīng)元指明輸入屬于哪類(每個原型向量代表一個類)。
1.2競爭型神經(jīng)網(wǎng)絡(luò)的原理
競爭型神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上,既不同于階層型的各層神經(jīng)元間非單向連接,也不同于全連接型。它有層次界限,一般是由輸入層和競爭層構(gòu)成的兩層網(wǎng)絡(luò)。兩層之間各神經(jīng)元實現(xiàn)雙向全連接,沒有隱含層,有時競爭層各神經(jīng)元之間還存在橫向連接。在學習方法上,不是以網(wǎng)絡(luò)的誤差或能量函數(shù)的單調(diào)遞減作為算法準則。而是依靠神經(jīng)元之間的興奮、協(xié)調(diào)、抑制、競爭的作用來進行信息處理,指導(dǎo)網(wǎng)絡(luò)的學習與工作。
網(wǎng)絡(luò)在剛開始建立的時候,輸入層和輸出層之間的連接權(quán)值已經(jīng)開始了,如果與競爭層某一神經(jīng)元對應(yīng)的矢量子類別屬于線性層某個神經(jīng)元所對應(yīng)的目標類別,則這兩個神經(jīng)元的連接權(quán)值為1,否則二者的連接權(quán)值為0,這樣的權(quán)值矩陣就實現(xiàn)了子類別到目標類別的合并。在建立競爭型網(wǎng)絡(luò)時,每類數(shù)據(jù)占數(shù)據(jù)總數(shù)的百分比是已知的,這也是競爭層神經(jīng)元歸并到線性層的各個輸出時所依據(jù)的比例。
1.3存在的問題
競爭型神經(jīng)網(wǎng)絡(luò)按Kohonen學習規(guī)則對獲勝神經(jīng)元的權(quán)值進行調(diào)整,通過輸入向量進行神經(jīng)元權(quán)值的調(diào)整,因此在模式識別的應(yīng)用中是很有用的。通過學習,那些最靠近輸入向量的神經(jīng)元權(quán)值向量得到修正,使之更靠近輸入向量,其結(jié)果是獲勝的神經(jīng)元在下一次相似的輸入向量出現(xiàn)時,獲勝的可能性更大;而對于那些與輸入向量相差很遠的神經(jīng)元權(quán)值向量,獲勝的可能性將變得很小。這樣,當經(jīng)過越來越多的訓(xùn)練樣本學習后,每一個網(wǎng)絡(luò)層中的神經(jīng)元權(quán)值向量很快被調(diào)整為最接近某一類輸入向量的值。最終的結(jié)果是,如果神經(jīng)元的數(shù)量足夠多,則具有相似輸入向量的各類模式作為輸入向量時,其對應(yīng)的神經(jīng)元輸出為1;而對于其他模式的輸入向量,其對應(yīng)的神經(jīng)元輸出為0。所以,競爭型神經(jīng)網(wǎng)絡(luò)具有對輸入向量進行學習分類的能力。
例子:以競爭型神經(jīng)網(wǎng)絡(luò)為工具,對下面的數(shù)據(jù)進行分類:
運用Matlab編程實現(xiàn),發(fā)現(xiàn)網(wǎng)絡(luò)的訓(xùn)練誤差能達到要求,最后也能實現(xiàn)很好的分類效果。運行結(jié)果如圖2所示。
有運行結(jié)果可以看到,訓(xùn)練誤差達到要求,分類結(jié)果也很合理。
但是在實際應(yīng)用過程中,我們發(fā)現(xiàn),當對于訓(xùn)練數(shù)據(jù)的數(shù)據(jù)特征十分明顯的時候,本文設(shè)計的網(wǎng)絡(luò)模型可以對訓(xùn)練的數(shù)據(jù)進行合理有效的分類,但是,當訓(xùn)練數(shù)據(jù)的特征不太明顯區(qū)分的時候,本文設(shè)計的訓(xùn)練模型的分類效果就不是太有優(yōu)勢,所得到的分類結(jié)果就不能達到我們預(yù)期的效果。
我們利用競爭型神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)樣本進行分類,其中參數(shù)設(shè)置為學習效率0.1,網(wǎng)絡(luò)競爭層有4個神經(jīng)元,運用Matlab編程實現(xiàn),發(fā)現(xiàn)結(jié)果如下:
例子:我們利用本文設(shè)計的網(wǎng)絡(luò)分類模型進行對數(shù)據(jù)分類處理:進行分類處理數(shù)據(jù)的樣本數(shù)據(jù)如下所示:
通過運行學習發(fā)現(xiàn)訓(xùn)練誤差較大,分類結(jié)果也達不到要求。
2改進的方法
2.1問題分析
通過比較分析我們發(fā)現(xiàn),上面的數(shù)據(jù)樣本沒有明顯的分類特征,所以,以競爭型神經(jīng)網(wǎng)絡(luò)進行分類,其輸入向量僅僅依靠數(shù)據(jù)本身的固有的特征時不夠的,但我們可以把數(shù)據(jù)樣本看作是二維數(shù)據(jù),假設(shè)同符號的特征值為1,不同符號的特征值為2,于是一個新的訓(xùn)練樣本就確定了,即成為三維數(shù)據(jù)模型。
2.2改進的算法
第一步:給定數(shù)據(jù)集X=[X1,X2……,Xi),對網(wǎng)絡(luò)進行初始化,隨機給定網(wǎng)絡(luò)競爭層與輸入層間的初始權(quán)向量wj(=wj[w1j w2j…wnj];j=1,2,…,m xp;wijE(0,1));給定輸出層與競爭層間的連接權(quán)值wjo=1/m,o=1,2,…P (P表示第二隱層和輸出層的連接權(quán)矢量)。
第二步:創(chuàng)建競爭型神經(jīng)網(wǎng)絡(luò),首先根據(jù)給定的問題確定訓(xùn)練樣本的輸入向量,當學習模式樣本本身雜亂無章,沒有明顯的分類特征,網(wǎng)絡(luò)對輸入模式的響應(yīng)呈現(xiàn)震蕩的現(xiàn)象,不足以區(qū)分各類模式時,在創(chuàng)建網(wǎng)絡(luò)之前,提取訓(xùn)練樣本的特征值,設(shè)置輸入樣本的特征向量,然后再創(chuàng)建網(wǎng)絡(luò)模型,并根據(jù)模式分類數(shù)確定神經(jīng)元的數(shù)目,最后任取一輸入模式Ak。
第三步:計算競爭層各神經(jīng)元的輸入值si:
第四步:對本文建立的網(wǎng)絡(luò)進行訓(xùn)練學習,網(wǎng)絡(luò)訓(xùn)練最大次數(shù)的初始值設(shè)置為230,當訓(xùn)練誤差大于預(yù)期的設(shè)定值的時候,可以嘗試增加訓(xùn)練的最大次數(shù),按“勝者為王”(Winner Takes All)原則,將訓(xùn)練網(wǎng)絡(luò)中獲得最接近預(yù)期值的神經(jīng)元作為勝者,輸出狀態(tài)設(shè)置為1,沒有獲勝的神經(jīng)元的輸出狀態(tài)設(shè)置為0。如果有兩個以上神經(jīng)元的sj相同,取左邊的為獲勝單元。
第五步:獲勝神經(jīng)元連接權(quán)修正如下:
第六步:另選一學習模式,返回步驟3,直至所有學習模式提供一遍。
第七步:如果不滿足要求,則返回到最初的訓(xùn)練狀態(tài),反復(fù)訓(xùn)練直至訓(xùn)練網(wǎng)絡(luò)中神經(jīng)元獲得最接近預(yù)期值,最終的訓(xùn)練結(jié)束。
第八步:根據(jù)測試樣本利用Matlab編寫程序進行仿真實驗。
通過實例訓(xùn)練,我們發(fā)現(xiàn)本算法和改進前的算法相比,改進后的算法訓(xùn)練誤差卻大大降低,已經(jīng)達到了訓(xùn)練的精度要求,同時也很好地實現(xiàn)了分類要求。
中圖分類號:TN919-34; TP274 文獻標識碼:A
文章編號:1004-373X(2010)18-0121-03
Research on Incremental PID Algorithm and Simulation Based on Neural Network
WANG Jun-qin
(Department of Mechanical and Electronic Engineering, Xi’an University of Arts and Science, Xi’an 710065, China)
Abstract: To resolve the shortages of traditional PID controller which is not strong enough to control the time-varying system, an incremental PID controller based on neural network is designed to realize the online self-tuning of PID parameters in combination with the neural network theory and traditional PID control theory. The result of experiment simulation shows that the controller has better adaptability than the traditional PID controller and can obtain the satisfactory control effect. Keywords: neural network; PID; Matlab; online self-tuning
傳統(tǒng)的PID 控制器算法簡單,結(jié)構(gòu)上易于實現(xiàn),被廣泛應(yīng)用在工業(yè)過程控制領(lǐng)域[1],但是在實際應(yīng)用中往往具有非線性、時變不確定性,導(dǎo)致PID控制參數(shù)難以整定以達到最佳控制要求。BP神經(jīng)網(wǎng)絡(luò)具有較好的在線檢測能力[2],將PID控制和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合通過加權(quán)系數(shù)調(diào)整,可以實現(xiàn)PID參數(shù)的自學習過程[3],從而達到滿意的控制效果[4]。
1 基于神經(jīng)網(wǎng)絡(luò)的PID控制
PID控制要取得好的控制效果,就必須通過調(diào)整好比例、積分和微分三種控制作用的關(guān)系,這種關(guān)系不一定是簡單的“線性組合”,而是從變化無窮的非線性組合中找出最佳的關(guān)系。BP神經(jīng)網(wǎng)絡(luò)具有逼近任意非線性函數(shù)的能力,而且結(jié)構(gòu)和學習算法簡單明確。通過網(wǎng)絡(luò)自身的學習,可以找到某一最優(yōu)控制規(guī)律下的PID參數(shù)[4]。
1.1 常規(guī)PID控制器
傳統(tǒng)的PID控制器算式如下:
PID控制器的輸入/輸出關(guān)系式為:
u(t)=KPe(t)+1TI∫t0e(t)dt+TDde(t)/dt
式中:u(t)為控制器的輸出;e(t)為誤差信號; KP為比例系數(shù);TI為積分時間常數(shù);TD為微分時間常數(shù)。
假設(shè)采樣周期為TS,系統(tǒng)開始運行的時刻為t=0,用矩形積分來近似精確積分,用差分近似精確微分,將上式離散化,第kТ尾裳時控制器的輸出為[5]:
u(k)=KPe(k)+KI∑nj=1e(j)+KD[e(k)-e(k-1)]
式中:e(k-1)為第k-1次采樣時的誤差值;KI為積分系數(shù);KD為微分系數(shù)。
1.2 單神經(jīng)元的結(jié)構(gòu)[6]
圖1中輸入層有n個神經(jīng)元節(jié)點,這些節(jié)點只負責引入外部信息,自身無信息處理能力,每個節(jié)點接收┮桓霆輸入信號,n個輸入信號構(gòu)成輸入列向量X。輸出層有m個神經(jīng)元節(jié)點,每個節(jié)點均具有信息處理能力,m個節(jié)點向外部處理信息。構(gòu)成輸出列向量O。兩層之間的連接權(quán)值用權(quán)值列向量Wj表示,m個權(quán)向量構(gòu)成單神經(jīng)元的權(quán)值矩陣W。3個列向量分別表示為:
O=(o1,o2,…,oi,…,om)T,X=(x1,x2,…,xi,…,xn)T
Wj=(w1j,w2j,…,wij,…,wnj)T,j=1,2,…,m
由神經(jīng)元數(shù)學模型知,對于處理層中任一節(jié)點,其凈輸入netj為來自輸入層各節(jié)點的輸入加權(quán)和:
netj=∑ni=1wijxi
1.3 神經(jīng)網(wǎng)絡(luò)PID控制器
在此提出一種單神經(jīng)元的增量PID控制方案,采用圖2所示3輸入單輸出神經(jīng)元增量式PID閉環(huán)控制結(jié)構(gòu)[7]。
圖1 單神經(jīng)元拓撲結(jié)構(gòu)
圖2 單神經(jīng)元PID控制系統(tǒng)結(jié)構(gòu)圖
轉(zhuǎn)換器的輸入是給定值Yr(t) 和輸出Y(t) ,轉(zhuǎn)換器的輸出X1(k),X2(k),X3(k)是神經(jīng)元學習所需的3個參量。3輸入單輸出神經(jīng)元增量式PID控制器的輸入輸出之間滿足如下關(guān)系[8-9]:
X1(k)=Yr(k)-Y(k)=E(k), X2(k)=
E(k)-E(k-1)=ΔE(k),
X3(k)=[E(k)-E(k-1)]-[E(k-1)-E(k-2)]
=E(k)-2E(k-1)+E(k-2),
U(k)=U(k-1)+∑3i=1Wi(k)*Xi(k)
式中:Wi(k) 是對應(yīng)于Xi(k) 的加權(quán)系數(shù)。單神經(jīng)元PID控制器正是通過對加權(quán)系數(shù)的調(diào)整來實現(xiàn)自適應(yīng)、自學習功能的。
采用有教師監(jiān)督的法則δ學習規(guī)則[8],并且比例(P),積分(I),微分(D)分別采用不同的學習速率ηP,ηI,ηD,Ъ尤ㄏ凳學習算法如下:
W1(k+1)=W1(k)+ηPE(k)E(k),
W2(k+1)=W2(k)-ηIE(k)∑ki=0E(i),
W3(k+1)=W3(k)+ηDE(k)ΔE(k)
將加權(quán)系數(shù)代入增量式PID控制器的控制規(guī)律,則有:
U(k)=U(k-1)+W1(k)•
X2(k)+TW2(k)*X1(k)+W3(k)T*X3(k)
式中:T是采樣周期。
從上式可得:
ΔU(k)=KPX1(k)+KIX2(k)+KDX3(k)
對照以上兩式可看出,PID控制器的3個參數(shù)實現(xiàn)了在線自整定。
1.4 神經(jīng)網(wǎng)絡(luò)PID控制器的控制算法[10]
(1) 確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即確定輸入節(jié)點數(shù)和隱含層節(jié)點數(shù),并給出權(quán)系數(shù)初值,選定學習速率和慣性系數(shù),此時k=1;
(2) 采樣得到r(k)和y(k),計算誤差為e(k)=r(k)-y(k);
(3) 計算各神經(jīng)網(wǎng)絡(luò)的輸入/輸出,其輸出層的輸出即為PID控制器的3個控制參數(shù)KP,KI,KD;
(4) 計算PID控制器的輸出;
(5) 進行神經(jīng)網(wǎng)絡(luò)學習,在線調(diào)整加權(quán)系數(shù),實現(xiàn)PID控制參數(shù)的自適應(yīng)調(diào)整;
(6) 令k=k+1,返回步驟(1)。
2 神經(jīng)網(wǎng)絡(luò)Matlab仿真
對于被控對象:
G(s)=35s(0.2s+1)(0.01s+1)(0.005s+1)
輸入信號為階躍信號,控制系統(tǒng)經(jīng)傳統(tǒng)方法整定的PID參數(shù)KP=3,KI=10,KD=0.2。系統(tǒng)輸出見圖3。
圖3 PID控制輸出曲線
利用神經(jīng)網(wǎng)絡(luò)增量PID方法選取比例、積分、微分項的初始系數(shù)值為W1=W2=W3=1,學習速率ηP=0.01,ηI=1,ηD=0.001,通過編寫具有自學習自適應(yīng)能力的軟件程序所得輸出曲線如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)PID控制輸出曲線
PID 三參數(shù)在線整定曲線如圖5所示。比較可得后一種方法所得曲線有較好的控制品質(zhì)。
圖5 PID 三參數(shù)在線整定曲線
3 結(jié) 語
理論分析和仿真結(jié)果表明,通過研究所提出的神經(jīng)網(wǎng)絡(luò)增量PID控制器控制精度高,較傳統(tǒng)的PID控制具有更好的控制品質(zhì)。
參考文獻
[1]劉金琨.先進PID控制及Matlab仿真[M].北京:電子工業(yè)出版社,2003.
[2]韓豫萍,孫濤,盛新.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制及仿真[J].可編程控制器與工廠自動化,2007(12):91-93.
[3]謝英.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器及其Matlab仿真[J].中國新技術(shù)新產(chǎn)品,2009(10):13-15.
[4]馬玲玲,鄭賓,馬圓圓.基于神經(jīng)網(wǎng)絡(luò)PID智能復(fù)合控制方法研究[J].計量與測試技術(shù),2009,36(3):17-19.
[5]張科,靖固.利用FPGA的增量式PID控制的研究[J].現(xiàn)代制造工程,2009(3):112-114.
[6]韓力群.智能控制理論及應(yīng)用[M].北京:機械工業(yè)出版社,2007.
[7]祝軒,侯榆青,彭進業(yè),等.基于單神經(jīng)元PID控制器的閉環(huán)控制系統(tǒng)[J].西北大學學報:自然科學版,2004,34(4):413-417.
[8]馮勇.現(xiàn)代計算機控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學出版社,1996.
【關(guān)鍵詞】神經(jīng)網(wǎng)絡(luò);配電網(wǎng);線損
一、引言
線損是電能在傳輸過程中各個環(huán)節(jié)的損失,是供電量和售電量之間的差值。在電能的傳輸過程中造成部分電能的浪費,因此研究人員在不斷的探究新的降低線損的方法。將BP神經(jīng)網(wǎng)絡(luò)算法應(yīng)用到配電網(wǎng)的綜合降損中,為配電網(wǎng)降損研究做出了貢獻。
二、BP神經(jīng)網(wǎng)絡(luò)算法
BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱含層和輸出層,按照誤差逆向傳播的方式訓(xùn)練多層前饋網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)的學習過程是信息的前向傳播和信息誤差的反向傳播兩項內(nèi)容。在信息前向傳播的過程中輸入層傳播到隱含層,信息由隱含層處理后再傳播到輸出層,這是信息逐層更新的過程。
BP神經(jīng)網(wǎng)絡(luò)算法是通過調(diào)整權(quán)重來實現(xiàn)使網(wǎng)絡(luò)輸出值逼近期望值的目的,BP神經(jīng)網(wǎng)絡(luò)算法學習過程為:1.將各權(quán)重值和閥值設(shè)為最小正數(shù);給定網(wǎng)絡(luò)一組輸入向量和目標輸出向量;2.根據(jù)輸入向量計算實際輸出向量,即,將此輸出值送到下一層作為輸入;3.權(quán)重的調(diào)整是通過權(quán)重調(diào)整公式來實現(xiàn);式中為增益相,為輸出誤差。在應(yīng)用BP神經(jīng)網(wǎng)絡(luò)解決問題前,除了了解它的學習過程外,還需要對其進行訓(xùn)練,步驟如下:
1.對相應(yīng)的數(shù)據(jù)進行初始化:期望誤差最小值:err_goal;最大循環(huán)次數(shù):max_epoch;權(quán)值修正學習速率:lr,取0.01-0.6
2.完成一個訓(xùn)練樣本的學習后,將下一個學習樣本提供給網(wǎng)絡(luò),以此類推完成全部的樣本訓(xùn)練。
3.從學習樣本中選取一組輸入和目標樣本數(shù)據(jù),然后再計算輸出向量,網(wǎng)絡(luò)全局誤差小于設(shè)定期望誤差為止,訓(xùn)練結(jié)束。
三、配電網(wǎng)綜合降損
將BP神經(jīng)網(wǎng)絡(luò)算法應(yīng)用到配電網(wǎng)的綜合降損中。以某地區(qū)一條10KV配電線路為例說明,此配電線路的拓撲結(jié)構(gòu)如圖1所示,標號1-13為負荷母線,Sl-S12為母線之間的聯(lián)絡(luò)開關(guān),兩座變電站由A、B表示。選取l號負荷母線2013年12月前十天的負荷數(shù)據(jù)為訓(xùn)練數(shù)據(jù),數(shù)據(jù)如表1所示。
表1 1號負荷母線12月前十天負荷數(shù)據(jù)
(一)負荷預(yù)測
采用BP神經(jīng)網(wǎng)絡(luò)實現(xiàn)負荷預(yù)測的過程為:以當天負荷段對應(yīng)的負荷點12個分量的數(shù)據(jù)為配電網(wǎng)的輸入向量,且輸出向量同樣為第二天12個分量的負荷數(shù)據(jù),這樣就實現(xiàn)了為下一天負荷的預(yù)測。
用1號到9號的數(shù)據(jù)進行網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練函數(shù)設(shè)置為:net.trainParam.epochs=500;%訓(xùn)練次數(shù)設(shè)為500次;net.trainParam.goal=0.001;%訓(xùn)練目標設(shè)為0.001;L.P.lr=0.05;%學習速率設(shè)為0.05;Net=train(net,P,T);%P為輸入向量,1到5號的負荷數(shù)據(jù);%T為輸出向量,6到10號的負荷數(shù)據(jù)。訓(xùn)練結(jié)果為:TRAINLM,Epoch0/500,MSE3.7989/0.001,Gradient1081.63/1e-010 TRAINLM,Epoch5/500,MSE0.000463846/0.001,Gradient7.38793/1e-010 TRAINLM,Performance goal met.
由此可見通過訓(xùn)練之后,預(yù)測數(shù)據(jù)和實測數(shù)據(jù)誤差為0.001,且基本無偏差,可很好的滿足實際應(yīng)用需求
圖2某地區(qū)10KV配電網(wǎng)線路
(二)配網(wǎng)重構(gòu)
根據(jù)負荷等級將圖1配電網(wǎng)線路中的13條母線分為7類,則有713種負荷模式,從713種負荷模式中選取4000個,以其中3000個數(shù)據(jù)作為訓(xùn)練集合,應(yīng)用BP神經(jīng)網(wǎng)絡(luò)算法對配電網(wǎng)進行學習訓(xùn)練,另外1000個數(shù)據(jù)為測試集合,經(jīng)過46次訓(xùn)練后可達到誤差要求,訓(xùn)練結(jié)果為:
TRAINBFG-srchbac.Epoch0/500,MSE21.616/0.02,Gradient236.65/1e-006
TRAINBFG-srchbac.Epoch25/500,MSE0.026354/0.02,Gradient0.150609/1e-006
TRAINBFG-srchbac.Epoch46/500,MSE0.0199597/0.02,Gradient0.0677733/1e-006
TRAINBFG, Performance goal met.
以13條母線的某一時刻負荷的實測數(shù)據(jù)為依據(jù),通過負荷預(yù)測網(wǎng)絡(luò)的預(yù)測得到下一時刻的負荷預(yù)測數(shù)據(jù),并通過配電網(wǎng)重構(gòu)在預(yù)測時刻采用將圖1中開關(guān)S6斷開的模式運行則配電網(wǎng)線損為586.21kW,若采用將開關(guān)S7斷開的模式運行則線損為628.18kW,可見通過配電網(wǎng)重構(gòu)后線損降低了41.97kW,降低了約6.7%,提高了配電網(wǎng)的輸電效率。
四、結(jié)論
通過對BP神經(jīng)網(wǎng)絡(luò)算法的簡單介紹和學習、訓(xùn)練過程的分析,將BP神經(jīng)網(wǎng)絡(luò)算法應(yīng)用到配電網(wǎng)的綜合降損中,分別從負荷預(yù)測、配網(wǎng)重構(gòu)兩個方面說明了BP神經(jīng)網(wǎng)絡(luò)算法在配電網(wǎng)綜合降損可取的較為良好的降損效果。
參考文獻:
[1]顧勇.農(nóng)村10kV電網(wǎng)節(jié)能降損技術(shù)措施分析[J].電源技術(shù)應(yīng)用2012 (11).
[2]趙傳輝.基于神經(jīng)網(wǎng)絡(luò)的配電網(wǎng)綜合節(jié)能降損技術(shù)[D].濟南:山東大學,2011.
作者簡介:
神經(jīng)科研究 神經(jīng)內(nèi)科論文 神經(jīng)網(wǎng)絡(luò)技術(shù) 神經(jīng)網(wǎng)絡(luò)論文 神經(jīng)外科論文 紀律教育問題 新時代教育價值觀