利用simulink對自適應(yīng)控制系統(tǒng)模型進(jìn)行仿真分析_第1頁
利用simulink對自適應(yīng)控制系統(tǒng)模型進(jìn)行仿真分析_第2頁
利用simulink對自適應(yīng)控制系統(tǒng)模型進(jìn)行仿真分析_第3頁
利用simulink對自適應(yīng)控制系統(tǒng)模型進(jìn)行仿真分析_第4頁
利用simulink對自適應(yīng)控制系統(tǒng)模型進(jìn)行仿真分析_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章 前言1.1 課題的意義:本畢業(yè)設(shè)計旨在學(xué)習(xí)并比較各種自適應(yīng)控制算法,掌握matlab語言,利用simulink對自適應(yīng)控制系統(tǒng)模型進(jìn)行仿真分析。自適應(yīng)控制是人們要求越來越高的控制性能和針對被控系統(tǒng)的高度復(fù)雜化,高度不確定性的情況下產(chǎn)生的,是人工智能滲入到應(yīng)用科技領(lǐng)域的必然結(jié)果。并在常規(guī)控制理論的基礎(chǔ)上得到進(jìn)一步的發(fā)展和提高。進(jìn)入21世紀(jì)以來,智能控制技術(shù)和遠(yuǎn)程監(jiān)測技術(shù)繼續(xù)飛速發(fā)展,逐漸被應(yīng)用到電力、交通和物流等領(lǐng)域。從衛(wèi)星智能控制,到智能家居機(jī)器人;從公共場所的無線報警系統(tǒng),到家用煤氣、自來水等數(shù)據(jù)的采集??梢哉f,智能控制技術(shù)和遠(yuǎn)程監(jiān)測技術(shù)己經(jīng)滲透到了人們?nèi)粘I钪?,?jié)約了大量的人力

2、和物力,給人們的日常生活帶來了極大的便利。目前,自適應(yīng)控制的研究以認(rèn)知科學(xué)、心理學(xué)、社會學(xué)、系統(tǒng)學(xué)、語言學(xué)和哲學(xué)為基礎(chǔ),有效的把數(shù)字技術(shù)、遠(yuǎn)程通信、計算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫、計算機(jī)圖形學(xué)、語音與聽覺、機(jī)器人學(xué)、過程控制等技術(shù)有機(jī)的結(jié)合,提供了解決復(fù)雜問題的有效手段。自適應(yīng)控制是在人們在追求高控制性能、高度復(fù)雜化和高度不確定性的被控系統(tǒng)情況下產(chǎn)生的,是人工智能滲入到應(yīng)用科技領(lǐng)域的必然結(jié)果,并在常規(guī)控制理論的基礎(chǔ)上得到進(jìn)一步的發(fā)展和提高。主要研究對象從單輸入、單輸出的常系數(shù)線性系統(tǒng),發(fā)展為多輸入、多輸出的復(fù)雜控制系統(tǒng)。自適應(yīng)控制理論的產(chǎn)生為解決復(fù)雜系統(tǒng)控制問題開辟了新的途徑,成為當(dāng)下控制領(lǐng)域的研究和發(fā)展

3、熱點。1.2 國內(nèi)外研究概況及發(fā)展趨勢:1943年,心理學(xué)家W·Mcculloch和數(shù)理邏輯學(xué)家W·Pitts在分析、總結(jié)神經(jīng)元基本特性的基礎(chǔ)上首先提出神經(jīng)元的數(shù)學(xué)模型。此模型沿用至今,并且直接影響著這一領(lǐng)域研究的進(jìn)展。因而,他們兩人可稱為人工神經(jīng)網(wǎng)絡(luò)研究的先驅(qū)。1945年馮·諾依曼領(lǐng)導(dǎo)的設(shè)計小組試制成功存儲程序式電子計算機(jī),標(biāo)志著電子計算機(jī)時代的開始。1948年,他在研究工作中比較了人腦結(jié)構(gòu)與存儲程序式計算機(jī)的根本區(qū)別,提出了以簡單神經(jīng)元構(gòu)成的再生自動機(jī)網(wǎng)絡(luò)結(jié)構(gòu)。但是,由于指令存儲式計算機(jī)技術(shù)的發(fā)展非常迅速,迫使他放棄了神經(jīng)網(wǎng)絡(luò)研究的新途徑,繼續(xù)投身于指令存儲式

4、計算機(jī)技術(shù)的研究,并在此領(lǐng)域作出了巨大貢獻(xiàn)。雖然,馮·諾依曼的名字是與普通計算機(jī)聯(lián)系在一起的,但他也是人工神經(jīng)網(wǎng)絡(luò)研究的先驅(qū)之一。 50年代末,F(xiàn)·Rosenblatt設(shè)計制作了“感知機(jī)”,它是一種多層的神經(jīng)網(wǎng)絡(luò)。這項工作首次把人工神經(jīng)網(wǎng)絡(luò)的研究從理論探討付諸工程實踐。當(dāng)時,世界上許多實驗室仿效制作感知機(jī),分別應(yīng)用于文字識別、聲音識別、聲納信號識別以及學(xué)習(xí)記憶問題的研究。然而,這次人工神經(jīng)網(wǎng)絡(luò)的研究高潮未能持續(xù)很久,許多人陸續(xù)放棄了這方面的研究工作,這是因為當(dāng)時數(shù)字計算機(jī)的發(fā)展處于全盛時期,許多人誤以為數(shù)字計算機(jī)可以解決人工智能、模式識別、專家系統(tǒng)等方面的一切問題,使感知機(jī)

5、的工作得不到重視;其次,當(dāng)時的電子技術(shù)工藝水平比較落后,主要的元件是電子管或晶體管,利用它們制作的神經(jīng)網(wǎng)絡(luò)體積龐大,價格昂貴,要制作在規(guī)模上與真實的神經(jīng)網(wǎng)絡(luò)相似是完全不可能的;另外,在1968年一本名為感知機(jī)的著作中指出線性感知機(jī)功能是有限的,它不能解決如異感這樣的基本問題,而且多層網(wǎng)絡(luò)還不能找到有效的計算方法,這些論點促使大批研究人員對于人工神經(jīng)網(wǎng)絡(luò)的前景失去信心。60年代末期,人工神經(jīng)網(wǎng)絡(luò)的研究進(jìn)入了低潮。 另外,在60年代初期,Widrow提出了自適應(yīng)線性元件網(wǎng)絡(luò),這是一種連續(xù)取值的線性加權(quán)求和閾值網(wǎng)絡(luò)。后來,在此基礎(chǔ)上發(fā)展了非線性多層自適應(yīng)網(wǎng)絡(luò)。當(dāng)時,這些工作雖未標(biāo)出神經(jīng)網(wǎng)絡(luò)的名稱,而

6、實際上就是一種人工神經(jīng)網(wǎng)絡(luò)模型。隨著人們對感知機(jī)興趣的衰退,神經(jīng)網(wǎng)絡(luò)的研究沉寂了相當(dāng)長的時間。80年代初期,模擬與數(shù)字混合的超大規(guī)模集成電路制作技術(shù)提高到新的水平,完全付諸實用化,此外,數(shù)字計算機(jī)的發(fā)展在若干應(yīng)用領(lǐng)域遇到困難。這一背景預(yù)示,向人工神經(jīng)網(wǎng)絡(luò)尋求出路的時機(jī)已經(jīng)成熟。美國的物理學(xué)家Hopfield于1982年和1984年在美國科學(xué)院院刊上發(fā)表了兩篇關(guān)于人工神經(jīng)網(wǎng)絡(luò)研究的論文,引起了巨大的反響。人們重新認(rèn)識到神經(jīng)網(wǎng)絡(luò)的威力以及付諸應(yīng)用的現(xiàn)實性。隨即,一大批學(xué)者和研究人員圍繞著 Hopfield提出的方法展開了進(jìn)一步的工作,形成了80年代中期以來人工神經(jīng)網(wǎng)絡(luò)的研究熱潮。 1985年,Ac

