• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種模糊神經(jīng)網(wǎng)絡(luò)算法的案例教學(xué)探討

    2022-04-29 00:00:00劉金琨
    大學(xué)教育 2022年12期

    [摘 要]為了滿足人工智能教學(xué)發(fā)展需要,在教學(xué)方面需要加強(qiáng)對相關(guān)課程案例建設(shè)的研究。文章以模糊神經(jīng)網(wǎng)絡(luò)的教學(xué)為例,介紹模糊神經(jīng)網(wǎng)絡(luò)的算法和設(shè)計(jì)步驟,并通過Matlab仿真分析與模式識別問題相結(jié)合來開展教學(xué),深化學(xué)生對模糊神經(jīng)網(wǎng)絡(luò)算法的理解,提升神經(jīng)網(wǎng)絡(luò)課程教學(xué)案例建設(shè)水平,使學(xué)生具備一定的分析和解決問題的能力。

    [關(guān)鍵詞]模糊神經(jīng)網(wǎng)絡(luò);案例教學(xué);模式識別;教學(xué)改革

    [中圖分類號] G640 [文獻(xiàn)標(biāo)識碼] A [文章編號] 2095-3437(2022)12-0093-04

    案例教學(xué)是通過選擇典型的教學(xué)案例來進(jìn)行教學(xué)的一種模式。在人工智能的教學(xué)中,通過對典型算法的介紹及案例分析,可有效地激發(fā)學(xué)生的學(xué)習(xí)興趣,并提高學(xué)生分析問題的能力。案例教學(xué)法是提高教學(xué)效果的有效途徑,已成為一種重要的教學(xué)手段[1-2]。在人工智能的教學(xué)中,案例教學(xué)的研究還處于起步階段。在神經(jīng)網(wǎng)絡(luò)的課程教學(xué)中,如何將模糊神經(jīng)網(wǎng)絡(luò)與實(shí)際案例相結(jié)合以解決模式識別問題,并通過設(shè)計(jì)教學(xué)案例來展開教學(xué),是一個值得研究的、有意義的教學(xué)問題。

    一、案例教學(xué)設(shè)計(jì)

    (一)模糊神經(jīng)網(wǎng)絡(luò)基本知識

    在模糊系統(tǒng)中,模糊集、隸屬度函數(shù)和模糊規(guī)則的設(shè)計(jì)是建立在經(jīng)驗(yàn)知識基礎(chǔ)上的,這種設(shè)計(jì)方法存在很大的主觀性。將學(xué)習(xí)機(jī)制引入模糊系統(tǒng)中,不斷修改和完善隸屬函數(shù)和模糊規(guī)則,是模糊系統(tǒng)的發(fā)展方向。神經(jīng)網(wǎng)絡(luò)與模糊系統(tǒng)相結(jié)合,構(gòu)成了模糊神經(jīng)網(wǎng)絡(luò)[1],這是建立在BP網(wǎng)絡(luò)基礎(chǔ)上的一種多層神經(jīng)網(wǎng)絡(luò),可以稱為一種特殊的深度神經(jīng)網(wǎng)絡(luò)[2]。模糊神經(jīng)網(wǎng)絡(luò)在本質(zhì)上是將常規(guī)的神經(jīng)網(wǎng)絡(luò)賦予模糊輸入信號和模糊權(quán)值。模糊神經(jīng)網(wǎng)絡(luò)技術(shù)已經(jīng)在建模、模式識別和控制領(lǐng)域獲得了廣泛的應(yīng)用。

    模糊神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)步驟為:1.定義模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);2.設(shè)計(jì)輸入隸屬函數(shù)進(jìn)行模糊化;3.設(shè)計(jì)模糊控制規(guī)則;4.設(shè)計(jì)模糊推理算法;5.設(shè)計(jì)網(wǎng)絡(luò)權(quán)值的學(xué)習(xí)算法。

    (二)案例的設(shè)計(jì)

    案例的設(shè)計(jì)包括以下幾個步驟:1.介紹模糊神經(jīng)網(wǎng)絡(luò)的背景、發(fā)展歷史及研究意義,介紹國內(nèi)外相關(guān)代表性文獻(xiàn)[3];2.設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)、隸屬函數(shù)、模糊規(guī)則、模糊推理算法和網(wǎng)絡(luò)權(quán)值學(xué)習(xí)算法;3.設(shè)計(jì)一個模式識別實(shí)例,給出需要解決的問題,并進(jìn)行仿真實(shí)例的設(shè)計(jì); 4.制作PPT和開發(fā)Matlab數(shù)值仿真程序,并進(jìn)行仿真測試和分析;5.模糊神經(jīng)網(wǎng)絡(luò)算法與傳統(tǒng)算法(如BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò))的仿真比較。

    (三)案例分析

    在案例分析中,在介紹模糊神經(jīng)網(wǎng)絡(luò)的算法和一個模式識別案例的基礎(chǔ)上,設(shè)計(jì)一個模式識別問題,讓學(xué)生通過對給定案例背景進(jìn)行分析,依據(jù)模糊神經(jīng)網(wǎng)絡(luò)提出具體解決問題的方案。通過案例分析,可提高學(xué)生理解、運(yùn)用知識的能力。

    二、模糊神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)實(shí)例

    (一)網(wǎng)絡(luò)結(jié)構(gòu)與算法

    本文以2輸入1輸出的模糊神經(jīng)網(wǎng)絡(luò)為例進(jìn)行案例教學(xué)探討。模糊神經(jīng)網(wǎng)絡(luò)由輸入層、模糊化層、模糊推理層和輸出層構(gòu)成(見圖1)。

    [f 4輸出層][f 3模糊推理層][f 2模糊化層][f 1輸入層][[x1]] […][…]

    圖1 2輸入1輸出的模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

    模糊神經(jīng)網(wǎng)絡(luò)中信號傳播及各層的功能構(gòu)成如下。

    第一層:輸入層

    該層的各個節(jié)點(diǎn)直接與輸入層的各個輸入連接,將輸入量傳到下一層。該層的每個節(jié)點(diǎn)[i]的輸入輸出表示為:

    [f1(i)=x=[x1,x2]]" " " " " " " " (1)

    第二層:模糊化層

    模糊化是模糊神經(jīng)網(wǎng)絡(luò)的關(guān)鍵,采用隸屬函數(shù)對輸入進(jìn)行模糊化,常用的隸屬函數(shù)有10余種,其中高斯型隸屬函數(shù)是一種有代表性的隸屬函數(shù)。圖1中,針對每個輸入采用5個高斯型隸屬函數(shù)進(jìn)行模糊化,[cij]和[bj]分別是第[i]個輸入變量第[j]個模糊集合隸屬函數(shù)的中心點(diǎn)位置和寬度,該函數(shù)表示為:

    [f2(i, j)=exp- (f1(i)-cij)2b2j]" " " "(2)

    其中[i=1,2, j=1,2,3,4,5]。

    模糊化是模糊神經(jīng)網(wǎng)絡(luò)的關(guān)鍵。為了使輸入得到有效的映射,需要根據(jù)網(wǎng)絡(luò)輸入值的范圍設(shè)計(jì)隸屬函數(shù)參數(shù)。以輸入為[x=3sin2πt]為例,輸入值范圍為[-3,3],設(shè)計(jì)5個高斯型隸屬函數(shù)進(jìn)行模糊化,取[c=[-1.5" "-1" "0" 1" 1.5]],[bj=0.05]。

    第三層:模糊推理層

    該層通過與模糊化層的連接來完成模糊規(guī)則的匹配,各個節(jié)點(diǎn)之間通過模糊與運(yùn)算,即通過各個模糊節(jié)點(diǎn)的組合得到相應(yīng)的輸出。

    由于第1個輸入經(jīng)模糊化后輸出為5個,第2個輸入經(jīng)模糊化后輸出為5個,具有相同輸入的輸出之間不進(jìn)行組合,通過兩兩組合后,構(gòu)成25條模糊規(guī)則,每條模糊規(guī)則的輸出為:

    [f3(l)=f2(1, j1)f2(2, j2)]" " " "(3)

    其中[j1=1,2,3,4,5],[j2=1,2,3,4,5],[l=1,2,…,25]。

    第四層:輸出層

    輸出層為[f4],采用加權(quán)得到最后的輸出,即

    [f4=l=125w(l)?f3(l)]" " " " " (4)

    其中[w]為輸出節(jié)點(diǎn)與第三層各節(jié)點(diǎn)的連接權(quán)矩陣。

    取網(wǎng)絡(luò)輸出[y=f4],網(wǎng)絡(luò)輸入[x]與輸出y之間的非線性映射關(guān)系需要通過以下的模糊神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法進(jìn)行學(xué)習(xí)。

    (二)模糊神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法

    在神經(jīng)網(wǎng)絡(luò)模式識別中,項(xiàng)目組根據(jù)標(biāo)準(zhǔn)的輸入輸出模式,采用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,以標(biāo)準(zhǔn)的模式作為學(xué)習(xí)樣本進(jìn)行模糊神經(jīng)網(wǎng)絡(luò)訓(xùn)練,通過學(xué)習(xí)調(diào)整神經(jīng)網(wǎng)絡(luò)的連接權(quán)值。當(dāng)訓(xùn)練滿足要求后,得到的神經(jīng)網(wǎng)絡(luò)權(quán)值構(gòu)成了模式識別的知識庫。

    模糊神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程如下:正向傳播是采用算法式(1)至算式(4),輸入信號從輸入層經(jīng)模糊化層和模糊推理層傳向輸出層,若輸出層得到了期望的輸出,則學(xué)習(xí)算法結(jié)束;反之,則轉(zhuǎn)至反向傳播。反向傳播采用梯度下降法,調(diào)整神經(jīng)網(wǎng)絡(luò)的輸出層權(quán)值。

    理想的輸入輸出為[[xs,ys]],網(wǎng)絡(luò)第[l]個輸出與相應(yīng)理想輸出[ysl]的誤差為:

    [el=ysl-yl]

    第[p]個樣本的誤差性能指標(biāo)函數(shù)為:

    [Ep=12l=1Ne2l]" " " " " (5)

    其中[N]為網(wǎng)絡(luò)輸出層神經(jīng)元的個數(shù)。

    輸出層的權(quán)值通過以下方式來調(diào)整:

    [Δw(k)=-η?EP?w=-η?EP?e ?e?y ?y?w =ηe(k)f3]" (6)

    輸出層的權(quán)值學(xué)習(xí)算法為:

    [w(k)=w(k-1)+Δw(k)+α(w(k-1)-w(k-2))]" " " (7)

    其中[η]為學(xué)習(xí)速率,[α]為動量因子。

    在每次迭代中,項(xiàng)目組分別依次對各個樣本進(jìn)行訓(xùn)練,更新權(quán)值,直到所有樣本訓(xùn)練完畢,再進(jìn)行下一次迭代,直到滿足誤差性能指標(biāo)的要求為止。

    三、仿真實(shí)例

    取標(biāo)準(zhǔn)樣本3個,各個樣本的輸入輸出需要有所區(qū)別,如表1所示。所要解決的問題為:針對表1中的樣本進(jìn)行訓(xùn)練,使訓(xùn)練后的模糊神經(jīng)網(wǎng)絡(luò)具有模式識別能力, 即針對相同的輸入得到相同的輸出,相近的輸入得到相近的輸出。

    針對所要解決的問題,首先選擇模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),然后設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)算法,包括網(wǎng)絡(luò)的訓(xùn)練和測試兩部分。

    (一)模糊神經(jīng)網(wǎng)絡(luò)的訓(xùn)練

    首先,針對表1中的問題,設(shè)計(jì)3輸入2輸出的模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。針對每個輸入采用5個隸屬函數(shù)進(jìn)行模糊化,模糊神經(jīng)網(wǎng)絡(luò)的輸入輸出結(jié)構(gòu)為3-15-125-2,權(quán)值W的初始值取[-1" "+1]之間的隨機(jī)值,學(xué)習(xí)參數(shù)取[η=0.50,α=0.05]。針對表1中輸入的范圍,高斯型參數(shù)取為:

    [c=[c(i, j)]]=[-1.5" "-1" "0" "1" "1.5-15" "-1" "0" "1" "1.5-15" "-1" "0" "1" nbsp;1.5]和[bj=0.50,i=1,2,3, j=1,2,3,4,5]。

    采用學(xué)習(xí)算法算式(6)和算式(7),運(yùn)行網(wǎng)絡(luò)訓(xùn)練程序train_file.m,取網(wǎng)絡(luò)訓(xùn)練的最終誤差指標(biāo)為[E=10-20],經(jīng)過27次迭代,誤差指標(biāo)的變化如圖2所示。將網(wǎng)絡(luò)訓(xùn)練的最終權(quán)值保存在文件wfile.dat中。

    Matlab網(wǎng)絡(luò)訓(xùn)練程序:train_file.m

    %Fuzzy Neural Network Training for MIMO and Multi-samples

    clear all;

    close all;

    xite=0.50;

    alfa=0.05;

    bj=0.50;

    c=[-1.5 -1 0 1 1.5;

    -1.5 -1 0 1 1.5;

    -1.5 -1 0 1 1.5];

    w=rands(125,2);

    w_1=w;w_2=w_1;

    E=1.0;k=0;

    NS=3;" %three samples

    xs=[1 0 0;

    0 1 0;

    0 0 1]; %Ideal Input

    ys=[1 0;

    0 0.5;

    0 1];" "%Ideal Output

    while Egt;=1e-20

    k=k+1;

    times(k)=k;

    for s=1:1:NS" "%Begain training for each sample

    % Layer1: Input

    f1=xs(s,:);

    % Layer2: Fuzzification

    for i=1:1:3

    for j=1:1:5

    net2(i,j)=-(f1(i)-c(i,j))^2/bj^2;

    f2(i,j)=exp(net2(i,j));

    end

    end

    % Layer3: Fuzzy inference(5*5*5=125 rules)

    for j1=1:1:5

    for j2=1:1:5

    for j3=1:1:5

    ff3(j1,j2,j3)=f2(1,j1)*f2(2,j2)*f2(3,j3);

    end

    end

    end

    f3=[ff3(1,:),ff3(2,:),ff3(3,:),ff3(4,:),ff3(5,:)];

    % Layer4: Output

    f4=w_1'*f3';

    yn=f4;

    ey(s,:)=ys(s,:)-yn';

    d_w=xite*ey(s,:)'*f3;

    w=w_1+d_w'+alfa*(w_1-w_2);

    eL=0;

    y=ys(s,:);

    for L=1:1:2

    eL=eL+0.5*(y(L)-yn(L))^2;" "%Output error

    end

    e(s)=eL;

    E=0;

    if s==NS

    for s=1:1:NS

    E=E+e(s);

    end

    end

    w_2=w_1;

    w_1=w;

    end" "%End training for each sample

    Ek(k)=E;

    end" "%End of while

    figure(1);

    plot(times,Ek,'-or','linewidth',2);

    xlabel('k');ylabel('E');

    save wfile w;

    (二)模糊神經(jīng)網(wǎng)絡(luò)的測試

    采用訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)權(quán)值進(jìn)行測試,取7個3輸入2輸出樣本進(jìn)行測試,其中3個樣本為訓(xùn)練過的標(biāo)準(zhǔn)輸入,3個樣本與訓(xùn)練過的標(biāo)準(zhǔn)輸入樣本近似,1個樣本為新的輸入。

    采用模糊神經(jīng)網(wǎng)絡(luò)算法算式(1)至算式(4),運(yùn)行網(wǎng)絡(luò)測試程序test_file.m,調(diào)用文件wfile.dat,取一組實(shí)際樣本進(jìn)行測試,測試樣本及結(jié)果見表2所示。

    由仿真結(jié)果可見,相同的輸入得到相同的輸出,相近的輸入得到相近的輸出,如果是新的沒有經(jīng)過訓(xùn)練的樣本,則得到新的輸出。這表明模糊神經(jīng)網(wǎng)絡(luò)具有很好的非線性模式識別功能。

    Matlab網(wǎng)絡(luò)測試程序:test_file.m

    %Test Fuzzy Neural Network

    clear all;

    load wfile w;

    bj=0.50;

    c=[-1.5 -1 0 1 1.5;

    -1.5 -1 0 1 1.5;

    -1.5 -1 0 1 1.5];

    %N Samples

    x=[0.97 0.001 0.001;

    0 0.98 0;

    0.002 0 1.04;

    0.5 0.5 0.5;

    1 0 0;

    0 1 0;

    0 0 1];

    NS=7;

    for s=1:1:NS

    % Layer1:input

    f1=x(s,:);

    % Layer2:Fuzzification

    for i=1:1:3

    for j=1:1:5

    net2(i,j)=-(f1(i)-c(i,j))^2/bj^2;

    f2(i,j)=exp(net2(i,j));

    end

    end

    % Layer3:fuzzy inference(125 rules)

    for j1=1:1:5

    for j2=1:1:5

    for j3=1:1:5

    ff3(j1,j2,j3)=f2(1,j1)*f2(2,j2)*f2(3,j3);

    end

    end

    end

    f3=[ff3(1,:),ff3(2,:),ff3(3,:),ff3(4,:),ff3(5,:)];

    % Layer4:output

    f4=w'*f3';

    yn(s,:)=f4;

    end

    yn

    本仿真實(shí)例的Matlab仿真程序及其實(shí)例分析,可參考相關(guān)教材[3,4],也可登錄網(wǎng)站http://shi.buaa.edu.cn/liujinkun下載。

    四、案例分析與討論

    在案例的設(shè)計(jì)中,可針對一些具體的問題進(jìn)行討論,選取多種解決方案,以達(dá)到對知識的掌握和深刻理解,從而實(shí)現(xiàn)對知識點(diǎn)的總結(jié),討論的問題可以有以下幾個。目前國內(nèi)外的模糊神經(jīng)網(wǎng)絡(luò)現(xiàn)狀如何?模糊神經(jīng)網(wǎng)絡(luò)的進(jìn)一步發(fā)展方向?如要提高控制性能,模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及推理算法需要進(jìn)行哪些改進(jìn)?將傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(如BP網(wǎng)絡(luò)、RBF網(wǎng)絡(luò))與本算法相比較,各類算法的優(yōu)缺點(diǎn)是什么?如果采用其他語言編程(如C語言),如何進(jìn)行軟件實(shí)現(xiàn)?如將本文的算法進(jìn)行工程開發(fā),需要怎樣進(jìn)行硬件和軟件實(shí)現(xiàn)?

    五、結(jié)論

    本文以模糊神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)為例,介紹了模糊神經(jīng)網(wǎng)絡(luò)的基本設(shè)計(jì)步驟和分析方法,結(jié)合模式識別實(shí)例和Matlab仿真環(huán)境,將模糊神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的具體步驟納入各個教學(xué)環(huán)節(jié),培養(yǎng)學(xué)生的獨(dú)立分析和解決問題的能力,取得了較好的教學(xué)效果。在以后的教學(xué)工作中,需要不斷完善案例,使其更加深入地與課堂教學(xué)融合。

    [ 參 考 文 獻(xiàn) ]

    [1] TAKAGI T , SUGENO M. Fuzzy identification of systems and its application to modeling and control. IEEE Transaction on Systems, Man, and Cybernetics,1985,15(1):116-132.

    [2] 段艷杰,呂宜生,張杰,等.深度學(xué)習(xí)在控制領(lǐng)域的研究現(xiàn)狀與展望[J].自動化學(xué)報,2016(5):643-654.

    [3] 劉金琨.智能控制[M].5版.北京:電子工業(yè)出版社,2021.

    [4] 劉金琨,沈曉蓉,趙龍.系統(tǒng)辨識理論及MATLAB仿真[M].2版.北京:電子工業(yè)出版社,2020.

    [5] LIN C T , PAL N R , WU S L , et al. An Interval Type-2 Neural Fuzzy System for Online System Identification and Feature Elimination[J]. IEEE Transactions on Neural Networks amp; Learning Systems, 2015(7):1442-1455.

    [6] LIU Y T , LIN Y Y , WU S L , et al. Brain Dynamics in Predicting Driving Fatigue Using a Recurrent Self-Evolving Fuzzy Neural Network[J]. IEEE Transactions on Neural Networks and Learning Systems, 2016(2):347-360.

    [7] LIN Y Y , CHANG J Y , LIN C T . Identification and Prediction of Dynamic Systems Using an Interactively Recurrent Self-Evolving Fuzzy Neural Network[J]. IEEE Transactions on Neural Networks amp; Learning Systems, 2013(2):310-321.

    [8] LIN Y Y , LIAO S H , CHANG J Y , et al. Simplified Interval Type-2 Fuzzy Neural Networks[J]. IEEE Transactions on Neural Networks amp; Learning Systems, 2014(5):959-969.

    [責(zé)任編輯:蘇祎穎]

    锦州市| 凉城县| 饶阳县| 普宁市| 县级市| 綦江县| 文化| 山东| 泽普县| 洛隆县| 海伦市| 石景山区| 隆化县| 阿尔山市| 巩留县| 科尔| 普安县| 宜宾县| 珠海市| 新安县| 叶城县| 商城县| 肥东县| 女性| 龙山县| 山东| 怀远县| 昌黎县| 佳木斯市| 称多县| 嵩明县| 上犹县| 六盘水市| 泰宁县| 鄯善县| 枞阳县| 神木县| 安溪县| 贵阳市| 万全县| 澳门|