




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章模糊神經(jīng)和模糊聚類及其MATLAB實(shí)現(xiàn)
6.1基于標(biāo)準(zhǔn)模型的模糊神經(jīng)網(wǎng)絡(luò)6.2基于Takagi-Sugeno模型的模糊神經(jīng)網(wǎng)絡(luò)6.3自適應(yīng)神經(jīng)模糊系統(tǒng)及其MATLAB實(shí)現(xiàn)6.4模糊聚類及其MATLAB實(shí)現(xiàn)1模糊神經(jīng)網(wǎng)絡(luò)控制在控制領(lǐng)域里目前已經(jīng)成為一個(gè)研究熱點(diǎn),其原因在于兩者之間的互補(bǔ)性質(zhì)。神經(jīng)網(wǎng)絡(luò)和模糊系統(tǒng)均屬于無模型的估計(jì)器和非線性動(dòng)力學(xué)系統(tǒng),也是一種處理不確定性、非線性和其它不確定問題(ill-posedproblem)的有力工具。但兩者之間的特性卻存在很大的差異。
2模糊系統(tǒng)中知識(shí)的抽取和表達(dá)比較方便,它比較適合于表達(dá)那些模糊或定性的知識(shí),其推理方式比較類似于人的思維模式。但是一般說來模糊系統(tǒng)缺乏自學(xué)習(xí)和自適應(yīng)能力,要設(shè)計(jì)和實(shí)現(xiàn)模糊系統(tǒng)的自適應(yīng)控制是比較困難的。而神經(jīng)網(wǎng)絡(luò)則可直接從樣本中進(jìn)行有效的學(xué)習(xí),它具有并行計(jì)算、分布式信息存貯、容錯(cuò)能力強(qiáng)以及具備自適應(yīng)學(xué)習(xí)功能等一系列優(yōu)點(diǎn)。正是由于這些優(yōu)點(diǎn),神經(jīng)網(wǎng)絡(luò)的研究受到廣泛的關(guān)注并吸引了許多研究工作者的興趣。3但一般說來,神經(jīng)網(wǎng)絡(luò)不適于表達(dá)基于規(guī)則的知識(shí),因此在對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),由于不能很好地利用已有的經(jīng)驗(yàn)知識(shí),常常只能將初始權(quán)值取為零或隨機(jī)數(shù),從而增加了網(wǎng)絡(luò)的訓(xùn)練時(shí)間或者陷入非要求的局部極值??偟膩碚f,神經(jīng)網(wǎng)絡(luò)適合于處理非結(jié)構(gòu)化信息,而模糊系統(tǒng)對(duì)處理結(jié)構(gòu)化的知識(shí)更為有效。
4基于上述討論可以想見,若能將模糊邏輯與神經(jīng)網(wǎng)絡(luò)適當(dāng)?shù)亟Y(jié)合起來,吸取兩者的長處,則可組成比單獨(dú)的神經(jīng)網(wǎng)絡(luò)系統(tǒng)或單獨(dú)的模糊系統(tǒng)性能更好的系統(tǒng)。在MATLAB模糊邏輯工具箱中,提供了有關(guān)模糊邏輯推理的高級(jí)應(yīng)用,包括自適應(yīng)、模糊聚類、給定數(shù)據(jù)的模糊建模。下面首先介紹用神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)模糊系統(tǒng)的兩種結(jié)構(gòu)。
56.1基于標(biāo)準(zhǔn)模型的模糊神經(jīng)網(wǎng)絡(luò)
由前已知,在模糊系統(tǒng)中,模糊模型的表示主要有兩種:一種是模糊規(guī)則的后件是輸出量的某一模糊集合,稱它為模糊系統(tǒng)的標(biāo)準(zhǔn)模型表示;另一種是模糊規(guī)則的后件是輸入語言變量的函數(shù),典型的情況是輸入變量的線性組合,稱它為模糊系統(tǒng)的Takagi—Sugeno模型。下面首先討論基于標(biāo)準(zhǔn)模型的模糊神經(jīng)網(wǎng)絡(luò)。
66.1.1模糊系統(tǒng)的標(biāo)準(zhǔn)模型在前面已經(jīng)介紹過,對(duì)于多輸入多輸出(MIMO)的模糊規(guī)則可以分解為多個(gè)多輸入單輸出(MISO)的模糊規(guī)則。因此不失一般性,下面只討論MISO模糊系統(tǒng)。圖6-1為一基于標(biāo)準(zhǔn)模型的MISO模糊系統(tǒng)的原理結(jié)構(gòu)圖。其中χRn,yR。如果該模糊系統(tǒng)的輸出作用于一個(gè)控制對(duì)象,那么它的作用便是一個(gè)模糊邏輯控制器。否則,它可用于模糊邏輯決策系統(tǒng)、模糊邏輯診斷系統(tǒng)等其它方面。圖6-1基于標(biāo)準(zhǔn)模型的模糊系統(tǒng)原理結(jié)構(gòu)圖
7設(shè)輸入向量X=[x1x2…xn]T,每個(gè)分量xi均為模糊語言變量,并設(shè)
T(xi)={Ai1,Ai2,…,Aimi}i=1,2,…,n其中,Aij(j=1,2,…,mi)是xi的第j個(gè)語言變量值,它是定義在論域Ui上的一個(gè)模糊集合。相應(yīng)的隸屬度函數(shù)為μAij(xi)(i=1,2,…,n;j=1,2,…,mi)。輸出量y也為模糊語言變量且T(y)={B1,B2,…,Bmy}。其中Bj(j=1,2,…,my)是y的第j個(gè)語言變量值,它是定義在論域Uy上的模糊集合。相應(yīng)的隸屬度函數(shù)為μBj(y)。
8設(shè)描述輸入輸出關(guān)系的模糊規(guī)則為:Ri:如果x1是A1iandx2是A2i…andxn是Ani則y是Bi其中i=1,2,…,m,m表示規(guī)則總數(shù),m<=m1m2…mn
。若輸入量采用單點(diǎn)模糊集合的模糊化方法,則對(duì)于給定的輸入x,可以求得對(duì)于每條規(guī)則的適用度為
或通過模糊推理可得對(duì)于每一條模糊規(guī)則的輸出量模糊集合Bi的隸屬度函數(shù)為或9從而輸出量總的模糊集合為
B=若采用加權(quán)平均的清晰化方法,則可求得輸出的清晰化量為10由于計(jì)算上式的積分很麻煩,實(shí)際計(jì)算時(shí)通常用下面的近似公式其中是取最大值的點(diǎn),它一般也就是隸屬度函數(shù)的中心點(diǎn)。
顯然==
從而輸出量的表達(dá)式可變?yōu)槠渲?16.1.2系統(tǒng)結(jié)構(gòu)根據(jù)上面給出的模糊系統(tǒng)的模糊模型,可設(shè)計(jì)出如圖6-2所示的模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。圖中所示為MIMO系統(tǒng),它是上面所討論的MISO情況的簡單推廣。
圖6-2基于標(biāo)準(zhǔn)模型的模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
12第二層每個(gè)節(jié)點(diǎn)代表一個(gè)語言變量值,如NB,PS等。它的作用是計(jì)算各輸入分量屬于各語言變量值模糊集合的隸屬度函數(shù),其中i=1,2,…,n,j=1,2,…,mi。n是輸入量的維數(shù),mi是xi的模糊分割數(shù)。例如,若隸屬函數(shù)采用高斯函數(shù)表示的鈴形函數(shù),則其中和分別表示隸屬函數(shù)的中心和寬度。該層的節(jié)點(diǎn)總數(shù)。
圖中第一層為輸入層。該層的各個(gè)節(jié)點(diǎn)直接與輸入向量的各分量xi連接,它起著將輸入值x=[x1x2…xn]T傳送到下一層的作用。該層的節(jié)點(diǎn)數(shù)N1=n。
13第三層的每個(gè)節(jié)點(diǎn)代表一條模糊規(guī)則,它的作用是用來匹配模糊規(guī)則的前件,計(jì)算出每條規(guī)則的適用度。即或其中該層的節(jié)點(diǎn)總數(shù)N3
=m。對(duì)于給定的輸入,只有在輸入點(diǎn)附近的那些語言變量值才有較大的隸屬度值,遠(yuǎn)離輸入點(diǎn)的語言變量值的隸屬度或者很?。ǜ咚闺`屬度函數(shù))或者為0(三角形隸屬度函數(shù))。當(dāng)隸屬度函數(shù)很?。ɡ缧∮?.05)時(shí)近似取為0。因此在中只有少量節(jié)點(diǎn)輸出非0,而多數(shù)節(jié)點(diǎn)的輸出為0,這一點(diǎn)與前面介紹的局部逼近網(wǎng)絡(luò)是類似的。
14第四層的節(jié)點(diǎn)數(shù)與第三層相同,即N4=N3=m,它所實(shí)現(xiàn)的是歸一化計(jì)算,即,第五層是輸出層,它所實(shí)現(xiàn)的是清晰化計(jì)算,即,i=1,2,…,r與前面所給出的標(biāo)準(zhǔn)模糊模型的清晰化計(jì)算相比較,這里的相當(dāng)于yi的第j個(gè)語言值隸屬函數(shù)的中心值,上式寫成向量形式則為其中156.1.3學(xué)習(xí)算法
假設(shè)各輸入分量的模糊分割數(shù)是預(yù)先確定的,那么需要學(xué)習(xí)的參數(shù)主要是最后一層的連接權(quán),以及第二層的隸屬度函數(shù)的中心值和寬度。上面所給出的模糊神經(jīng)網(wǎng)絡(luò)本質(zhì)上也是一種多層前饋網(wǎng)絡(luò),所以可以仿照BP網(wǎng)絡(luò)用誤差反傳的方法來設(shè)計(jì)調(diào)整參數(shù)的學(xué)習(xí)算法。為了導(dǎo)出誤差反傳的迭代算法,需要對(duì)每個(gè)神經(jīng)元的輸入輸出關(guān)系加以形式化的描述。
16圖6-3單個(gè)神經(jīng)元節(jié)點(diǎn)的基本結(jié)構(gòu)圖設(shè)圖6-3表示模糊神經(jīng)網(wǎng)絡(luò)中第q層第j個(gè)節(jié)點(diǎn)。其中,節(jié)點(diǎn)的純輸入節(jié)點(diǎn)的輸出。對(duì)于一般的神經(jīng)元節(jié)點(diǎn),通常有而對(duì)于圖6-2所示的模糊神經(jīng)網(wǎng)絡(luò),其神經(jīng)元節(jié)點(diǎn)的輸入輸出函數(shù)則具有較為特殊的形式,下面具體給出它的每一層節(jié)點(diǎn)函數(shù)。
17第一層:
第二層:
第三層:或者
18第四層:
第五層:
設(shè)取誤差代價(jià)函數(shù)為其中和分別表示期望輸出和實(shí)際輸出。下面給出誤差反傳算法來計(jì)算和,然后利用一階梯度尋優(yōu)算法來調(diào)節(jié)和。
19首先計(jì)算進(jìn)而求得再計(jì)算20當(dāng)采用取小運(yùn)算時(shí),則當(dāng)是第k個(gè)規(guī)則節(jié)點(diǎn)輸入的最小值時(shí)當(dāng)采用相乘運(yùn)算時(shí),則當(dāng)是第k個(gè)規(guī)則節(jié)點(diǎn)的一個(gè)輸入時(shí)否則否則21從而可得所求一階梯度為在求得所需的一階梯度后,最后可給出參數(shù)調(diào)整的學(xué)習(xí)算法為其中>0為學(xué)習(xí)率。22該模糊神經(jīng)網(wǎng)絡(luò)也和BP網(wǎng)絡(luò)及RBF網(wǎng)絡(luò)等一樣,本質(zhì)上也是實(shí)現(xiàn)從輸入到輸出的非線性映射。它和BP網(wǎng)絡(luò)一樣,結(jié)構(gòu)上都是多層前饋網(wǎng),學(xué)習(xí)算法都是通過誤差反傳的方法;它和RBF網(wǎng)絡(luò)等一樣,都屬于局部逼近網(wǎng)絡(luò)。
236.2基于Takagi—Sugeno模型的模糊神經(jīng)系統(tǒng)在前面對(duì)模糊推理的討論中,分別介紹了
Mamdani型模糊推理和
Takagi-Sugeno型模糊推理。MATLAB模糊邏輯工具箱同時(shí)提供對(duì)這兩種模糊推理方法的支持。其中對(duì)Sugeno
型模糊推理僅支持一階規(guī)則,即規(guī)則的輸出為輸入變量的線性組合。
24
Mamdani型模糊推理和Takagi-Sugeno型模糊推理各有優(yōu)缺點(diǎn)。對(duì)Mamdani型模糊推理,由于其規(guī)則的形式符合人們思維和語言表達(dá)的習(xí)慣,因而能夠方便地表達(dá)人類的知識(shí),但存在計(jì)算復(fù)雜、不利于數(shù)學(xué)分析的缺點(diǎn)。而Takagi-Sugeno型模糊推理則具有計(jì)算簡單,利于數(shù)學(xué)分析的優(yōu)點(diǎn),且易于和PID控制方法以及優(yōu)化、自適應(yīng)方法結(jié)合,從而實(shí)現(xiàn)具有優(yōu)化與自適應(yīng)能力的控制器或模糊建模工具。
25
根據(jù)Sugeno
型模糊推理的特點(diǎn),有關(guān)學(xué)者將其與神經(jīng)網(wǎng)絡(luò)結(jié)合,用于構(gòu)造具有自適應(yīng)學(xué)習(xí)能力的神經(jīng)模糊系統(tǒng)。模糊邏輯與神經(jīng)網(wǎng)絡(luò)的結(jié)合,是近年來計(jì)算智能學(xué)科的一個(gè)重要研究方向。兩者結(jié)合形成的模糊神經(jīng)網(wǎng)絡(luò)同時(shí)具有模糊邏輯易于表達(dá)人類知識(shí)和神經(jīng)網(wǎng)絡(luò)的分布式信息存儲(chǔ)以及學(xué)習(xí)能力的優(yōu)點(diǎn),對(duì)于復(fù)雜系統(tǒng)的建模和控制提供了有效的工具。
266.2.1模糊系統(tǒng)的Takagi-Sugeno模型由于MIMO的模糊規(guī)則可分解為多個(gè)MISO模糊規(guī)則,因此下面也只討論MISO模糊系統(tǒng)的模型。設(shè)輸入向量x=[x1x2…xn]T,每個(gè)分量xi均為模糊語言變量。并設(shè)
T(xi)={Ai1,Ai2,…,Aimi}i=1,2,…,n其中Aij(j=1,2,…,mi)是xi的第j個(gè)語言變量值,它是定義在論域Ui上的一個(gè)模糊集合。相應(yīng)的隸屬度函數(shù)為(i=1,2,…,n;j=1,2,…,mi)。Takagi和Sugeno所提出的模糊規(guī)則后件是輸入變量的線性組合,即Rj:如果是and是是,則
其中。
27若輸入量采用單點(diǎn)模糊集合的模糊化方法,則對(duì)于給定的輸入x,可以求得對(duì)于每條規(guī)則的適應(yīng)度為
或模糊系統(tǒng)的輸出量為每條規(guī)則的輸出量的加權(quán)平均,即其中
286.2.2系統(tǒng)結(jié)構(gòu)根據(jù)上面給出的模糊模型,可以設(shè)計(jì)出如圖6-4所示的模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。圖中所示為MIMO系統(tǒng),它是上面討論的MISO系統(tǒng)的簡單推廣。圖6-429
由圖可見,該網(wǎng)絡(luò)由前件網(wǎng)絡(luò)和后件網(wǎng)絡(luò)兩部分組成,前件網(wǎng)絡(luò)用來匹配模糊規(guī)則的前件,后件網(wǎng)絡(luò)用來產(chǎn)生模糊規(guī)則的后件。
(1)前件網(wǎng)絡(luò)前件網(wǎng)絡(luò)由4層組成。第一層為輸入層。它的每個(gè)節(jié)點(diǎn)直接與輸入向量的各分量連接,它起著將輸入值x=[x1x2…xn]T傳送到下一層的作用。該層的節(jié)點(diǎn)數(shù)N1=n。30第二層每個(gè)節(jié)點(diǎn)代表一個(gè)語言變量值,如NM,PS等。它的作用是計(jì)算各輸入分量屬于各語言變量值模糊集合的隸屬度后函數(shù),其中。n是輸入量的維數(shù),是的模糊分割數(shù)。例如,若隸屬函數(shù)采用高斯函數(shù)表示的鈴形函數(shù),則其中和分別表示隸屬函數(shù)的中心和寬度。該層的節(jié)點(diǎn)總數(shù)。
31第三層的每個(gè)節(jié)點(diǎn)代表一條模糊規(guī)則,它的作用是用來匹配模糊規(guī)則的前件,計(jì)算出每條規(guī)則的適應(yīng)度,即或該層的節(jié)點(diǎn)總數(shù)N3=m。對(duì)于給定的輸入,只有在輸入點(diǎn)附近的語言變量值才有較大的隸屬度值,遠(yuǎn)離輸入點(diǎn)的語言變量值的隸屬度或者很?。ǜ咚闺`屬度函數(shù))或者為0(三角形隸屬度函數(shù))。當(dāng)隸屬度函數(shù)很?。ɡ缧∮?.05)時(shí)近似取為0。因此在中只有少量節(jié)點(diǎn)輸出非0,而多數(shù)節(jié)點(diǎn)的輸出為0,這一點(diǎn)類似于局部逼近網(wǎng)絡(luò)。其中32第四層的節(jié)點(diǎn)數(shù)與第三層相同,N4=N3=m,它所實(shí)現(xiàn)的是歸一化計(jì)算,即
33(2)后件網(wǎng)絡(luò)后件網(wǎng)絡(luò)由r個(gè)結(jié)構(gòu)相同的并列子網(wǎng)絡(luò)所組成,每個(gè)子網(wǎng)絡(luò)產(chǎn)生一個(gè)輸出量。子網(wǎng)絡(luò)的第一層是輸入層,它將輸入變量傳送到第二層。輸入層中第0個(gè)節(jié)點(diǎn)的輸入值,它的作用是提供模糊規(guī)則后件中的常數(shù)項(xiàng)。子網(wǎng)絡(luò)的第二層共有m各節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)代表一條規(guī)則,該層的作用是計(jì)算每一條規(guī)則的后件,即
34子網(wǎng)絡(luò)的第三層是計(jì)算系統(tǒng)的輸出,即
可見,是各規(guī)則后件的加權(quán)和,加權(quán)系數(shù)為各模糊規(guī)則的經(jīng)歸一化的使用度,也即前件網(wǎng)絡(luò)的輸出用作后件網(wǎng)絡(luò)第三層的連接權(quán)值。至此,圖2-49所示的神經(jīng)網(wǎng)絡(luò)完全實(shí)現(xiàn)了Takagi-Sugeno的模糊系統(tǒng)模型。
356.2.3學(xué)習(xí)方法假設(shè)各輸入分量的模糊分割數(shù)是預(yù)先確定的,那么需要學(xué)習(xí)的參數(shù)主要是后件網(wǎng)絡(luò)的連接權(quán)()以及前件網(wǎng)絡(luò)第二層各節(jié)點(diǎn)隸屬函數(shù)的中心值及寬度。設(shè)取誤差代價(jià)函數(shù)為
其中
和分別表示期望輸出和實(shí)際輸出。
36
下面首先給出參數(shù)的學(xué)習(xí)算法。其中。下面討論及的學(xué)習(xí)問題,這時(shí)可將參數(shù)固定。從而圖6-4可以簡化為如圖6-5所示。這時(shí)每條規(guī)則的后件在簡化結(jié)構(gòu)中變成了最后一層的連接權(quán)。
37圖6-5基于Takagi-Sugeno模型的模糊神經(jīng)網(wǎng)絡(luò)簡化結(jié)構(gòu)圖38比較圖6-5與圖6-2可以發(fā)現(xiàn),該簡化結(jié)構(gòu)與基于標(biāo)準(zhǔn)模型的模糊神經(jīng)網(wǎng)絡(luò)具有完全相同的結(jié)構(gòu),這時(shí)只需令最后一層的連接權(quán),則完全可以借用前面已得的結(jié)果,即
39其中當(dāng)and采用取小運(yùn)算時(shí),則當(dāng)是第k個(gè)規(guī)則節(jié)點(diǎn)輸入的最小值時(shí)否則當(dāng)and采用相乘運(yùn)算時(shí),則當(dāng)是第k個(gè)規(guī)則節(jié)點(diǎn)的一個(gè)輸入時(shí)否則40最后求得其中
為學(xué)習(xí)率,
41對(duì)于上面介紹的兩種模糊神經(jīng)網(wǎng)絡(luò),當(dāng)給定一個(gè)輸入時(shí)網(wǎng)絡(luò)(或前件網(wǎng)絡(luò))第三層的中只有少量元素非0,其余大部分元素均為0。因而,從x到
的映射與RBF神經(jīng)網(wǎng)絡(luò)的非線性映射非常類似。所以該模糊神經(jīng)網(wǎng)絡(luò)也是局部逼近網(wǎng)絡(luò)。其中第二層的隸屬度函數(shù)類似于基函數(shù)。
42模糊神經(jīng)網(wǎng)絡(luò)雖然也是局部逼近網(wǎng)絡(luò),但是它是按照模糊系統(tǒng)模型建立的,網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)及所有參數(shù)均有明顯的物理意義,因此這些參數(shù)的初值可以根據(jù)系統(tǒng)的模糊或定性的知識(shí)來加以確定,然后利用上述的學(xué)習(xí)算法可以很快收斂到要求的輸入輸出關(guān)系,這是模糊神經(jīng)網(wǎng)絡(luò)比前面單純的神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)所在。同時(shí)由于它具有神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),因而參數(shù)的學(xué)習(xí)和調(diào)整比較容易,這是它比單純的模糊邏輯系統(tǒng)的優(yōu)點(diǎn)所在。
43基于Takagi-Sugeno模型的模糊神經(jīng)網(wǎng)絡(luò)可以從另一角度來認(rèn)識(shí)它的輸入輸出映射關(guān)系,若各輸入分量的分割是精確的,即相當(dāng)于隸屬度函數(shù)為互相拼接的超矩形函數(shù),則網(wǎng)絡(luò)的輸出相當(dāng)于是原光滑函數(shù)的分段線性近似,即相當(dāng)于用許多塊超平面來擬合一個(gè)光滑曲面。網(wǎng)絡(luò)中的參數(shù)便是這些超平面方程的參數(shù),這樣只有當(dāng)分割越精細(xì)時(shí),擬合才能越準(zhǔn)確。而實(shí)際上這里的模糊分割互相之間是有重疊的,因此即使模糊分割數(shù)不多,也能獲得光滑和準(zhǔn)確的曲面擬合。
44基于上面的理解,可以幫助我們選取網(wǎng)絡(luò)參數(shù)的初值。例如,若根據(jù)樣本數(shù)據(jù)或根據(jù)其它先驗(yàn)知識(shí)已知輸出曲面的大致形狀時(shí),可根據(jù)這些形狀來進(jìn)行模糊分割。若某些部分曲面較平緩,則相應(yīng)部分的模糊分割可粗些;反之若某些部分曲面變化劇烈,則相應(yīng)部分的模糊分割需要精細(xì)些。在各分量的模糊分割確定后,可根據(jù)各分割子區(qū)域所對(duì)應(yīng)的曲面形狀用一個(gè)超平面來近似,這些超平面方程的參數(shù)即作為的初值。由于網(wǎng)絡(luò)還要根據(jù)給定樣本數(shù)據(jù)進(jìn)行學(xué)習(xí)和訓(xùn)練。因而初值參數(shù)的選擇井不要求很精確。但是根據(jù)上述的先驗(yàn)知識(shí)所作的初步選擇卻是非常重要的,它可避免陷入不希望的局部極值并大大提高收斂的速度,這一點(diǎn)對(duì)于實(shí)時(shí)控制是尤為重要的。
456.3自適應(yīng)神經(jīng)模糊系統(tǒng)及其MATLAB實(shí)現(xiàn)
盡管模糊推理系統(tǒng)的設(shè)計(jì)(隸屬度函數(shù)及模糊規(guī)則的建立)不主要依靠對(duì)象的模型,但是它卻相當(dāng)依靠專家或操作人員的經(jīng)驗(yàn)和知識(shí)。若缺乏這樣的經(jīng)驗(yàn),則很難期望它能獲得滿意的控制效果。神經(jīng)網(wǎng)絡(luò)系統(tǒng)的一大特點(diǎn)就是它的自學(xué)習(xí)功能,將這種自學(xué)習(xí)的方法應(yīng)用于對(duì)模型特征的分析與建模上,產(chǎn)生了自適應(yīng)的神經(jīng)網(wǎng)絡(luò)技術(shù)。這種自適應(yīng)的神經(jīng)網(wǎng)絡(luò)技術(shù)對(duì)于模糊系統(tǒng)的模型建立(模糊規(guī)則庫的建立)是非常有效的工具。而自適應(yīng)神經(jīng)模糊系統(tǒng)的就是基于數(shù)據(jù)的建模方法,該系統(tǒng)中的模糊隸屬度函數(shù)及模糊規(guī)則是通過對(duì)大量已知數(shù)據(jù)的學(xué)習(xí)得到的,而不是基于經(jīng)驗(yàn)或是直覺任意給定的,這對(duì)于那些特性還不被人們所完全了解或者特性非常復(fù)雜的系統(tǒng)尤為重要。46在MATLAB模糊邏輯工具箱中,提供了有關(guān)對(duì)模糊神經(jīng)系統(tǒng)建模和初始化模糊推理系統(tǒng)的函數(shù),如表6-1所示。表6-1模糊神經(jīng)系統(tǒng)函數(shù)
函數(shù)名功能anfis()自適應(yīng)神經(jīng)模糊系統(tǒng)的建模函數(shù)genfis1()采用網(wǎng)格分割方式生成模糊推理系統(tǒng)函數(shù)476.3.1采用網(wǎng)格分割方式生成模糊推理系統(tǒng)函數(shù)函數(shù)genfis1()可為訓(xùn)練自適應(yīng)神經(jīng)模糊系統(tǒng)(AdaptiveNeuro-FuzzyInferenceSystem,ANFIS)產(chǎn)生Takagi-Sugeno型模糊系統(tǒng)(FuzzyInferenceSystem,F(xiàn)IS)結(jié)構(gòu)的初值(隸屬度函數(shù)參數(shù)的初值),它采用網(wǎng)格分割的方式根據(jù)給定數(shù)據(jù)集生成一個(gè)模糊推理系統(tǒng),一般與函數(shù)anfis()配合使用。由genfisl()生成的模糊推理系統(tǒng)的輸入和屬度函數(shù)的類型和數(shù)目可以在使用時(shí)指定,也可以采用缺省值。該函數(shù)的調(diào)用格式為:fisMat=genfisl(data)fisMat=genfisl(data,numMFs,inMFType,outMFType)48其中,data為給定的輸入輸出數(shù)據(jù)集合,除了最后一列為輸出數(shù)據(jù)外,其余列均表示輸入數(shù)據(jù);numMFs為一向量,其各個(gè)分量用于指定每個(gè)輸入語言變量的隸屬度函數(shù)的數(shù)量,如果每個(gè)輸入的隸屬度函數(shù)的數(shù)量相同,則只需輸入標(biāo)量值;inMFType為一字符串陣列,其每一列指定一個(gè)輸入變量的隸屬度類型,如果類型相同,則該參數(shù)將變成一個(gè)一維的字符串;outMFType指定輸出隸屬度類型的字符串,由于只能采用Takagi-Sugeno型系統(tǒng),因此系統(tǒng)只能有一個(gè)輸出,其類型僅取linear或constant;fisMat為生成的模糊推理系統(tǒng)矩陣。當(dāng)僅使用一個(gè)輸入?yún)?shù)而不指定隸屬度函數(shù)個(gè)數(shù)和類型時(shí),將使用缺省值,即輸入隸屬度函數(shù)個(gè)數(shù)為2,輸入隸屬度函數(shù)類型為鐘型(gbellmf)曲線,輸出隸屬度函數(shù)類型為線性(linear)曲線。49例6-1利用函數(shù)genfis1()產(chǎn)生一個(gè)兩輸入單輸出的模糊推理系統(tǒng)。其中要求輸入隸屬度函數(shù)分別為
型(pimf)和三角型(trimf),分割數(shù)分別為3和7。解根據(jù)以下MATLAB程序,可得由函數(shù)genfis1()生成的ANFIS系統(tǒng)訓(xùn)練前的初始隸屬度函數(shù)曲線,如圖6-6所示。%ex6_1.m506.3.2自適應(yīng)神經(jīng)模糊系統(tǒng)的建模函數(shù)在MATLAB模糊邏輯工具箱中,提供了對(duì)基于Takagi-Sugeno型模型的自適應(yīng)神經(jīng)模糊推理系統(tǒng)ANFIS的建模方法,該模糊推理系統(tǒng)利用BP反向傳播算法和最小二乘算法來完成對(duì)輸入/輸出數(shù)據(jù)對(duì)的建模。該系統(tǒng)為模糊建模的過程,提供了一種能夠從數(shù)據(jù)集中提取相應(yīng)信息(模糊規(guī)則)的學(xué)習(xí)方法。這種學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法非常相似,通過學(xué)習(xí)能夠有效地計(jì)算出隸屬度函數(shù)的最佳參數(shù),使得設(shè)計(jì)出來的Takagi-Sugeno型模糊推理系統(tǒng)能夠最好地模擬出希望的或是實(shí)際的輸入輸出關(guān)系。51相應(yīng)的函數(shù)為anfis(),該函數(shù)的輸出為一個(gè)三維或五維向量。當(dāng)未指定檢驗(yàn)數(shù)據(jù)時(shí),輸出向量為三維。anfis()支持采用輸出加權(quán)平均的一階或零階Takagi-Sugeno
型模糊推理,該函數(shù)的調(diào)用格式為:[Fis,error,stepsize]=anfis(trnData)[Fis,error,stepsize]=anfis(trnData,initFis)[Fis,error,stepsize]=anfis(trnData,initFis,trnOpt,dispOpt)[Fis,error,stepsize,chkFis,chkEr]=anfis(trnData,initFis,trnOpt,dispOpt,chkData)[Fis,error,stepsize,chkFis,chkEr]=anfis(trnData,initFis,trnOpt,dispOpt,chkData,optMethod)52其中,trnData為訓(xùn)練學(xué)習(xí)的輸入輸出數(shù)據(jù)矩陣,該矩陣的每一行對(duì)應(yīng)一組輸入輸出數(shù)據(jù),其中最后一列為輸出數(shù)據(jù)(該函數(shù)僅支持單輸出的Takagi-Sugeno型模糊系統(tǒng));initFis是指定初始的模糊推理系統(tǒng)參數(shù)(包括隸屬度函數(shù)類型和參數(shù))的矩陣,該矩陣可以使用函數(shù)fuzzy通過模糊推理系統(tǒng)編輯器生成,也可使用函數(shù)genfis1()由訓(xùn)練數(shù)據(jù)直接生成,函數(shù)genfis1()的功能采用網(wǎng)格分割法生成模糊推理系統(tǒng),其使用方法參見下文的說明。如果沒有指明該參數(shù),函數(shù)anfis()會(huì)自動(dòng)調(diào)用genfis1()來按照輸入輸出數(shù)據(jù)生成一個(gè)缺省初始FIS推理系統(tǒng)參數(shù),這里使用函數(shù)genfis1()的作用是先根據(jù)一定的專家經(jīng)驗(yàn)給出一個(gè)初始模糊系統(tǒng)的合適結(jié)構(gòu),在使用函數(shù)anfis()訓(xùn)練過程中,已經(jīng)給定的初始模糊系統(tǒng)的結(jié)構(gòu)(隸屬度函數(shù)的個(gè)數(shù),模糊規(guī)則數(shù)目)不會(huì)改變,只是對(duì)相應(yīng)的結(jié)構(gòu)參數(shù)進(jìn)行調(diào)整和優(yōu)化
.53trnOpt和dispOpt分別指定訓(xùn)練的有關(guān)選項(xiàng)和在訓(xùn)練執(zhí)行過程中MATLAB命令窗口的顯示選項(xiàng),參數(shù)trnOpt為一個(gè)五維向量,其各個(gè)分量的定義如下:trnOpt(l)為訓(xùn)練的次數(shù),缺省為10;trnOpt(2)為期望誤差,缺省為0;trnOPt(3)為初始步長,缺省為0.01;trnOpt(4)為步長遞減速率,缺省為0.9;trnOPt(5)為步長遞增速率,缺省為1.l。如果trnOpt的任一個(gè)分量為NaN(非數(shù)值,IEEE的標(biāo)準(zhǔn)縮寫)或被省略,則訓(xùn)練采用缺省參數(shù)。54學(xué)習(xí)訓(xùn)練的過程在訓(xùn)練參數(shù)得到指定值或訓(xùn)練誤差得到期望誤差時(shí)停止。訓(xùn)練過程中的步長調(diào)整采用如下的策略:當(dāng)誤差連續(xù)四次減小時(shí),則增加步長;當(dāng)誤差變化連續(xù)兩次出現(xiàn)振蕩即一次增加和一次減少交替發(fā)生,則減小步長。trnOpt的第四和第五個(gè)參數(shù)分別按照上述策略控制訓(xùn)練步長的調(diào)整;參數(shù)dispOpt用于控制訓(xùn)練過程中MATLAB命令窗口的顯示內(nèi)容,共有四個(gè)參數(shù),分別定義如下:dispOPt(l)—顯示ANFIS的信息,如輸入/輸出隸屬度函數(shù)的次數(shù),缺省為1;dispOPt(2)為顯示誤差測量,缺省為1;dispOPt(3)為顯示訓(xùn)練步長,缺省為l;dispOPt(4)為顯示最終結(jié)果,缺省為1。當(dāng)dispOpt的一個(gè)分量為0時(shí),則不顯示相應(yīng)內(nèi)容;如果為1或?yàn)镹aN或省略,則顯示相應(yīng)內(nèi)容;55
chkData參數(shù)為一個(gè)與訓(xùn)練數(shù)據(jù)矩陣有相同列數(shù)的矩陣,用于提供檢驗(yàn)數(shù)據(jù),當(dāng)提供檢驗(yàn)數(shù)據(jù)時(shí),anfis()返回對(duì)檢驗(yàn)數(shù)據(jù)具有最小均方根誤差的模糊推理系統(tǒng)fisMat2;optMethod為隸屬度函數(shù)參數(shù)訓(xùn)練中的可選最優(yōu)化方法,其中1表示混合方法(BP算法和最小二乘算法的組合),0表示BP方法,確省為1;參數(shù)fisMat1為學(xué)習(xí)完成后得到的對(duì)應(yīng)訓(xùn)練數(shù)據(jù)具有最小均方根誤差的模糊推理系統(tǒng)矩陣;error1為訓(xùn)練數(shù)據(jù)對(duì)應(yīng)的最小均方根誤差向量;stepsize為訓(xùn)練步長向量。當(dāng)指定檢驗(yàn)數(shù)據(jù)后,輸出向量為五維參數(shù)向量;參數(shù)fisMat2為對(duì)檢驗(yàn)數(shù)據(jù)具有最小均方根誤差的模糊推理系統(tǒng);error2為檢驗(yàn)數(shù)據(jù)對(duì)應(yīng)的最小均方根誤差。56例6-2建立一個(gè)自適應(yīng)神經(jīng)模糊推理系統(tǒng)對(duì)下列非線性函數(shù)進(jìn)行逼近。解根據(jù)以下MATLAB程序,可得如圖6-7所示的函數(shù)實(shí)際輸出和模糊推理系統(tǒng)輸出的曲線。%ex6_2.m57從圖6-7所示的結(jié)果曲線,可以看出,經(jīng)過訓(xùn)練以后的模糊系統(tǒng)基本能夠模擬原函數(shù)。如果將隸屬度函數(shù)改為3條,這時(shí)由于系統(tǒng)的結(jié)構(gòu)不足以反映數(shù)據(jù)的復(fù)雜特性,因此結(jié)果要差些。利用模糊推理編輯器(fuzzy)或第5章介紹的一些命令,可查看訓(xùn)練后的模糊系統(tǒng)out_fisMat的組成。例如,在MATLAB工作窗口中利用命令:fuzzy(out_fisMat),便可發(fā)現(xiàn)該系統(tǒng)輸入的隸屬度函數(shù)是5條高斯函數(shù),輸出的是5條線性的函數(shù)。586.3.3自適應(yīng)神經(jīng)模糊推理系統(tǒng)的圖形用戶界面編輯器為了進(jìn)一步方便用戶,在模糊邏輯工具箱中提供了建立自適應(yīng)神經(jīng)模糊推理系統(tǒng)的圖形界面工具,該工具以交互式圖形界面的形式集成了建立、訓(xùn)練和測試神經(jīng)模糊推理系統(tǒng)等各種功能。要啟動(dòng)該工具,只需在MATLAB命令窗口中鍵入命令:anfisedit,即可得到如圖6-8所示的圖形窗口界面。59自適應(yīng)神經(jīng)模糊推理系統(tǒng)圖形界面中菜單項(xiàng)File、Edit和View的功能與模糊推理系統(tǒng)圖形界面中的菜單項(xiàng)相同。另外,在該圖形窗口界面中包括了以下幾種主要功能:圖6-8anfis的圖形窗口界面601.加載數(shù)據(jù)通過界面上的檢查框可以選擇加載數(shù)據(jù)的類型,如訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)和演示數(shù)據(jù)等。為方便說明,這里選擇加載演示數(shù)據(jù)。加載了演示數(shù)據(jù)的圖形窗口顯示如圖6-10所示。在圖6-10的上部顯示了數(shù)據(jù)的變化情況。
圖6-10加載演示數(shù)據(jù)的anfis的圖形窗口界面
61在圖6-11的對(duì)話框中,要求輸入的信息包括輸入語言變量隸屬度函數(shù)的數(shù)目、類型和輸出隸屬度函數(shù)的類型等。選擇[OK]后自動(dòng)生成一個(gè)以anfis命名的網(wǎng)絡(luò)結(jié)構(gòu)。
2.生成模糊推理系統(tǒng)在生成模糊推理系統(tǒng)時(shí),也可通過檢查樞選擇模糊推理系統(tǒng)的生成方法,如網(wǎng)格分割法(Gridpartition)、減法聚類方法(Sub.clustering)等。當(dāng)用鼠標(biāo)單擊生成模糊推理系統(tǒng)的功能按鈕時(shí),系統(tǒng)會(huì)彈出一個(gè)對(duì)話框,要求指定模糊推理系統(tǒng)的有關(guān)信息,如圖6-11所示。圖6-11模糊推理系統(tǒng)的對(duì)話框62圖6-12anfis的訓(xùn)練后的誤差曲線3.訓(xùn)練神經(jīng)模糊推理系統(tǒng)在進(jìn)行神經(jīng)模糊推理系統(tǒng)的訓(xùn)練前,可以指定優(yōu)化的方法以及有關(guān)的優(yōu)化控制參數(shù)。對(duì)于前面加載的演示數(shù)據(jù),在進(jìn)行anfis的訓(xùn)練后,窗口的上部顯示了優(yōu)化過程中誤差的變化情況,如圖6-12所示。
63
4.測試anfis
在完成對(duì)該系統(tǒng)的訓(xùn)練后,可以進(jìn)一步對(duì)其進(jìn)行測試,在對(duì)訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行測試時(shí),可選擇網(wǎng)絡(luò)的輸出數(shù)據(jù)與訓(xùn)練數(shù)據(jù)(Trainingdata)進(jìn)行比較,也可選擇將其與另外提供的測試數(shù)據(jù)(Testingdata)或檢驗(yàn)數(shù)據(jù)(Checkingdata)進(jìn)行比較。這里選擇網(wǎng)絡(luò)的輸出數(shù)據(jù)與檢驗(yàn)數(shù)據(jù)(Checkingdata)進(jìn)行比較,比較結(jié)果如圖6-13所示,平均測試誤差大小為0.1461。
圖6-13anfis的測試結(jié)果64
5.查看自適應(yīng)神經(jīng)模糊推理系統(tǒng)的模型結(jié)構(gòu)
在anfis的圖形界面中,利用右上角的[Structure]按鈕可以方便地查看訓(xùn)練得到的anfis的網(wǎng)絡(luò)結(jié)構(gòu)。對(duì)應(yīng)上述演示數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖6-14所示。
圖6-14anfis的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)656.3.4自適應(yīng)神經(jīng)模糊推理系統(tǒng)在建模中的應(yīng)用模糊建模是指利用模糊系統(tǒng)逼近未知的非線性動(dòng)態(tài),從而逼近于整個(gè)系統(tǒng)。神經(jīng)在未知非線性的建模方面已顯示出良好的性能,同樣以模糊邏輯系統(tǒng)為基礎(chǔ)的模糊模型也可用于非線性動(dòng)態(tài)的建模,并顯示出優(yōu)良的性能。例6-3利用模糊推理系統(tǒng)對(duì)下列非線性函數(shù)進(jìn)行逼近。解利用以下MATLAB程序,可得如下均方根誤差和如圖6-15所示的曲線。%ex6_3.m計(jì)算結(jié)果:trnRMSE1=0.0100trnRMSE2=0.010066圖6-15信號(hào)逼近的ANFIS訓(xùn)練結(jié)果67在這個(gè)例子中,不但提供了訓(xùn)練數(shù)據(jù),而且提供了檢驗(yàn)數(shù)據(jù),兩種數(shù)據(jù)在輸入空間均勻采樣,如圖6-15(1)所示。圖6-15(2)顯示了由函數(shù)genfisl()根據(jù)訓(xùn)練數(shù)據(jù)生成的模糊推理系統(tǒng)的初始隸屬度函數(shù)曲線。從曲線可以看出,函數(shù)genfisl()按照均勻覆蓋輸入空間的原則構(gòu)造了訓(xùn)練前模糊推理系統(tǒng)的初始隸屬度函數(shù)。系統(tǒng)訓(xùn)練后模糊推理系統(tǒng)的隸屬度函數(shù)曲線,如圖6-15(3)所示。從圖中可以看出,經(jīng)過學(xué)習(xí)后的模糊推理系統(tǒng)提取了訓(xùn)練數(shù)據(jù)的局部特征。圖6-15(4)顯示了原函數(shù)的輸出與神經(jīng)模糊推理系統(tǒng)的輸出曲線。神經(jīng)模糊推理系統(tǒng)訓(xùn)練數(shù)據(jù)和檢驗(yàn)數(shù)據(jù)的均方根誤差均為0.01,這是由于這兩種數(shù)據(jù)在整個(gè)輸入空間均勻分布的必然結(jié)果。另外如果在MATLAB工作窗口中再此利用以下命令,便可得到訓(xùn)練數(shù)據(jù)和檢驗(yàn)數(shù)據(jù)的誤差變化過程曲線,可以看出它們非常接近,幾乎重合。>>figure;plot(error1);holdon;plot(error2,'r')68例6-4非線性系統(tǒng)為其中,f(.)為未知非線性函數(shù)。利用模糊推理系統(tǒng)對(duì)非線性函數(shù)f(.)進(jìn)行逼近。假設(shè)非線性函數(shù)f(.)為如例6-3所述的下列函數(shù)
解非線性函數(shù)的模糊建??衫美?-3所建系統(tǒng)文件ex6_3.fis,在此基礎(chǔ)上對(duì)整個(gè)系統(tǒng)進(jìn)行仿真的MATLAB程序如下,函數(shù)和系統(tǒng)的實(shí)際輸出與逼近輸出曲線如圖6-16所示。
%ex6_4.m69圖6-16函數(shù)和系統(tǒng)的實(shí)際輸出與逼近輸出曲線從圖6-16所示的函數(shù)和系統(tǒng)的實(shí)際輸出與逼近輸出曲線可以看出,模型輸出非常逼近于實(shí)際輸出。70例6-5
利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)的圖形界面編輯器(AnfisEditor),對(duì)例6-3所述的下列非線性函數(shù)進(jìn)行逼近。解①首先利用以下MATLAB程序,產(chǎn)生訓(xùn)練數(shù)據(jù)和檢驗(yàn)數(shù)據(jù)。%ex6_5.mnumPts=51;x=linspace(-1,1,numPts);y=0.5*sin(pi*x)+0.3*sin(3*pi*x)+0.1*sin(5*pi*x);data=[x'y'];trnData=data(1:2:numPts,:);chkData=data(2:2:numPts,:);71②啟動(dòng)自適應(yīng)神經(jīng)模糊推理系統(tǒng)的圖形界面編輯器,并加載數(shù)據(jù)在MATLAB工作空間,利用anfisedit命令啟動(dòng)自適應(yīng)神經(jīng)模糊推理系統(tǒng)編輯器,并分別加入訓(xùn)練數(shù)據(jù)trnData和檢驗(yàn)數(shù)據(jù)chkData,如圖6-17所示。圖6-17726.4模糊聚類及其MATLAB實(shí)現(xiàn)
對(duì)給定的數(shù)據(jù),聚類分析是許多分類和系統(tǒng)建模問題的基礎(chǔ)。聚類的目的是從大量的數(shù)據(jù)中抽取固有的特征,從而獲得系統(tǒng)行為的簡潔表示。常見的聚類方法有均值聚類、分層聚類和模糊聚類方法等。
73在MATLAB模糊邏輯工具箱中提供了對(duì)兩種聚類方法的支持,一種是模糊C-均值聚類方法,另一種是減聚類方法。有關(guān)函數(shù)如表6-2所示。表6-2模糊聚類函數(shù)
函數(shù)名功能fcm()模糊C-均值聚類函數(shù)subclust()減法聚類函數(shù)genfis2()基于減法聚類的模糊推理系統(tǒng)建模函數(shù)746.4.1模糊C-均值聚類函數(shù)
在模糊C-均值聚類方法中,每一個(gè)數(shù)據(jù)點(diǎn)按照一定的模糊隸屬度隸屬于某一聚類中心。這一聚類技術(shù)作為對(duì)傳統(tǒng)聚類技術(shù)的改進(jìn),JimBezdek于1981年提出。該方法首先隨機(jī)選取若干聚類中心,所有數(shù)據(jù)點(diǎn)都被賦予對(duì)聚類中心一定的模糊隸屬度,然后通過迭代方法不斷修正聚類中心,迭代過程以極小化所有數(shù)據(jù)點(diǎn)到各個(gè)聚類中心的距離與隸屬度值的加權(quán)和為優(yōu)化目標(biāo)。
75模糊C-均值聚類的輸出不是一個(gè)模糊推理系統(tǒng),而是聚類中心的列表以及每個(gè)數(shù)據(jù)點(diǎn)對(duì)各個(gè)聚類中心的隸屬度值。該輸出能夠被進(jìn)一步用來建立模糊推理系統(tǒng)。對(duì)應(yīng)模糊C-均值聚類方法的函數(shù)為fcm(),該函數(shù)的調(diào)用格式為[center,U,obj_fcn]=fcm(data,cluster_n)[center,U,obj_fcn]=fcm(data,cluster_n,options)76其中,輸入?yún)?shù)data為給定的數(shù)據(jù)集,矩陣data的每一行為一個(gè)數(shù)據(jù)點(diǎn)向量;參數(shù)cluster_n為聚類中心的個(gè)數(shù);輸入?yún)?shù)向量中的options為若干控制參數(shù),這些參數(shù)的定義如下:options(1)為分割矩陣的指數(shù)(缺省值為2);options(2)為最大迭代次數(shù)(缺省值為100);options(3)為迭代停止的誤差準(zhǔn)則(缺省值為1e-5);options(4)為迭代過程中的信息顯示(缺省值為1);center為迭代后得到的聚類中心;U為所有數(shù)據(jù)點(diǎn)對(duì)聚類中心的隸屬度函數(shù)矩陣;obj_fcn為目標(biāo)函數(shù)值在迭代過程中的變化值。聚類過程在達(dá)到最大次數(shù)或滿足停止誤差準(zhǔn)則時(shí)結(jié)束。
盡管函數(shù)fcm()的輸出不是一個(gè)模糊推理系統(tǒng),而是聚類中心的列表以及每個(gè)數(shù)據(jù)點(diǎn)對(duì)各個(gè)聚類中心的隸屬度值,但該函數(shù)的輸出能夠進(jìn)一步用來建立模糊推理系統(tǒng)。77例6-6利用模糊C-均值聚類方法將一組隨機(jī)給定的二維數(shù)據(jù)分為三類。
解利用以下MATLAB程序,可產(chǎn)生如圖6-26所示的一組隨機(jī)給定的二維數(shù)據(jù),其模糊聚類結(jié)果,如圖6-27所示。%ex6_6.m圖6-26隨機(jī)給定的二維數(shù)據(jù)圖6-27模糊C-均值分類結(jié)果
786.4.2減法聚類函數(shù)
減法聚類方法將每個(gè)數(shù)據(jù)點(diǎn)作為可能的聚類中心,并根據(jù)各個(gè)數(shù)據(jù)點(diǎn)周圍的數(shù)據(jù)點(diǎn)密度來計(jì)算該點(diǎn)作為聚類中心的可能性。被選為聚類中心的數(shù)據(jù)點(diǎn)周圍具有最高的數(shù)據(jù)點(diǎn)密度,同時(shí)該數(shù)據(jù)點(diǎn)附近的數(shù)據(jù)點(diǎn)被排除作為聚類中心的可能性;在選除第一個(gè)聚類中心后,從剩余的可能作為聚類中心的數(shù)據(jù)點(diǎn)中,繼續(xù)采用類似的方法選擇下一個(gè)聚類中心。這一過程一直持續(xù)到所有剩余的數(shù)據(jù)點(diǎn)作為聚類中心的可能性低于某一閥值時(shí)。在MATLAB模糊邏輯工具箱中,提供了函數(shù)subclust()來完成減法聚類的功能。該函數(shù)的調(diào)用格式為[C,S]=subclust(X,radii,XBounds,options)79其中
輸入矩陣X包含了用于聚類的數(shù)據(jù),X的每一行為一個(gè)數(shù)據(jù)點(diǎn)向量;向量radii用于在假定數(shù)據(jù)點(diǎn)位于一個(gè)單位超立方體的條件下,指定數(shù)據(jù)向量的每一維的聚類中心的影響范圍,即radii每一維的數(shù)值大小均在0到1之間,通常的取值范圍為0.2到0.5,如果數(shù)據(jù)點(diǎn)的維數(shù)為2,則radii=[0.50.25]指定了第一維數(shù)據(jù)的聚類中心的影響范圍為數(shù)據(jù)空間寬度的一半,而第二維數(shù)據(jù)的聚類中心的影響范圍為數(shù)據(jù)空間寬度的四分之一;XBounds為一個(gè)2
N的矩陣,其中N為數(shù)據(jù)的維數(shù)。該矩陣用于指定如何將X中的數(shù)據(jù)映射到一個(gè)單位超立方體中,其第一行和第二行分別包括了每以維數(shù)據(jù)被映射到單位超立方體的最小和最大取值。
80例如:XBounds=[-10-5;105]指定了第一位數(shù)據(jù)在[-1010]之間的取值將被映射到[01]區(qū)間中;而第二維數(shù)據(jù)相應(yīng)的區(qū)間范圍為[-55]。如果Xbounds為空或者沒有指定Xbounds,則缺省的映射范圍為所有數(shù)據(jù)點(diǎn)的最小和最大取值構(gòu)成的區(qū)間;參數(shù)向量options用于指定聚類算法的有關(guān)參數(shù),其定義如下:options(1)=squshFactor為squshFactor用于與聚類中心的影響范圍radii相乘來決定某一聚類中心鄰近的哪些數(shù)據(jù)點(diǎn)被排除作為聚類中心的可能性,缺省值為1.25;options(2)=acceptRatio為acceptRatio用于指定在選出第一個(gè)聚類中心后,只有某個(gè)數(shù)據(jù)點(diǎn)作為聚類中心的可能性值高于第一個(gè)聚類中心可能性值的一定比例(由acceptRatio的大小決定)才能被作為新的聚類中心,缺省值為0.5;
81options(3)=rejectRatio為rejectRatio用于指定在選出第一個(gè)聚類中心后,只有某個(gè)數(shù)據(jù)點(diǎn)作為聚類中心的可能性值低于第一個(gè)聚類中心可能性值的一定比例(由rejectRatio的大小決定)才能被排除作為聚類中心的可能性,其缺省值為0.15;options(4)=verbose為如果verbose為非零值,則聚類過程的有關(guān)信息將顯示到窗口中,其缺省值為0;函數(shù)的返回值C為聚類中心向量,向量S包含了數(shù)據(jù)點(diǎn)每一維聚類中心的影響范圍。例:>>[C,S]=subclust(X,0.5)>>[C,S]=subclust(X,[0.50.250.3],[],[2.00.80.7])82例6-7利用模糊減法聚類方法將一組隨機(jī)給定的二維數(shù)據(jù)分為兩類。
解利用以下MATLAB程序,得圖6-28所示的模糊聚類結(jié)果。%ex6_7.m在圖6-28所示的模糊聚類結(jié)果中,模糊聚類的中心用圓圈表示。當(dāng)radii=0.3時(shí),產(chǎn)生了12個(gè)模糊聚類中心;當(dāng)radii=0.5時(shí),僅產(chǎn)生了6個(gè)模糊聚類中心。
圖6-28模糊減法分類結(jié)果836.4.3基于減法聚類的模糊推理系統(tǒng)建模函數(shù)
在減法聚類的基礎(chǔ)上可以進(jìn)行模糊推理系統(tǒng)的建模,模糊邏輯工具箱提供的函數(shù)genfis2()能夠?qū)崿F(xiàn)這一功能。函數(shù)genfis2()是一種快速的單次算法,不同于那些基于疊代過程的算法,它并不進(jìn)行那些反復(fù)的優(yōu)化過程。該函數(shù)的調(diào)用格式為:
fisMat=genfis2(Xin,Xout,radii,Xbounds,options)其中,Xin和Xout為給定的輸入數(shù)據(jù)和輸出數(shù)據(jù);參數(shù)radii,Xbounds
和options分別為減法聚類的參數(shù),詳細(xì)說明參見減法聚類函數(shù)subclust();輸出參數(shù)fisMat為Sugeno型模糊推理系統(tǒng)的矩陣。該函數(shù)首先調(diào)用減法聚類函數(shù)subclust()對(duì)輸入輸出數(shù)據(jù)進(jìn)行減法聚類,以決定輸出和輸入語言變量的隸屬度函數(shù)個(gè)數(shù)和規(guī)則個(gè)數(shù),如何采用最小方差估計(jì)得到Sugeno型推理規(guī)則結(jié)論部分的參數(shù)。84例如以下MATLAB命令>>fisMat=genfis2(Xin,Xout,0.5)或>>fisMat=genfis2(Xin,Xout,[0.50.250.3])>>fisMat=genfis2(Xin,Xout,0.5,[-10-50;10520])
例6-8利用MATLAB模糊邏輯工具箱中,提供的一個(gè)程序文件tripdata.m,對(duì)一個(gè)地區(qū)的汽車流量和當(dāng)?shù)氐娜丝跔顩r關(guān)系采用模糊減法聚類的方法,進(jìn)行模糊系統(tǒng)的建模。
85解程序tripdata.m中用來分析和建模的數(shù)據(jù)來源于NewCastleCounty和Delaware的100個(gè)選擇地區(qū)的交通分析。數(shù)據(jù)考慮了五個(gè)人口統(tǒng)計(jì)學(xué)上的因素:人口數(shù)、住戶數(shù)、總共擁有的車輛數(shù)、平均家庭的收入數(shù)目以及總共的就業(yè)職位數(shù)目。由于各個(gè)數(shù)據(jù)之間的量級(jí)不同,而且對(duì)交通流量影響的程度不同,為了減小計(jì)算時(shí)截?cái)嗾`差帶來的影響,將各種初始的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行了一定比例的變換處理。該程序可以產(chǎn)生100個(gè)數(shù)據(jù)點(diǎn)的一組輸入/輸出數(shù)據(jù),其中75個(gè)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)(輸入數(shù)據(jù)和輸出數(shù)據(jù)分別存放在矩陣datin和datout中)。另外的25個(gè)數(shù)據(jù)作為檢驗(yàn)數(shù)據(jù)(輸入數(shù)據(jù)和輸出數(shù)據(jù)分別存放在矩陣chkdatin和chkdatout中),它與訓(xùn)練數(shù)據(jù)一起來確認(rèn)模型的有效性。MATLAB程序如下%ex6_8.m86結(jié)果顯示:trnRMSE=0.5276trnRMSE1=0.3277chkRMSE=0.6179chkRMSE1=0.5985minChkErr=0.5834n=52圖6-29通過模糊聚類產(chǎn)生的模糊模型的結(jié)果
由以上結(jié)果知,訓(xùn)練后的模型對(duì)于用來訓(xùn)練的數(shù)據(jù),均方根誤差為0.3277,它明顯小于神經(jīng)模糊推理系統(tǒng)在訓(xùn)練前的均方根誤差由0.5276。但訓(xùn)練前后的模型對(duì)于檢驗(yàn)數(shù)據(jù)的均方根誤差變化不大。87以上程序執(zhí)行后,還可得如圖6-29所示的模糊聚類產(chǎn)生的模糊模型的結(jié)果和如圖6-30所示的訓(xùn)練數(shù)據(jù)和檢驗(yàn)數(shù)據(jù)在訓(xùn)練過程中的誤差變化曲線。其中圖6-29的上圖為輸入數(shù)據(jù)的分布曲線;下圖為實(shí)際輸出與神經(jīng)模糊推理系統(tǒng)在訓(xùn)練后模型輸出的數(shù)據(jù)分布曲線,由此可見模型輸出與實(shí)際系統(tǒng)的輸出比較逼近。圖6-30訓(xùn)練數(shù)據(jù)和檢驗(yàn)數(shù)據(jù)的誤差變化曲線88由圖6-30所示的誤差變化曲線可以看出,在訓(xùn)練到第50步左右的時(shí)候,檢驗(yàn)數(shù)據(jù)的誤差(0.5834)是最小的。繼續(xù)訓(xùn)練時(shí),該誤差反而增加。而訓(xùn)練數(shù)據(jù)的誤差在第50步以后減小的速度也明顯變慢,這表明系統(tǒng)在第50步訓(xùn)練的結(jié)果可能是最符合實(shí)際情況的。一般在系統(tǒng)已經(jīng)與實(shí)際比較符合的情況下,繼續(xù)對(duì)系統(tǒng)采用訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練優(yōu)化,就可能出現(xiàn)過訓(xùn)練的情況。這樣得到的系統(tǒng)往往失去了應(yīng)有的一些概括性而單純追求訓(xùn)練數(shù)據(jù)的誤差減小,這樣的系統(tǒng)在使用時(shí)效果和性能往往不如那些具有更廣泛的適應(yīng)性但相對(duì)部分?jǐn)?shù)據(jù)誤差稍大的系統(tǒng)。896.4.4模糊C-均值和減法聚類的圖形用戶界面GUIMATLAB的模糊工具箱也提供了聚類的圖形用戶界面工具來實(shí)現(xiàn)函數(shù)subclust()和fcm()以及它們的所有參數(shù)選項(xiàng)。在MATLAB命令窗口中輸入命令:findc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋面防水勞務(wù)分包合同
- 文化創(chuàng)意產(chǎn)業(yè)發(fā)展項(xiàng)目投資合同書
- 運(yùn)輸承包合同書
- 吸糞車租賃合同
- 買賣中介居間合同
- 民宿預(yù)訂合同
- 鉆機(jī)承包合同
- 武漢工程大學(xué)郵電與信息工程學(xué)院《運(yùn)動(dòng)康復(fù)治療技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明衛(wèi)生職業(yè)學(xué)院《JavaWeb框架應(yīng)用開發(fā)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 永州師范高等專科學(xué)?!毒植拷馄蕦W(xué)1》2023-2024學(xué)年第二學(xué)期期末試卷
- 幼兒園實(shí)習(xí)指導(dǎo)課件
- 幼兒園繪本故事:《昆蟲運(yùn)動(dòng)會(huì)》 課件
- 數(shù)學(xué)與生活小報(bào)
- 挖掘數(shù)學(xué)專業(yè)課程的思政元素-以空間解析幾何為例
- 青島版五四制四年級(jí)上冊(cè)課件- 運(yùn)用加法運(yùn)算律簡便計(jì)算
- 兒科學(xué)教學(xué)課件腎病綜合征
- 2023高中物理步步高大一輪 第四章 專題強(qiáng)化七 圓周運(yùn)動(dòng)的臨界問題
- delta-臺(tái)達(dá)dvp eh系列plc使用說明書ehs
- Q∕GDW 12152-2021 輸變電工程建設(shè)施工安全風(fēng)險(xiǎn)管理規(guī)程
- 云南省地質(zhì)災(zāi)害群測群防手冊(cè)
- 集團(tuán)權(quán)屬公司管理制度
評(píng)論
0/150
提交評(píng)論