7、kley,Hinton,and Sejnowski將模擬退火算法應(yīng)用到神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,提出了Boltzmann機(jī),該算法具有逃離極值的優(yōu)點,但是訓(xùn)練時間需要很長。1986年,Rumelhart,Hinton,and Williams提出了多層前饋神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,即BP算法。它從證明的角度推導(dǎo)算法的正確性,是學(xué)習(xí)算法有理論依據(jù)。從學(xué)習(xí)算法角度上看,是一個很大的進(jìn)步。1988年,Broomhead and Lowe第一次提出了徑向基網(wǎng)絡(luò):RBF網(wǎng)絡(luò)。1.3 設(shè)計要求1、 設(shè)計要求1) 首先完成簡單控制系統(tǒng)模塊的仿真分析;2) 提出自適應(yīng)控制系統(tǒng)設(shè)計的方法;3) 建立基于神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制系統(tǒng)

8、的仿真模型;4) 利用simulink對基于神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制系統(tǒng)模型進(jìn)行仿真;5) 從仿真結(jié)果分析基于神經(jīng)網(wǎng)絡(luò)模型的自適應(yīng)控制算法的性能。2、 原始資料1) MATLAB語言;2) 控制系統(tǒng)設(shè)計的基礎(chǔ)理論;3) Simulink中控制系統(tǒng)模塊的應(yīng)用;4) 翻譯相關(guān)課題英文資料。第二章 神經(jīng)網(wǎng)絡(luò)2.1神經(jīng)網(wǎng)絡(luò)簡介人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)是模仿生物神經(jīng)網(wǎng)絡(luò)功能的一種經(jīng)驗?zāi)P?。生物神?jīng)元受到傳入的刺激,其反應(yīng)又從輸出端傳到相聯(lián)的其它神經(jīng)元,輸入和輸出之間的變換關(guān)系一般是非線性的。神經(jīng)網(wǎng)絡(luò)是由若干簡單(通常是自適應(yīng)的)元件及其層次組織,以大規(guī)模并行

9、連接方式構(gòu)造而成的網(wǎng)絡(luò),按照生物神經(jīng)網(wǎng)絡(luò)類似的方式處理輸入的信息。模仿生物神經(jīng)網(wǎng)絡(luò)而建立的人工神經(jīng)網(wǎng)絡(luò),對輸入信號有功能強(qiáng)大的反應(yīng)和處理能力9。神經(jīng)網(wǎng)絡(luò)是由大量的處理單元(神經(jīng)元)互相連接而成的網(wǎng)絡(luò)。為了模擬大腦的基本特性,在神經(jīng)科學(xué)研究的基礎(chǔ)上,提出了神經(jīng)網(wǎng)絡(luò)的模型。但是,實際上神經(jīng)網(wǎng)絡(luò)并沒有完全反映大腦的功能,只是對生物神經(jīng)網(wǎng)絡(luò)進(jìn)行了某種抽象、簡化和模擬8。神經(jīng)網(wǎng)絡(luò)的信息處理通過神經(jīng)元的互相作用來實現(xiàn),知識與信息的存儲表現(xiàn)為網(wǎng)絡(luò)元件互相分布式的物理聯(lián)系。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和識別取決于各種神經(jīng)元連接權(quán)系數(shù)的動態(tài)演化過程。若干神經(jīng)元連接成網(wǎng)絡(luò),其中的一個神經(jīng)元可以接受多個輸入信號,按照一定的規(guī)則轉(zhuǎn)

10、換為輸出信號。由于神經(jīng)網(wǎng)絡(luò)中神經(jīng)元間復(fù)雜的連接關(guān)系和各神經(jīng)元傳遞信號的非線性方式,輸入和輸出信號間可以構(gòu)建出各種各樣的關(guān)系,因此可以用來作為黑箱模型,表達(dá)那些用機(jī)理模型還無法精確描述、但輸入和輸出之間確實有客觀的、確定性的或模糊性的規(guī)律。因此,人工神經(jīng)網(wǎng)絡(luò)作為經(jīng)驗?zāi)P偷囊环N,在化工生產(chǎn)、研究和開發(fā)中得到了越來越多的用途。2.2神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與學(xué)習(xí)規(guī)則2.2.1 人工神經(jīng)元模型圖3-1表示出了作為人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,以下簡稱NN)的基本單元的神經(jīng)元模型,它有三個基本要素:圖3-1 人工神經(jīng)網(wǎng)絡(luò)模型(i)一組連接(對應(yīng)于生物神經(jīng)元的突觸),連接強(qiáng)度由各連

11、接上的權(quán)值表示,權(quán)值為正表示激活,為負(fù)表示抑制。(ii)一個求和單元,用于求取各輸入信號的加權(quán)和(線性組合)。(iii)一個非線性激活函數(shù),起非線性映射作用并將神經(jīng)元輸出幅度限制在一定范圍內(nèi)(一般限制在或之間)。此外還有一個閾值(或偏置)。以上作用可分別以數(shù)學(xué)式表達(dá)出來: , , 式中為輸入信號,為神經(jīng)元之權(quán)值,為線性組合結(jié)果,為閾值,為激活函數(shù),為神經(jīng)元的輸出。若把輸入的維數(shù)增加一維,則可把閾值包括進(jìn)去。例如 ,此處增加了一個新的連接,其輸入為(或),權(quán)值為(或),如圖3-2所示。圖3-2 復(fù)雜人工神經(jīng)網(wǎng)絡(luò)模型激活函數(shù)可以有以下幾種:(i)閾值函數(shù) 即階梯函數(shù)。這時相應(yīng)的輸出為 其中,常稱此

12、種神經(jīng)元為模型。(ii)分段線性函數(shù) 它類似于一個放大系數(shù)為1的非線性放大器,當(dāng)工作于線性區(qū)時它是一個線性組合器,放大系數(shù)趨于無窮大時變成一個閾值單元。(iii)sigmoid函數(shù)最常用的函數(shù)形式為 參數(shù)可控制其斜率。另一種常用的是雙曲正切函數(shù) 這類函數(shù)具有平滑和漸近性,并保持單調(diào)性。Matlab中的激活(傳遞)函數(shù)如下表所示:表2-1 傳遞函數(shù)函數(shù)名功 能purelin線性傳遞函數(shù)hardlim硬限幅傳遞函數(shù)hardlims對稱硬限幅傳遞函數(shù)satlin飽和線性傳遞函數(shù)satlins對稱飽和線性傳遞函數(shù)logsig對數(shù)S形傳遞函數(shù)tansig正切S形傳遞函數(shù)radbas徑向基傳遞函數(shù)comp

13、et競爭層傳遞函數(shù)各個函數(shù)的定義及使用方法,可以參看Matlab的幫助(如在Matlab命令窗口運(yùn)行help tansig,可以看到tantig的使用方法,及tansig的定義為)。2.2.2 網(wǎng)絡(luò)結(jié)構(gòu)及工作方式除單元特性外,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)也是NN的一個重要特性。從連接方式看NN主要有兩種。(i)前饋型網(wǎng)絡(luò)各神經(jīng)元接受前一層的輸入,并輸出給下一層,沒有反饋。結(jié)點分為兩類,即輸入單元和計算單元,每一計算單元可有任意個輸入,但只有一個輸出(它可耦合到任意多個其它結(jié)點作為其輸入)。通常前饋網(wǎng)絡(luò)可分為不同的層,第層的輸入只與第層輸出相連,輸入和輸出結(jié)點與外界相連,而其它中間層則稱為隱層。(ii)反饋型

14、網(wǎng)絡(luò)所有結(jié)點都是計算單元,同時也可接受輸入,并向外界輸出。NN的工作過程主要分為兩個階段:第一個階段是學(xué)習(xí)期,此時各計算單元狀態(tài)不變,各連線上的權(quán)值可通過學(xué)習(xí)來修改;第二階段是工作期,此時各連接權(quán)固定,計算單元狀態(tài)變化,以達(dá)到某種穩(wěn)定狀態(tài)。從作用效果看,前饋網(wǎng)絡(luò)主要是函數(shù)映射,可用于模式識別和函數(shù)逼近。反饋網(wǎng)絡(luò)按對能量函數(shù)的極小點的利用來分類有兩種:第一類是能量函數(shù)的所有極小點都起作用,這一類主要用作各種聯(lián)想存儲器;第二類只利用全局極小點,它主要用于求解最優(yōu)化問題。 2.2.3 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方式學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)的主要特征之一。學(xué)習(xí)規(guī)則就是修正神經(jīng)元之間連接強(qiáng)度或加權(quán)系數(shù)的算法,使獲得的知識結(jié)構(gòu)

15、適應(yīng)周圍環(huán)境的變化。在學(xué)習(xí)過程中,執(zhí)行學(xué)習(xí)規(guī)則,修正加權(quán)系數(shù)。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方式主要分為有導(dǎo)師(指導(dǎo)式)學(xué)習(xí)、無導(dǎo)師(自學(xué)式)學(xué)習(xí)和再勵學(xué)習(xí)(強(qiáng)化學(xué)習(xí))三種: (l)有導(dǎo)師學(xué)習(xí):就是在學(xué)習(xí)的過程中,有一個期望的網(wǎng)絡(luò)輸出,學(xué)習(xí)算法根據(jù)給定輸入的神經(jīng)網(wǎng)絡(luò)實際輸出與期望輸出之間的誤差來調(diào)整神經(jīng)元的連接強(qiáng)度,即權(quán)值。因此學(xué)習(xí)需要有導(dǎo)師來提供期望輸出信號。(2)無導(dǎo)師學(xué)習(xí):就是在學(xué)習(xí)過程中不需要有期望輸出,因而不存在直接的誤差信息。網(wǎng)絡(luò)學(xué)習(xí)需要建立一個間接的評價函數(shù),每個處理單元能夠自適應(yīng)連接權(quán)值,以對網(wǎng)絡(luò)的某種行為趨向作出評價。(3)再勵學(xué)習(xí):這種學(xué)習(xí)介于上述兩種情況之間,外部環(huán)境對系統(tǒng)輸出結(jié)果只給出

16、評價(獎或罰)而不是給出正確答案,學(xué)習(xí)系統(tǒng)經(jīng)過強(qiáng)化那些受獎勵的行為來改善自身性能。2.2.4 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則神經(jīng)網(wǎng)絡(luò)通常采用的網(wǎng)絡(luò)學(xué)習(xí)規(guī)則包括以下三種:(l)誤差糾正學(xué)習(xí)規(guī)則令是輸入時神經(jīng)元k在n時刻的實際輸出,表示應(yīng)有的輸出(可由訓(xùn)練樣本給出),則誤差信號可寫為: 誤差糾正學(xué)習(xí)的最終目的是使某一基于的目標(biāo)函數(shù)達(dá)到要求,以使網(wǎng)絡(luò)中每一輸出單元的實際輸出在某種統(tǒng)計意義上逼近應(yīng)有輸出。一旦選定了目標(biāo)函數(shù)形式,誤差糾正學(xué)習(xí)就變成了一個典型的最優(yōu)化問題,最常用的目標(biāo)函數(shù)是均方誤差判據(jù),定義為誤差平方和的均值:其中E為期望算子。上式的前提是被學(xué)習(xí)的過程是平穩(wěn)的,具體方法可用最優(yōu)梯度下降法。直接用J作

17、為目標(biāo)函數(shù)時需要知道整個過程的統(tǒng)計特性,為解決這一問題,通常用J在時刻n的瞬時值代替J,即: 問題變?yōu)榍驟對權(quán)值w的極小值,據(jù)梯度下降法可得:其中為學(xué)習(xí)步長,這就是通常所說的誤差糾正學(xué)習(xí)規(guī)則。(2)Hebb學(xué)習(xí)規(guī)則由神經(jīng)心理學(xué)家Hebb提出的學(xué)習(xí)規(guī)則可歸納為“當(dāng)某一突觸連接兩端的神經(jīng)元同時處于激活狀態(tài)(或同為抑制)時,該連接的強(qiáng)度應(yīng)增加,反之應(yīng)減弱”用數(shù)學(xué)方式可描述為:由于與的相關(guān)成比例,有時稱為相關(guān)學(xué)習(xí)規(guī)則。(3)競爭學(xué)習(xí)規(guī)則顧名思義,在競爭學(xué)習(xí)時,網(wǎng)絡(luò)各輸出單元互相競爭,最后達(dá)到只有一個最強(qiáng)者激活,最常見的一種情況是輸出神經(jīng)元之間有側(cè)向抑制性連接,這樣原來輸出單元中如有某一單元較強(qiáng),則它將

18、獲勝并抑制其它單元,最后只有此強(qiáng)者處于激活狀態(tài)。最常用的競爭學(xué)習(xí)規(guī)則可寫為:第三章 仿真環(huán)境3.1 Matlab簡介MATLAB(Matrix Laboratory)是美國 MathWorks 公司開發(fā)的用于概念設(shè)計,算法開發(fā),建模仿真,實時實現(xiàn)的理想的集成環(huán)境,是目前最好的科學(xué)計算類軟件。MATLAB 已發(fā)展成為適合眾多學(xué)科,多種工作平臺、功能強(qiáng)大的大型軟件,成為了諸多領(lǐng)域的開發(fā)首選軟件,并且, MATLAB 還具有500 余家第三方合作伙伴,分布在科學(xué)計算、機(jī)械動力、化工、計算機(jī)通訊、汽車、金融等領(lǐng)域,接口方式包括了聯(lián)合建模、數(shù)據(jù)共享、開發(fā)流程銜接等等。在歐美等國家的高校,MATLAB已成

19、為線性代數(shù)、自動控制理論、數(shù)理統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真等高級課程的基本教學(xué)工具。成為攻讀學(xué)位的本科、碩士、博士生必須掌握的基本技能。在設(shè)計研究單位和工業(yè)開發(fā)部門,MATLAB被廣泛的應(yīng)用于研究和解決各種具體問題。3.2 MATLAB的主要組成部分: 3.2.1開發(fā)環(huán)境(development Environment):為MATLAB用戶或程序編制員提供的一套應(yīng)用工具和設(shè)施。由一組圖形化用戶接口工具和組件集成:包括MATLAB桌面、命令窗口、命令歷史窗口、編輯調(diào)試窗口及幫助信息、工作空間、文件和搜索路徑等瀏覽器;3.2.2 MATLAB數(shù)學(xué)函數(shù)庫(Math Function

20、 Library):數(shù)學(xué)和分析功能在MATLAB工具箱中被組織成8個文件夾。 elmat 初步矩陣,和矩陣操作。 elfun 初步的數(shù)學(xué)函數(shù)。求和、正弦、余弦和復(fù)數(shù)運(yùn)算等specfun 特殊的數(shù)學(xué)函數(shù)。矩陣求逆、矩陣特征值、貝塞爾函數(shù)等;matfun 矩陣函數(shù)用數(shù)字表示的線性代數(shù)。 atafun 數(shù)據(jù)分析和傅立葉變換。 polyfun 插值,多項式。 funfun 功能函數(shù)。 sparfun 稀疏矩陣。3.2.3 MATLAB 語言:MATLAB Language一種高級編程語言(高階的矩陣/數(shù)組語言),包括控制流的描述、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入輸出及面對對象編程;3.2.4 句柄圖形(Handl

21、e Graphics) :MATLAB制圖系統(tǒng)具有2維、三維的數(shù)據(jù)可視化,圖象處理,動畫片制作和表示圖形功能??梢詫Ω鞣N圖形對象進(jìn)行更為細(xì)膩的修飾和控制。允許你建造完整的圖形用戶界面(GUI),以及建立完整的圖形界面的應(yīng)用程序。制圖法功能在MATLAB工具箱中被組織成5個文件夾: graph2d 二維數(shù)圖表。 graph3d 三維圖表。 specgraph 專業(yè)化圖表。 graphics 制圖法。 uitools 圖形用戶界面工具。3.2.5 應(yīng)用程序接口 (Applied Function Interface) :MATLAB的應(yīng)用程序接口允許用戶使用C或FORTRAN語言編寫程序與MATL

22、AB連接。圖3-1 Matlab開發(fā)環(huán)境3.3 MATLAB的語言特點一種語言之所以能如此迅速地普及,顯示出如此旺盛的生命力,是由于它有著不同于其他語言的特點。正如同F(xiàn)ORTRAN和C等高級語言使人們擺脫了需要直接對計算機(jī)硬件資源進(jìn)行操作一樣,被稱作為第四代計算機(jī)語言的MATLAB,利用其豐富的函數(shù)資源,使編程人員從繁瑣的程序代碼中解放出來。MATLAB的最突出的特點就是簡潔。MATLAB用更直觀的、符合人們思維習(xí)慣的代碼,代替了C和FORTRAN語言的冗長代碼。MATLAB給用戶帶來的是最直觀、最簡潔的程序開發(fā)環(huán)境。以下簡單介紹一下MATLAB的主要特點。語言簡潔緊湊,使用方便靈活,庫函數(shù)極

23、其豐富。MATLAB程序書寫形式自由,利用其豐富的庫函數(shù)避開繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領(lǐng)域的專家編寫,用戶不必?fù)?dān)心函數(shù)的可靠性??梢哉f,用MATLAB進(jìn)行科技開發(fā)是站在專家的肩膀上。具有FORTRAN和C等高級計算機(jī)語言知識的讀者可能已經(jīng)注意到,如果用FORTRAN或C語言去編寫程序,尤其當(dāng)涉及矩陣運(yùn)算和畫圖時,編程會很麻煩。例如,如果用戶想求解一個線性代數(shù)方程,就得編寫一個程序塊讀入數(shù)據(jù),然后再使用一種求解線性方程的算法(例如追趕法)編寫一個程序塊來求解方程,最后再輸出計算結(jié)果。在求解過程中,最麻煩的要算第二部分。解線性方程的麻煩在于要對矩陣的元素作循

24、環(huán),選擇穩(wěn)定的算法以及代碼的調(diào)試都不容易。即使有部分源代碼,用戶也會感到麻煩,且不能保證運(yùn)算的穩(wěn)定性。解線性方程的程序用FORTRAN和C這樣的高級語言編寫至少需要好幾十行。再如用雙步QR方法求解矩陣特征值,如果用FORTRAN編寫,至少需要四百多行,調(diào)試這種幾百行的計算程序可以說很困難。以下為用MATLAB編寫以上兩個小程序的具體過程。用MATLAB求解下列方程,并求矩陣A的特征值。 其中:解為:x=Ab;設(shè)A的特征值組成的向量為e,e=eig(A)??梢姡琈ATLAB的程序極其簡短。更為難能可貴的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB會根據(jù)矩陣的特性選擇方程

25、的求解方法,所以用戶根本不用懷疑MATLAB的準(zhǔn)確性。運(yùn)算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語言幾乎一樣多的運(yùn)算符,靈活使用MATLAB的運(yùn)算符將使程序變得極為簡短,具體運(yùn)算符見附表。MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán)、while循環(huán)、break語句和if語句),又有面向?qū)ο缶幊痰奶匦?。語法限制不嚴(yán)格,程序設(shè)計自由度大。例如,在MATLAB里,用戶無需對矩陣預(yù)定義就可使用。程序的可移植性很好,基本上不做修改就可以在各種型號的計算機(jī)和操作系統(tǒng)上運(yùn)行。MATLAB的圖形功能強(qiáng)大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化

26、非常簡單。MATLAB還具有較強(qiáng)的編輯圖形界面的能力。MATLAB的缺點是,它和其他高級程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢。功能強(qiáng)勁的工具箱是MATLAB的另一重大特色。MATLAB包含兩個部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個核心內(nèi)部函數(shù)。其工具箱又可分為兩類:功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來擴(kuò)充其符號計算功能、圖示建模仿真功能、文字處理功能以及與硬件實時交互功能。功能性工具箱能用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強(qiáng)的,如control、toolbox、signal proc

27、essing toolbox、communication toolbox等。這些工具箱都是由該領(lǐng)域內(nèi)的學(xué)術(shù)水平很高的專家編寫的,所以用戶無需編寫自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直接進(jìn)行高、精、尖的研究。下表列出了MATLAB的核心部分及其工具箱等產(chǎn)品系列的主要應(yīng)用領(lǐng)域。源程序的開放性。開放性也許是MATLAB最受人們歡迎的特點。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對源文件的修改以及加入自己的文件構(gòu)成新的工具箱。第四章 基于BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制算法4.1 BP神經(jīng)網(wǎng)絡(luò)4.1.1 BP神經(jīng)網(wǎng)絡(luò)定義 BP (Back Propagation)神經(jīng)網(wǎng)絡(luò)

28、是一種神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。其由輸入層、中間層、輸出層組成的階層型神經(jīng)網(wǎng)絡(luò),中間層可擴(kuò)展為多層。相鄰層之間各神經(jīng)元進(jìn)行全連接,而每層各神經(jīng)元之間無連接,網(wǎng)絡(luò)按有教師示教的方式進(jìn)行學(xué)習(xí),當(dāng)一對學(xué)習(xí)模式提供給網(wǎng)絡(luò)后,各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)產(chǎn)生連接權(quán)值(Weight)。然后按減小希望輸出與實際輸出誤差的方向,從輸出層經(jīng)各中間層逐層修正各連接權(quán),回到輸入層。此過程反復(fù)交替進(jìn)行,直至網(wǎng)絡(luò)的全局誤差趨向給定的極小值,即完成學(xué)習(xí)的過程。4.1.2 BP神經(jīng)網(wǎng)絡(luò)模型及其基本原理BP神經(jīng)網(wǎng)絡(luò)是誤差反向傳播神經(jīng)網(wǎng)絡(luò)的簡稱,它由一個輸入層,一個或多個隱含層和一個輸出層構(gòu)成,每一次由一定數(shù)量的的神經(jīng)元構(gòu)成。這些神經(jīng)元

29、如同人的神經(jīng)細(xì)胞一樣是互相關(guān)聯(lián)的。其結(jié)構(gòu)如圖4-1所示: 圖4-1 BP神經(jīng)網(wǎng)絡(luò)模型生物神經(jīng)元信號的傳遞是通過突觸進(jìn)行的一個復(fù)雜的電化學(xué)等過程, 在人工神經(jīng)網(wǎng)絡(luò)中是將其簡化模擬成一組數(shù)字信號通過一定的學(xué)習(xí)規(guī)則而不斷變動更新的過程,這組數(shù)字儲存在神經(jīng)元之間的連接權(quán)重。網(wǎng)絡(luò)的輸入層模擬的是神經(jīng)系統(tǒng)中的感覺神經(jīng)元,它接收輸入樣本信號。輸入信號經(jīng)輸入層輸入, 通過隱含層的復(fù)雜計算由輸出層輸出,輸出信號與期望輸出相比較,若有誤差,再將誤差信號反向由輸出層通過隱含層處理后向輸入層傳播。在這個過程中,誤差通過梯度下降算法,分?jǐn)偨o各層的所有單元,從而獲得各單元的誤差信號,以此誤差信號為依據(jù)修正各單元權(quán)值,網(wǎng)絡(luò)

30、權(quán)值因此被重新分布。此過程完成后, 輸入信號再次由輸入層輸入網(wǎng)絡(luò),重復(fù)上述過程。這種信號正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過程周而復(fù)始地進(jìn)行著,直到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。權(quán)值不斷調(diào)整的過程就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程。BP 神經(jīng)網(wǎng)絡(luò)的信息處理方式具有如下特點: 1)信息分布存儲。人腦存儲信息的特點是利用突觸效能的變化來調(diào)整存儲內(nèi)容, 即信息存儲在神經(jīng)元之間的連接強(qiáng)度的分布上, B P神經(jīng)網(wǎng)絡(luò)模擬人腦的這一特點,使信息以連接權(quán)值的形式分布于整個網(wǎng)絡(luò)。2) 信息并行處理。人腦神經(jīng)元之間傳遞脈沖信號的速度遠(yuǎn)低于馮·諾依曼計算機(jī)的工作速度,但是在很多

31、問題上卻可以做出快速的判斷、決策和處理,這是由于人腦是一個大規(guī)模并行與串行組合的處理系統(tǒng)。BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)模仿人腦,具有并行處理的特征,大大提高了網(wǎng)絡(luò)功能。3)具有容錯性。生物神經(jīng)系統(tǒng)部分不嚴(yán)重?fù)p傷并不影響整體功能,BP神經(jīng)網(wǎng)絡(luò)也具有這種特性,網(wǎng)絡(luò)的高度連接意味著少量的誤差可能不會產(chǎn)生嚴(yán)重的后果,部分神經(jīng)元的損傷不破壞整體,它可以自動修正誤差。這與現(xiàn)代計算機(jī)的脆弱性形成鮮明對比。4)具有自學(xué)習(xí)、自組織、自適應(yīng)的能力。BP神經(jīng)網(wǎng)絡(luò)具有初步的自適應(yīng)與自組織能力,在學(xué)習(xí)或訓(xùn)練中改變突觸權(quán)值以適應(yīng)環(huán)境,可以在使用過程中不斷學(xué)習(xí)完善自己的功能,并且同一網(wǎng)絡(luò)因?qū)W習(xí)方式的不同可以具有不同的功能,它甚至

32、具有創(chuàng)新能力,可以發(fā)展知識,以至超過設(shè)計者原有的知識水平。4.1.3 BP神經(jīng)網(wǎng)絡(luò)的主要功能目前,在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中。絕大部分的神經(jīng)網(wǎng)絡(luò)模型都采用BP神經(jīng)網(wǎng)絡(luò)及其變化形式。它也是前向網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)的精華。BP網(wǎng)絡(luò)主要用于以下四方面。函數(shù)逼近:用輸入向量和相應(yīng)的輸出向量訓(xùn)練一個網(wǎng)絡(luò)以逼近一個函數(shù)。模式識別:用一個待定的輸出向量將它與輸入向量聯(lián)系起來。分類:把輸入向量所定義的合適方式進(jìn)行分類。數(shù)據(jù)壓縮:減少輸出向量維數(shù)以便傳輸或存儲。4.2 基于BP神經(jīng)網(wǎng)絡(luò)的PID自適應(yīng)控制實例4.2.1實例原理PID控制要取得好的控制效果,就必須通過調(diào)整好比例、積分和微分三種控制作用

33、,在形成控制量中相互配合又相互制約的關(guān)系。神經(jīng)網(wǎng)絡(luò)具有逼近任意非線性函數(shù)的能力,而且結(jié)構(gòu)和學(xué)習(xí)算法簡單明確??梢酝ㄟ^對系統(tǒng)性能的學(xué)習(xí)來實現(xiàn)具有最佳組合的PID控制。采用基于BP神經(jīng)網(wǎng)絡(luò)的PID自適應(yīng)控制,可以建立參數(shù)、自學(xué)習(xí)的神經(jīng)PID控制,從而達(dá)到參數(shù)自行調(diào)整的。實例控制器由兩部分組成:(1)經(jīng)典的PID控制器:直接對被控對象進(jìn)行閉環(huán)控制,仍然是靠改變?nèi)齻€參數(shù)、來獲得滿意的控制效果。(2)神經(jīng)網(wǎng)絡(luò):根據(jù)系統(tǒng)的運(yùn)行狀態(tài),調(diào)節(jié)PID控制器的參數(shù),以其達(dá)到某種性能指標(biāo)的最優(yōu)化。采用如圖4-2的系統(tǒng)結(jié)構(gòu),即使輸出層神經(jīng)元的輸出狀態(tài)對應(yīng)于PID控制器的三個可調(diào)參數(shù)、,通過神經(jīng)網(wǎng)絡(luò)的自身學(xué)習(xí)、加權(quán)系數(shù)調(diào)

34、整,從而使其穩(wěn)定狀態(tài)對應(yīng)于某種最優(yōu)控制規(guī)律下的PID的控制器各個參數(shù)。采用基于BP神經(jīng)網(wǎng)絡(luò)的PID控制的系統(tǒng)結(jié)構(gòu)如圖4-2所示:BP神經(jīng)網(wǎng)絡(luò)被控對象PID控制器+r kp ki kd u y - e 圖4-2 基于BP神經(jīng)網(wǎng)絡(luò)的PID控制結(jié)構(gòu)圖圖4-2中的BP神經(jīng)網(wǎng)絡(luò)選如圖4-3的形式,采用三層結(jié)構(gòu):一個輸入層,一個隱含層,一個輸出層,j表示輸入層節(jié)點,i表示隱層節(jié)點,l表示輸出層節(jié)點。輸入層有m個輸入節(jié)點,隱含層有q個隱含節(jié)點,輸出層有3個輸出節(jié)點。輸入節(jié)點對應(yīng)所選的系統(tǒng)運(yùn)行狀態(tài)量,如系統(tǒng)不同時刻的輸入量和輸出量,偏差量等。輸出節(jié)點分別對應(yīng)PID控制器的三個參數(shù)、,由于、不能為負(fù),所以輸出層

35、神經(jīng)元活化函數(shù)取非負(fù)的Sigmoid函數(shù)。ijl 輸入節(jié)點輸出層節(jié)點隱層節(jié)點 圖4-3 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖由圖可見,此處BP神經(jīng)網(wǎng)絡(luò)的輸入層輸出為 j=1,2,3m 隱層輸入為: 隱層輸出為: =1,2 式中,為輸入層到隱含層加權(quán)系數(shù),上標(biāo)(1)、(2)、(3)分別代表輸入層、隱含層、輸出層,f(x)為正負(fù)對稱的Sigmoid函數(shù),即 。最后網(wǎng)絡(luò)輸出層三個節(jié)點的輸入為 最后的輸出層的三個輸出為 : =1,2,3 即 式中,為隱層到輸出層加權(quán)系數(shù),輸出層神經(jīng)元活化函數(shù)為 取性能指標(biāo)函數(shù) 用梯度下降法修正網(wǎng)絡(luò)的權(quán)系數(shù),并附加一使搜索快速收斂全局極小的慣性項,則有: 為學(xué)習(xí)率,為慣性系數(shù)。其中: (

36、4-1)這里需要用到的變量,由于模型可以未知,所以未知,但是可以測出的相對變化量,即:也可以近似用符號函數(shù): 取代,由此帶來計算上的不精確可以通過調(diào)整學(xué)習(xí)速率來補(bǔ)償。這樣做一方面可以簡化運(yùn)算,另一方面避免了當(dāng)很接近時導(dǎo)致式(4-1)趨于無窮。這種替代在算法上是可以的,因為是式(4-1)中的一個乘積因子,他的符號的正負(fù)決定著權(quán)值變化的方向,而數(shù)值變化的大小只影響權(quán)值變化的速度,但是權(quán)值變化的速度可以通過學(xué)習(xí)步長加以調(diào)節(jié)。由式:可得: (4-2)這樣,可得BP神經(jīng)網(wǎng)絡(luò)輸出層權(quán)計算公式為 把上式代入后得: 可令,則上式可寫為: 由式(4-2)可確定,由符號函數(shù)代替,由可得。同理可得隱含層權(quán)計算公式為

37、 =1,2, 令 則: =1,2, 該控制器的算法如下:(1)確定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),即確定輸入節(jié)點數(shù)M和隱含層節(jié)點數(shù)Q,并給各層加權(quán)系數(shù)的初值和,選定學(xué)習(xí)速率和慣性系數(shù),此時k=1;(2)采樣得到rin(k)和yout(k),計算該時刻誤差error(k)=rin(k)-yout(k);(3)計算神經(jīng)網(wǎng)絡(luò)NN各層神經(jīng)元的輸入、輸出,NN輸出層的輸出即為PID控制器的三個可調(diào)參數(shù),;(4)根據(jù)經(jīng)典增量數(shù)字PID的控制算法(見下式)計算PID控制器的輸出u(k); (5)進(jìn)行神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),在線調(diào)整加權(quán)系數(shù)和實現(xiàn)PID控制參數(shù)的自適應(yīng)調(diào)整;(6)置k=k+1,返回到(1)。4.2.2 實例運(yùn)行結(jié)果

38、(程序見附錄一)仿真輸入: rin(k)=1.0;仿真輸出:a(k)=1.2*(1-0.8*exp(-0.1*k); yout(k)=a(k)*y_1/(1+y_12)+u_1;BP網(wǎng)絡(luò)參數(shù):IN=4;H=5;Out=3; 圖4-4預(yù)想輸出與實際輸出圖4-5 輸入與輸出間的誤差圖4-6 PID參數(shù)仿真輸入: rin(k)=sin(1*2*pi*k*ts);仿真輸出:a(k)=1.2*(1-0.8*exp(-0.1*k); yout(k)=a(k)*y_1/(1+y_12)+u_1;BP網(wǎng)絡(luò)參數(shù):IN=4;H=5;Out=3; 圖4-7預(yù)想輸出與實際輸出圖4-8 輸入與輸出間的誤差圖4-6 PI

39、D參數(shù)4.3 仿真結(jié)果通過仿真實例可以直觀地看出:基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器可以通過學(xué)習(xí)自動調(diào)整PID參數(shù),使系統(tǒng)誤差調(diào)整在允許誤差范圍內(nèi)。4.4 結(jié)果分析BP神經(jīng)網(wǎng)絡(luò)最主要的優(yōu)點是具有極強(qiáng)的非線性映射能力。理論上,對于一個三層和三層以上的BP網(wǎng)絡(luò),只要隱層神經(jīng)元數(shù)目足夠多,該網(wǎng)絡(luò)就能以任意精度逼近一個非線性函數(shù)。其次,BP神經(jīng)網(wǎng)絡(luò)具有對外界刺激和輸入信息進(jìn)行聯(lián)想記憶的能力。這是因為它采用了分布并行的信息處理方式,對信息的提取必須采用聯(lián)想的方式,才能將相關(guān)神經(jīng)元全部調(diào)動起來。BP 神經(jīng)網(wǎng)絡(luò)通過預(yù)先存儲信息和學(xué)習(xí)機(jī)制進(jìn)行自適應(yīng)訓(xùn)練,可以從不完整的信息和噪聲干擾中恢復(fù)原始的完整信息。這種能力使

40、其在圖像復(fù)原、語言處理、模式識別等方面具有重要應(yīng)用。再次,BP 神經(jīng)網(wǎng)絡(luò)對外界輸入樣本有很強(qiáng)的識別與分類能力。由于它具有強(qiáng)大的非線性處理能力,因此可以較好地進(jìn)行非線性分類, 解決了神經(jīng)網(wǎng)絡(luò)發(fā)展史上的非線性分類難題。另外, BP 神經(jīng)網(wǎng)絡(luò)具有優(yōu)化計算能力。BP神經(jīng)網(wǎng)絡(luò)本質(zhì)上是一個非線性優(yōu)化問題, 它可以在已知的約束條件下,尋找一組參數(shù)組合,使該組合確定的目標(biāo)函數(shù)達(dá)到最小。不過,其優(yōu)化計算存在局部極小問題,必須通過改進(jìn)完善。由于BP網(wǎng)絡(luò)訓(xùn)練中穩(wěn)定性要求學(xué)習(xí)效率很小,所以梯度下降法使得訓(xùn)練很慢。動量法因為學(xué)習(xí)率的提高通常比單純的梯度下降法要快一些,但在實際應(yīng)用中還是速度不夠,這兩種方法通常只應(yīng)用于遞

41、增訓(xùn)練。多層神經(jīng)網(wǎng)絡(luò)可以應(yīng)用于線性系統(tǒng)和非線性系統(tǒng)中,對于任意函數(shù)模擬逼近。當(dāng)然,感知器和線性神經(jīng)網(wǎng)絡(luò)能夠解決這類網(wǎng)絡(luò)問題。但是,雖然理論上是可行的,但實際上BP網(wǎng)絡(luò)并不一定總能有解。對于非線性系統(tǒng),選擇合適的學(xué)習(xí)率是一個重要的問題。在線性網(wǎng)絡(luò)中,學(xué)習(xí)率過大會導(dǎo)致訓(xùn)練過程不穩(wěn)定。相反,學(xué)習(xí)率過小又會造成訓(xùn)練時間過長。和線性網(wǎng)絡(luò)不同,對于非線性多層網(wǎng)絡(luò)很難選擇很好的學(xué)習(xí)率。對那些快速訓(xùn)練算法,缺省參數(shù)值基本上都是最有效的設(shè)置。非線性網(wǎng)絡(luò)的誤差面比線性網(wǎng)絡(luò)的誤差面復(fù)雜得多,問題在于多層網(wǎng)絡(luò)中非線性傳遞函數(shù)有多個局部最優(yōu)解。尋優(yōu)的過程與初始點的選擇關(guān)系很大,初始點如果更靠近局部最優(yōu)點,而不是全局最優(yōu)

42、點,就不會得到正確的結(jié)果,這也是多層網(wǎng)絡(luò)無法得到最優(yōu)解的一個原因。為了解決這個問題,在實際訓(xùn)練過程中,應(yīng)重復(fù)選取多個初始點進(jìn)行訓(xùn)練,以保證訓(xùn)練結(jié)果的全局最優(yōu)性。網(wǎng)絡(luò)隱層神經(jīng)元的數(shù)目也對網(wǎng)絡(luò)有一定的影響。神經(jīng)元數(shù)目太少會造成網(wǎng)絡(luò)的不適性,而神經(jīng)元數(shù)目太多又會引起網(wǎng)絡(luò)的過適性。第五章 基于RBF神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制算法5.1 RBF網(wǎng)絡(luò)5.1.1 RBF網(wǎng)絡(luò)的結(jié)構(gòu)RBF神經(jīng)元網(wǎng)絡(luò)即Radial Basis Function Neural Network,它的產(chǎn)生具有很強(qiáng)的生物學(xué)背景。在人的大腦皮層區(qū)域中,局部調(diào)節(jié)及交疊的感受野(Receptive Field)是人腦反應(yīng)的特點?;诟惺芤斑@一特性,

43、Moody和Darken提出了一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即RBF網(wǎng)絡(luò)。圖5-1是這種思想的結(jié)構(gòu)圖。圖5-1 RBF神經(jīng)網(wǎng)絡(luò)這是一種前向網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),隱含層的單元是感受野單元,每個感受野單元輸出為i=Ri(X) =Ri(X-ci/i), i= 1,HX是N維輸入向量,ci是與X同維數(shù)的向量,Ri(·)具有局部感受的特點。例如Ri(·)取高斯函數(shù),即Ri(X)=exp(-X-ci2/2i),Ri(·)只有在ci周圍的一部分區(qū)域內(nèi)有較強(qiáng)的反應(yīng),這正體現(xiàn)了大腦皮質(zhì)層的反應(yīng)特點。RBF神經(jīng)元網(wǎng)絡(luò)不僅具有上述的生物學(xué)背景,而且還有數(shù)學(xué)理論的支持。利用正則化方法證明了如下結(jié)論。若S=

44、(Xi,Yi)Rn×R i=1,N是訓(xùn)練集合,(·,w)表示未知的函數(shù),其中w也未知。正則化問題的學(xué)習(xí)過程是尋找及參數(shù)w使H =(Yi-(Xi,w)2+P2最小。用變分原理可以證明應(yīng)該選擇徑向基函數(shù)(Ra-dial Basis Function) 。5.2 RBF網(wǎng)絡(luò)的自適應(yīng)控制算法RBF 網(wǎng)絡(luò)是一種三層前饋網(wǎng)絡(luò), 由輸入層、輸出層和隱層組成。其中, 輸入層和輸出層皆由線性神經(jīng)元組成; 隱層的激活函數(shù)( 核函數(shù)) 采用中心徑向?qū)ΨQ衰減的非負(fù)非線性函數(shù), 其作用是對輸入信號在局部產(chǎn)生響應(yīng)。輸入層與隱層之間的權(quán)值固定為1, 只有隱層與輸出層之間的權(quán)值可調(diào)。設(shè)輸入矢量 , 隱層節(jié)

45、點個數(shù)為m, RBF 網(wǎng)絡(luò)的輸出可表示為: 式中: 是第i 個隱層節(jié)點與輸出層之間的權(quán)值; 為隱層激活函數(shù)。通常采用如下高斯函數(shù)式中: 和分別表示該隱層節(jié)點的寬度和中心矢量;|.|是歐氏范數(shù)。RBF 選取得越多, 網(wǎng)絡(luò)的逼近精度越高, 但同時也會使網(wǎng)絡(luò)的泛化能力下降, 因此, 在滿足一定逼近精度的條件下, 應(yīng)選取盡可能少的中心向量, 以保證網(wǎng)絡(luò)有較好的泛化能力。本文提出的算法, 根據(jù)網(wǎng)絡(luò)的輸出誤差在輸入空間的非均勻分布, 以及每個RBF 對網(wǎng)絡(luò)所作貢獻(xiàn)的大小, 通過相應(yīng)的添加和刪除策略對網(wǎng)絡(luò)參數(shù)進(jìn)行自適應(yīng)調(diào)整, 使網(wǎng)絡(luò)的逼近性能和泛化能力都達(dá)到較高的要求。同時, 網(wǎng)絡(luò)的訓(xùn)練和工作可以交替進(jìn)行,

46、所以它能夠適應(yīng)外界環(huán)境的緩慢變化。5.2.1 添加策略添加策略綜合考慮了網(wǎng)絡(luò)輸出誤差在輸入空間的非均勻分布。需要統(tǒng)計每個輸入矢量產(chǎn)生的輸出誤差,然后通過比較找出誤差相對較大的點, 再在這些點附近適當(dāng)?shù)夭迦腚[層節(jié)點。設(shè)是一組訓(xùn)練樣本, 初始時刻, 隱層節(jié)點數(shù)為零, 每次執(zhí)行添加操作, 依據(jù)以下準(zhǔn)則判斷是否添加隱層節(jié)點: 式中: 是網(wǎng)絡(luò)輸出均方誤差; 和分別對應(yīng)與輸入向量Xk 最接近的隱層節(jié)點中心和輸入向量。如果滿足添加條件, 則將設(shè)為新的隱層節(jié)點中心, 將ek 設(shè)為新節(jié)點的權(quán)值, 中心寬度取5.2.2 刪除策略由于RBF 神經(jīng)網(wǎng)絡(luò)是一種局部感知場網(wǎng)絡(luò), 網(wǎng)絡(luò)總的輸出取決于隱層與輸出層之間的權(quán)值和

47、隱層節(jié)點中心與輸入矢量之間的距離。進(jìn)行訓(xùn)練時, 所選取的訓(xùn)練樣本相對比較稀疏。當(dāng)某一個隱層節(jié)點中心離每一個輸入矢量都很遠(yuǎn)時, 即使其權(quán)值是一個較大的數(shù), 也不會對輸出產(chǎn)生太大的影響。在訓(xùn)練結(jié)束后進(jìn)行檢驗的過程中, 檢驗的數(shù)據(jù)一般都比較密集, 若某些輸入矢量離該隱層中心較近, 則輸出會受到很大的影響,這使網(wǎng)絡(luò)的泛化能力變差。因此需要制定一種策略來刪除這樣的隱層節(jié)點, 由此引入了刪除策略。刪除策略是針對每個隱層節(jié)點對整個網(wǎng)絡(luò)所作貢獻(xiàn)的大小不同而提出的。貢獻(xiàn)大的節(jié)點, 繼續(xù)保留; 貢獻(xiàn)小的節(jié)點, 則刪除。對任意隱層節(jié)點i, 用A i 來表示它對整個網(wǎng)絡(luò)所作的貢獻(xiàn)。A i 定義為: 執(zhí)行刪除操作前,

48、先對Ai 進(jìn)行歸一化處理, 即。最后的判斷規(guī)則為: 若, 則刪除第i 個隱層節(jié)點, 其中為判決門限。在采用梯度下降法調(diào)整隱層節(jié)點中心位置和權(quán)值的過程中, 需要計算每個輸入矢量對應(yīng)的輸出誤差ek ,以及每個隱層節(jié)點的輸出值。而執(zhí)行添加和刪除操作時也需要計算ek 和。為了減小計算量, 提高運(yùn)算效率, 可以在調(diào)整隱層的中心位置和權(quán)值的過程中先保存ek 和 的值。5.2.3 算法流程自適應(yīng)RBF 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的具體流程如圖1所示。對RBF 進(jìn)行訓(xùn)練之前, 先確定最大訓(xùn)練次數(shù)M和訓(xùn)練允許誤差E r , 作為訓(xùn)練結(jié)束的條件。整個算法的流程大體可分成三個部分。第一個部分是調(diào)節(jié)隱層節(jié)點的中心位置和隱層與輸

49、出層之間的權(quán)值。本文采用梯度下降法, 每循環(huán)一次, 相應(yīng)地調(diào)節(jié)一次。第二個部分是執(zhí)行添加操作。添加的策略是根據(jù)輸出誤差在輸入空間分布的不均勻性而提出的。如果執(zhí)行該操作過頻, 不但會減小隱層節(jié)點的中心位置和權(quán)值的調(diào)節(jié)速度, 而且會造成隱層節(jié)點數(shù)目過多, 計算量增大, 導(dǎo)致過度擬合??紤]到以上因素, 采用間歇的方式執(zhí)行添加操作, 只有當(dāng)i = 4n + 1( n = 0, 1, 2, 􀀂)時, 才執(zhí)行添加操作。第三個部分是執(zhí)行刪除操作。如果執(zhí)行該操作過頻, 對于一些新增加的隱層節(jié)點, 其中心位置和權(quán)值有可能還沒來得及調(diào)整就已經(jīng)被刪除了, 所以也采用間歇的方式執(zhí)行。當(dāng)i = 8m

50、+ 7( m = 0, 1,2, 􀀂) 時, 才執(zhí)行刪除操作。圖 5-2 算法流程圖5.2.4 RBF 網(wǎng)絡(luò)參數(shù)調(diào)整算法采用梯度下降法調(diào)整RBF 的隱層節(jié)點中心位置和權(quán)值。設(shè)隱層節(jié)點的數(shù)目為m, 一共有N 組訓(xùn)練樣本: ( x, y ) = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x N , yN ) 。神經(jīng)網(wǎng)絡(luò)的實際輸出為: y = y 1 , y 2 , 􀀂, y N 。選取均方差為誤差函數(shù), 取和為學(xué)習(xí)率。( 1) 調(diào)整隱層節(jié)點的權(quán)值 得到:( 2) 調(diào)整隱層節(jié)點的中心位置5.3仿真實例 5.2.1 問題說明簡單的運(yùn)動系統(tǒng)動

51、力學(xué)方程為:其中為角度,為控制輸入。寫成狀態(tài)方程形式為: 其中為未知。位置指令為,則誤差及其變化率為,定義誤差函數(shù)為, 則。由式上式可見,如果,則且。5.2.2 RBF網(wǎng)絡(luò)原理由于RBF網(wǎng)絡(luò)具有萬能逼近特性,采用RBF神經(jīng)網(wǎng)絡(luò)逼近,網(wǎng)絡(luò)算法為: 其中為網(wǎng)絡(luò)的輸入,為網(wǎng)絡(luò)隱含層第個節(jié)點, 為網(wǎng)絡(luò)的高斯基函數(shù)輸出,為網(wǎng)絡(luò)的理想權(quán)值, 為網(wǎng)絡(luò)的逼近誤差,。網(wǎng)絡(luò)輸入取,則網(wǎng)絡(luò)輸出為: 5.2.3 控制算法設(shè)計與分析由于。定義Lyapunov函數(shù)為 其中,。則 設(shè)計控制律為 (5-1)則取,自適應(yīng)律為 (5-2) 則。5.2.4仿真實例考慮如下被控對象其中??刂坡刹捎檬剑?-1),自適應(yīng)律采用式(5-2

52、),取,。根據(jù)網(wǎng)絡(luò)輸入和的實際范圍,高斯基函數(shù)的參數(shù)和取值分別取和3.0。網(wǎng)絡(luò)權(quán)值矩陣中各個元素的初始值取0,10。仿真結(jié)果如圖5-3和圖5-4所示。圖5-3 位置和速度跟蹤 圖5-4 及逼近5.2.5仿真程序Simulink主程序: rbf_ctrl_sim.mdl控制律及自適應(yīng)律程序: rbf_ctrl.m被控對象程序: rbf_ctrl_plant.m作圖程序: rbf_ctrl_plot.m圖5-5 神經(jīng)網(wǎng)絡(luò)自適應(yīng)控制Simulink仿真圖5.4仿真結(jié)果與分析通過基于RBF網(wǎng)絡(luò)自適應(yīng)控制算法的simulink仿真可知,該算法可以實現(xiàn)系統(tǒng)自適應(yīng)控制,通過學(xué)習(xí)功能使系統(tǒng)輸出與理想輸出之間的

53、誤差快速收斂,直至控制在可以接受的范圍之內(nèi)。RBF神經(jīng)網(wǎng)絡(luò)是一種性能優(yōu)良的前饋型神經(jīng)網(wǎng)絡(luò),RBF網(wǎng)絡(luò)可以任意精度逼近任意的非線性函數(shù),且具有全局逼近能力,從根本上解決了BP網(wǎng)絡(luò)的局部最優(yōu)問題,而且拓?fù)浣Y(jié)構(gòu)緊湊,結(jié)構(gòu)參數(shù)可實現(xiàn)分離學(xué)習(xí),收斂速度快。RBF網(wǎng)絡(luò)和模糊邏輯能夠?qū)崿F(xiàn)很好的互補(bǔ),提高神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)泛化能力。5.5 RBF神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)RBF神經(jīng)網(wǎng)絡(luò)除了具有一般神經(jīng)網(wǎng)絡(luò)的優(yōu)點,如多維非線性映射能力,泛化能力,并行信息處理能力等,還具有很強(qiáng)的聚類分析能力,學(xué)習(xí)算法簡單方便等優(yōu)點;徑向基函數(shù)(RBF) 神經(jīng)網(wǎng)絡(luò)是一種性能良好的前向網(wǎng)絡(luò)L利用在多維空間中插值的傳統(tǒng)技術(shù), 可以對幾乎所有的系統(tǒng)進(jìn)行辯識和建模L它不僅在理論上有著任意逼近性能和最佳逼近性能, 而且在應(yīng)用中具有很多優(yōu)勢L 如和Sigmoid 函數(shù)作為激活函數(shù)的神經(jīng)網(wǎng)絡(luò)相比, 算法速度大大高于一般的BP 算法。RBF 神經(jīng)網(wǎng)絡(luò)同BP 網(wǎng)絡(luò)相比, 不但在理論上它是前向網(wǎng)絡(luò)中最優(yōu)的網(wǎng)絡(luò), 而且學(xué)習(xí)方法也避免了局部最優(yōu)的問題。已經(jīng)證明:一個RBF網(wǎng)絡(luò),在隱層節(jié)點足夠多的情況下,經(jīng)過充分學(xué)習(xí),可以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論