版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 中 南 大 學(xué)</b></p><p> 基于Delphi的神經(jīng)網(wǎng)絡(luò)</p><p><b> 系統(tǒng)辨識</b></p><p> 學(xué) 院:信息科學(xué)與工程學(xué)院</p><p> 專業(yè)班級:自 動 化 ****</p><p> 姓
2、 名:********</p><p> 學(xué) 號:**********</p><p> 指導(dǎo)老師:*********</p><p><b> 第一章 緒論</b></p><p><b> 1.1 訓(xùn)練目的</b></p><p> 能針對題目獨立
3、展開調(diào)研,查閱相關(guān)教材、論文和數(shù)字文獻(xiàn)資料,在此基礎(chǔ)上找到解決問題的方法和思路,并做好實施方案;</p><p> 了解辨識系統(tǒng)的原理和基本方法,重點掌握基于神經(jīng)網(wǎng)絡(luò)非線性系統(tǒng)辨識方法;</p><p> 了解BP神經(jīng)網(wǎng)絡(luò)及其在系統(tǒng)辨識建模中的應(yīng)用;</p><p> 能設(shè)計理想的神經(jīng)網(wǎng)絡(luò)(結(jié)構(gòu)、隱層數(shù)及其節(jié)點數(shù)),分析其非線性映射能力如何保證及其在系統(tǒng)辨識中
4、具有良好的泛化能力;</p><p> 熟悉Delphi開發(fā)環(huán)境,能在該環(huán)境下實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)對不同的非線性系統(tǒng)的辨識;</p><p> 神經(jīng)網(wǎng)絡(luò)的設(shè)計和分析過程中,設(shè)計者需融入自己的細(xì)想,發(fā)揮其主觀能動性,尤其需適當(dāng)改進(jìn)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,以保證算法的收斂性和穩(wěn)定性;</p><p> 培養(yǎng)綜合運用基礎(chǔ)理論知識獨立分析和解決問題的能力;</p>
5、<p> 加深對基礎(chǔ)理論部分的理解的同時,提高實踐能力。</p><p> 1.2 工程訓(xùn)練內(nèi)容和基本要求</p><p> 熟悉Delphi開發(fā)環(huán)境,實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的構(gòu)件,繪制仿真曲線;</p><p> 采用BP神經(jīng)網(wǎng)絡(luò)辨識非線性擴展自回歸滑動平均模型(NARMAX),模型的參數(shù)和結(jié)構(gòu)自行設(shè)置,最后具有代表性;</p><
6、;p> 設(shè)計可視化界面,能交互式地改變系統(tǒng)的階次和系統(tǒng)的參數(shù),并相應(yīng)地改變神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和算法,實時的顯示仿真曲線(輸入輸出數(shù)據(jù)的跟蹤曲線)和建模誤差曲線;</p><p> 根據(jù)仿真結(jié)果適當(dāng)修改或改進(jìn)神經(jīng)網(wǎng)絡(luò)的結(jié)果或?qū)W習(xí)算法,并分析各算法的收斂性和穩(wěn)定性;</p><p> 比較兩種或兩種以上的辨識方法(如采用不同的神經(jīng)網(wǎng)絡(luò)),根據(jù)系統(tǒng)辨識效果的好壞,分析造成實驗結(jié)果的原因,闡
7、述自己對此的觀點和改進(jìn)建議;</p><p> 必須有完整的可視化界面,利用數(shù)據(jù)或曲線作為實驗結(jié)果,具有一定的說服力;</p><p> 根據(jù)實驗結(jié)果, 分析你所采用的方法的合理性、優(yōu)越性和不足之處,要求體現(xiàn)自己的設(shè)計思想。</p><p> 1.3 工程訓(xùn)練的意義</p><p> 通過完成從用戶需求分析、Delphi界面設(shè)計到上機
8、編程、算法實現(xiàn)、調(diào)試和應(yīng)用等全過程,進(jìn)一步了解和掌握本書中所講解的內(nèi)容。</p><p><b> 程序設(shè)計流程</b></p><p><b> 程序設(shè)計流程如下:</b></p><p> 1、按照軟件工程學(xué)的方法,對需要開發(fā)的軟件進(jìn)行需求分析、可行性分析以及詳細(xì)的設(shè)計等;</p><p>
9、; 2、建立一個新的項目,根據(jù)需要建立所需要的窗體;</p><p> 3、根據(jù)需要向窗體中添加組件,設(shè)計窗體的外觀和組件的布局,即設(shè)計用戶界面;</p><p> 4、根據(jù)需要設(shè)置組件的相應(yīng)屬性;</p><p> 5、根據(jù)需要編寫事實響應(yīng)代碼;</p><p> 6、保存項目相關(guān)的所用文件,編譯、調(diào)試和運行程序。</p&g
10、t;<p> 第三章 Delphi界面設(shè)計</p><p><b> 2.1 設(shè)計要求</b></p><p> 1、顯示與BP算法的相關(guān)參數(shù),并可以修改其參數(shù);</p><p> 2、顯示通過BP算法逼近的訓(xùn)練曲線以及誤差曲線:</p><p> 3、可以選擇不同類型的函數(shù)曲線以此來驗證BP算
11、法。</p><p> 2.2 Delphi實現(xiàn)</p><p><b> 總的設(shè)計界面如下:</b></p><p><b> 具體相關(guān)代碼如下:</b></p><p> 此系統(tǒng)讀者可以手動改變BP算法的相關(guān)參數(shù),例如:輸入節(jié)點、學(xué)習(xí)速率、動量因子。界面如下圖:</p>&
12、lt;p> 界面顯示的相關(guān)代碼如下:</p><p> object Label1: TLabel</p><p><b> Left = 40</b></p><p><b> Top = 33</b></p><p> Width = 48</p><p>
13、; Height = 12</p><p> Caption = '輸入節(jié)點'</p><p> Font.Charset = ANSI_CHARSET</p><p> Font.Color = clWindowText</p><p> Font.Height = -12</p><p>
14、 Font.Name = '宋體'</p><p> Font.Style = []</p><p> ParentFont = False</p><p><b> end</b></p><p> object Label2: TLabel</p><p> Lef
15、t = 174</p><p><b> Top = 33</b></p><p> Width = 66</p><p> Height = 12</p><p> Caption = '學(xué)習(xí)速率η='</p><p> Font.Charset = ANSI_CHAR
16、SET</p><p> Font.Color = clWindowText</p><p> Font.Height = -12</p><p> Font.Name = '宋體'</p><p> Font.Style = []</p><p> ParentFont = False<
17、;/p><p><b> end</b></p><p> object Label3: TLabel</p><p> Left = 308</p><p><b> Top = 33</b></p><p> Width = 66</p><p&
18、gt; Height = 12</p><p> Caption = '動量因子α='</p><p> Font.Charset = ANSI_CHARSET</p><p> Font.Color = clWindowText</p><p> Font.Height = -12</p><p
19、> Font.Name = '宋體'</p><p> Font.Style = []</p><p> ParentFont = False</p><p><b> End</b></p><p> 系統(tǒng)通過BP算法現(xiàn)實的曲線圖界面如下:</p><p><
20、;b> 相關(guān)代碼如下: </b></p><p> object Chart1: TChart</p><p><b> Left = -8</b></p><p><b> Top = 204</b></p><p> Width = 409</p>&l
21、t;p> Height = 293</p><p> BackWall.Brush.Color = clWhite</p><p> BackWall.Brush.Style = bsClear</p><p> BackWall.Color = clSilver</p><p> Foot.Text.Strings = (&
22、lt;/p><p><b> 'k')</b></p><p> MarginBottom = 0</p><p> MarginLeft = 0</p><p> MarginRight = 0</p><p> MarginTop = 2</p><p
23、> Title.Text.Strings = (</p><p> '期望輸出y(k)、模型輸出ym(k)')</p><p> BackColor = clSilver</p><p> LeftAxis.ExactDateTime = False</p><p> LeftAxis.Grid.Visible
24、 = False</p><p> LeftAxis.Increment = 0.500000000000000000</p><p> LeftAxis.MinorTicks.Visible = False</p><p> LeftAxis.TicksInner.Visible = False</p><p> LeftAxis.
25、Title.Caption = 'y(k)、ym(k)'</p><p> Legend.LegendStyle = lsSeries</p><p> View3D = False</p><p> BevelInner = bvLowered</p><p> TabOrder = 0</p><
26、;p> object Series1: TLineSeries</p><p> Marks.ArrowLength = 8</p><p> Marks.Visible = False</p><p> SeriesColor = clRed</p><p> Title = 'y(k)'</p>
27、<p> Pointer.InflateMargins = True</p><p> Pointer.Style = psRectangle</p><p> Pointer.Visible = False</p><p> XValues.DateTime = False</p><p> XValues.Name
28、 = 'X'</p><p> XValues.Multiplier = 1.000000000000000000</p><p> XValues.Order = loAscending</p><p> YValues.DateTime = False</p><p> YValues.Name = 'Y&
29、#39;</p><p> YValues.Multiplier = 1.000000000000000000</p><p> YValues.Order = loNone</p><p><b> end</b></p><p> object Series2: TLineSeries</p>
30、<p> Marks.ArrowLength = 8</p><p> Marks.Visible = False</p><p> SeriesColor = clBlue</p><p> Title = 'ym(k)'</p><p> LinePen.Style = psDot</p>
31、<p> Pointer.InflateMargins = True</p><p> Pointer.Style = psSmallDot</p><p> Pointer.Visible = False</p><p> XValues.DateTime = False</p><p> XValues.Name =
32、 'X'</p><p> XValues.Multiplier = 1.000000000000000000</p><p> XValues.Order = loAscending</p><p> YValues.DateTime = False</p><p> YValues.Name = 'Y
33、9;</p><p> YValues.Multiplier = 1.000000000000000000</p><p> YValues.Order = loNone</p><p><b> end</b></p><p><b> end</b></p><p&g
34、t; object Chart2: TChart</p><p> Left = 396</p><p><b> Top = 204</b></p><p> Width = 389</p><p> Height = 293</p><p> BackWall.Brush.Colo
35、r = clWhite</p><p> BackWall.Brush.Style = bsClear</p><p> Foot.Text.Strings = (</p><p><b> 'k')</b></p><p> MarginBottom = 0</p><p&g
36、t; MarginLeft = 0</p><p> MarginRight = 0</p><p> MarginTop = 2</p><p> Title.Text.Strings = (</p><p> '建模誤差e(k)')</p><p> LeftAxis.ExactDate
37、Time = False</p><p> LeftAxis.Grid.Visible = False</p><p> LeftAxis.Increment = 0.100000000000000000</p><p> LeftAxis.MinorTicks.Visible = False</p><p> LeftAxis.Ti
38、cksInner.Visible = False</p><p> LeftAxis.Title.Caption = 'e(k)'</p><p> Legend.LegendStyle = lsSeries</p><p> Legend.ShadowSize = 0</p><p> View3D = False&
39、lt;/p><p> BevelInner = bvLowered</p><p> TabOrder = 1</p><p> object Series3: TLineSeries</p><p> Marks.ArrowLength = 8</p><p> Marks.Visible = False<
40、;/p><p> SeriesColor = clBlue</p><p> Title = 'e(k)'</p><p> Pointer.InflateMargins = True</p><p> Pointer.Style = psRectangle</p><p> Pointer.Vi
41、sible = False</p><p> XValues.DateTime = False</p><p> XValues.Name = 'X'</p><p> XValues.Multiplier = 1.000000000000000000</p><p> XValues.Order = loAscend
42、ing</p><p> YValues.DateTime = False</p><p> YValues.Name = 'Y'</p><p> YValues.Multiplier = 1.000000000000000000</p><p> YValues.Order = loNone</p>
43、<p><b> end</b></p><p> 選擇函數(shù)類型的界面如下:</p><p><b> 相關(guān)代碼如下:</b></p><p> object Label4: TLabel</p><p><b> Left = 40</b></p&g
44、t;<p><b> Top = 80</b></p><p> Width = 48</p><p> Height = 13</p><p> Caption = '輸入數(shù)字'</p><p> Font.Charset = DEFAULT_CHARSET</p>
45、<p> Font.Color = clWindowText</p><p> Font.Height = -11</p><p> Font.Name = 'MS Sans Serif'</p><p> Font.Style = []</p><p> ParentFont = False</p
46、><p><b> end</b></p><p> object mEdit: TEdit</p><p> Left = 126</p><p><b> Top = 28</b></p><p> Width = 41</p><p>
47、Height = 24</p><p> TabOrder = 0</p><p> Text = 'mEdit'</p><p><b> end</b></p><p> object etaEdit: TEdit</p><p> Left = 258</p&
48、gt;<p><b> Top = 28</b></p><p> Width = 41</p><p> Height = 24</p><p> TabOrder = 1</p><p> Text = 'etaEdit'</p><p><b&g
49、t; end</b></p><p> object alphaEdit: TEdit</p><p> Left = 384</p><p><b> Top = 28</b></p><p> Width = 41</p><p> Height = 24</p&
50、gt;<p> TabOrder = 2</p><p> Text = 'alphaEdit'</p><p><b> end</b></p><p> object Button1: TButton</p><p> Left = 216</p><p&g
51、t;<b> Top = 104</b></p><p> Width = 113</p><p> Height = 25</p><p> Caption = '線性函數(shù)1'</p><p> Font.Charset = DEFAULT_CHARSET</p><p&g
52、t; Font.Color = clWindowText</p><p> Font.Height = -11</p><p> Font.Name = 'MS Sans Serif'</p><p> Font.Style = []</p><p> ParentFont = False</p>&l
53、t;p> TabOrder = 3</p><p><b> end</b></p><p> object Button2: TButton</p><p> Left = 376</p><p><b> Top = 104</b></p><p> W
54、idth = 113</p><p> Height = 25</p><p> Caption = '差分函數(shù)2'</p><p> Font.Charset = DEFAULT_CHARSET</p><p> Font.Color = clWindowText</p><p> Font
55、.Height = -11</p><p> Font.Name = 'MS Sans Serif'</p><p> Font.Style = []</p><p> ParentFont = False</p><p> TabOrder = 4</p><p><b> end
56、</b></p><p> object Edit1: TEdit</p><p><b> Left = 40</b></p><p><b> Top = 104</b></p><p> Width = 129</p><p> Height =
57、24</p><p> TabOrder = 5</p><p><b> end</b></p><p> object BitBtn1: TBitBtn</p><p> Left = 528</p><p><b> Top = 104</b></p&g
58、t;<p> Width = 113</p><p> Height = 25</p><p> Caption = '非線性函數(shù)3'</p><p> TabOrder = 6</p><p><b> end</b></p><p> 確定與退出設(shè)計界
59、面如下:</p><p><b> 相關(guān)代碼如下:</b></p><p> object OKBtn: TButton</p><p> Left = 128</p><p><b> Top = 512</b></p><p> Width = 73</p
60、><p> Height = 33</p><p> Caption = '確定'</p><p> Default = True</p><p> ParentShowHint = False</p><p> ShowHint = True</p><p> TabO
61、rder = 2</p><p> OnClick = OKBtnClick</p><p><b> end</b></p><p> object BitBtn2: TBitBtn</p><p> Left = 512</p><p><b> Top = 512<
62、/b></p><p> Width = 65</p><p> Height = 33</p><p> Caption = '退出'</p><p> TabOrder = 5</p><p><b> end</b></p><p>&
63、lt;b> BP算法的實現(xiàn)</b></p><p> 3.1 BP算法簡介</p><p> BP算法又稱為誤差反向傳播算法,其學(xué)習(xí)過程可以描述如下:</p><p> 1、工作信號正向傳播:輸入信號從輸入層經(jīng)隱單元,傳向輸出層,在輸出端產(chǎn)生輸出信號,這是工作信號的正向傳播。在信號的向前傳遞過程中網(wǎng)絡(luò)的權(quán)值是固定不變的,每一層神經(jīng)元的狀態(tài)只
64、影響下一層神經(jīng)元的狀態(tài)。如果在輸出層不能得到期望的輸出,則轉(zhuǎn)入誤差信號反向傳播。</p><p> 2、誤差信號反向傳播:網(wǎng)絡(luò)的實際輸出與期望輸出之間差值即為誤差信號,誤差信號由輸出端開始逐層向前傳播,這是誤差信號的反向傳播。在誤差信號的反向傳播的過程中,網(wǎng)絡(luò)的權(quán)值由誤差信號反饋進(jìn)行調(diào)節(jié)。通過權(quán)值的不斷修改使網(wǎng)絡(luò)的實際輸出更接近期望輸出。</p><p><b> 3.2程序
65、實現(xiàn)如下</b></p><p><b> 相關(guān)參數(shù)定義</b></p><p><b> type</b></p><p> TForm1 = class(TForm)</p><p> Chart1: TChart;</p><p> Chart2:
66、 TChart;</p><p> Series1: TLineSeries;</p><p> Series2: TLineSeries;</p><p> Series3: TLineSeries;</p><p> OKBtn: TButton;</p><p> GroupBox1: TGroupBo
67、x;</p><p> Label1: TLabel;</p><p> mEdit: TEdit;</p><p> etaEdit: TEdit;</p><p> Label2: TLabel;</p><p> alphaEdit: TEdit;</p><p> Label
68、3: TLabel;</p><p> Button1: TButton;</p><p> Button2: TButton;</p><p> Label4: TLabel;</p><p> Edit1: TEdit;</p><p> Image1: TImage;</p><p&
69、gt; BitBtn1: TBitBtn;</p><p> ActionManager1: TActionManager;</p><p> MainMenu1: TMainMenu;</p><p> ImageList1: TImageList;</p><p> FileExit1: TFileExit;</p>
70、<p> ActionMainMenuBar1: TActionMainMenuBar;</p><p> BitBtn2: TBitBtn;</p><p> procedure OKBtnClick(Sender: TObject);</p><p> procedure ExitBtnClick(Sender: TObject);<
71、/p><p> procedure FormCreate(Sender: TObject);</p><p> procedure N3Click(Sender: TObject);</p><p><b> private</b></p><p> { Private declarations }</p>
72、;<p><b> public</b></p><p> { Public declarations }</p><p><b> end;</b></p><p> BP算法實現(xiàn),相關(guān)代碼如下:</p><p> procedure TForm1.OKBtnClick(S
73、ender: TObject);</p><p> const L=400;</p><p><b> var</b></p><p> u: array[-1..L]of real;</p><p> y: array[-2..L]of real;</p><p> ym, e: ar
74、ray[0..L]of real;</p><p> out1: array[1..3]of real; //輸入層輸出</p><p> wi, wik1, wik2, dwi: array of array of real; //輸入層至隱含層權(quán)值及其增量</p><p> wo, wok1, wok2, dwo: array of real; //隱含
75、層至輸出層權(quán)值及其增量</p><p> net2, out2, df: array of real; //隱含層輸入、輸出,df為S函數(shù)導(dǎo)數(shù)</p><p> k, i, j, m, n, v: integer;</p><p> Eta, alpha: real;</p><p> //學(xué)習(xí)速率、動量項因子</p>
76、<p><b> begin</b></p><p> n:=3; m:=StrToInt(mEdit.Text); //輸入層節(jié)點數(shù)n、隱含層節(jié)點數(shù)m</p><p> setLength(wi,n,m); setLength(wik1,n,m); //動態(tài)數(shù)組(下標(biāo)從0開始)</p><p> setLength(wik2
77、,n,m); setLength(dwi,n,m);</p><p> setLength(wo,m); setLength(wok1,m);</p><p> setLength(wok2,m); setLength(dwo,m);</p><p> setLength(net2,m); setLength(out2,m); setLength(df,m);
78、</p><p> eta:=StrToFloat(etaEdit.Text); //從界面提取數(shù)據(jù)</p><p> alpha:=StrToFloat(alphaEdit.Text);</p><p> u[-1]:=0; y[-2]:=0; y[-1]:=0;</p><p> for j:=0 to m-1 do //設(shè)定
79、初始權(quán)值</p><p><b> begin</b></p><p> wo[j]:=0.50*randG(0,1);</p><p> wok1[j]:=wo[j]; //wo(k-1)</p><p> wok2[j]:=wo[j]; //wo(k-2)</p><p> for
80、 i:=0 to n-1 do</p><p><b> begin</b></p><p> wi[i,j]:=0.50*randG(0,1);</p><p> wik1[i,j]:=wi[i,j]; //wi(k-1)</p><p> wik2[i,j]:=wi[i,j]; //wi(k-2)</p
81、><p><b> end;</b></p><p><b> end;</b></p><p> series1.Clear;</p><p> series2.Clear;</p><p> series3.Clear;</p><p>
82、//***************** 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程 ****************</p><p> v:=strtoint(edit1.Text);</p><p> for k:=0 to L do</p><p><b> begin</b></p><p><b> if v=1<
83、/b></p><p><b> then</b></p><p><b> begin</b></p><p><b> u[k]:=k;</b></p><p> y[k]:=power(k,1); //系統(tǒng)實際輸出(即期望輸出)</p><
84、;p><b> end</b></p><p><b> else</b></p><p><b> if v=2</b></p><p><b> then</b></p><p><b> begin</b><
85、;/p><p> u[k]:=sin(0.005*2*pi*k);</p><p> y[k]:=power(u[k-1],5)+(0.8+power(y[k-1],3))/(1+sqr(y[k-1])+power(y[k-2],4));</p><p><b> end</b></p><p> else if v
86、=3 then</p><p><b> begin</b></p><p><b> u[k]:=k;</b></p><p> y[k]:=power(k,2)/10000;</p><p><b> end;</b></p><p> o
87、ut1[1]:=u[k-1]; out1[2]:=y[k-1];out1[3]:=y[k-2]; //確定網(wǎng)絡(luò)輸入量</p><p> //計算隱含層輸入輸出及S函數(shù)的導(dǎo)數(shù)</p><p> for j:=0 to m-1 do</p><p><b> begin</b></p><p> net2[j]:=
88、0;</p><p> for i:=0 to n-1 do</p><p> net2[j]:=net2[j]+wik1[i,j]*out1[i];</p><p> out2[j]:=1/(1+exp(-net2[j]));</p><p> df[j]:=exp(-net2[j])/sqr(1+exp(-net2[j]));&l
89、t;/p><p><b> end;</b></p><p> //計算輸出層輸出(即模型輸出) </p><p> ym[k]:=0; </p><p> for j:=0 to m-1 do</p><p> ym[k]:=ym[k]+wok1[j]*out
90、2[j];</p><p> e[k]:=y[k]-ym[k]; //輸出誤差</p><p> //隱含層至輸出層權(quán)值的學(xué)習(xí)</p><p> for j:=0 to m-1 do</p><p><b> begin</b></p><p> dwo[j]:=eta*e[k]*out
91、2[j];</p><p> wo[j]:=wok1[j]+dwo[j]+alpha*(wok1[j]-wok2[j]);</p><p><b> end;</b></p><p> //輸入層至隱含層權(quán)值的學(xué)習(xí)</p><p> for i:=0 to n-1 do</p><p>
92、 for j:=0 to m-1 do</p><p><b> begin</b></p><p> dwi[i,j]:=eta*e[k]*wok1[j]*df[j]*out1[i];</p><p> wi[i,j]:=wik1[i,j]+dwi[i,j]+alpha*(wik1[i,j]-wik2[i,j]);</p>
93、<p><b> end;</b></p><p><b> //更新數(shù)據(jù)</b></p><p> for j:=0 to m-1 do</p><p><b> begin</b></p><p> wok2[j]:=wok1[j]; //wo(k-2
94、)</p><p> wok1[j]:=wo[j]; //wo(k-1)</p><p> for i:=0 to n-1 do</p><p><b> begin</b></p><p> wik2[i,j]:=wik1[i,j]; //wi(k-2)</p><p> wik1[i
95、,j]:=wi[i,j]; //wi(k-1)</p><p><b> end;</b></p><p><b> end;</b></p><p> series1.AddXY(k,y[k]); //曲線繪制</p><p> series2.AddXY(k,ym[k]);</p&
96、gt;<p> series3.AddXY(k,e[k]);</p><p><b> end;</b></p><p><b> end;</b></p><p> procedure TForm1.ExitBtnClick(Sender: TObject);</p><p>
97、;<b> begin</b></p><p><b> close;</b></p><p><b> end;</b></p><p><b> 實驗結(jié)果與分析</b></p><p> 4.1 線性函數(shù)逼近</p><p
98、> 輸入節(jié)點:8 學(xué)習(xí)速率:0.3 動量因子:0.05</p><p> 輸入節(jié)點:8 學(xué)習(xí)速率:0.5 動量因子:0.05</p><p> 分析:在進(jìn)行BP算法時,學(xué)習(xí)速率并不是取越大越好,如果取得太大,系統(tǒng)逼近的曲線會產(chǎn)生振蕩。一般的說來輸出單元的局部梯度比輸入端的大,可以使前者的學(xué)習(xí)速率小些。另外,有較多輸入端的神經(jīng)元其學(xué)習(xí)速率比有較少的輸入
99、端的神經(jīng)元其學(xué)習(xí)速率小些。</p><p> 4.2 非線性函數(shù)(平方函數(shù))逼近</p><p> 輸入節(jié)點:10 學(xué)習(xí)速率:0.5 動量因子:0.05</p><p> 輸入節(jié)點:10 學(xué)習(xí)速率:0.5 動量因子:0.02</p><p> 分析:在BP算法中,一定的范圍內(nèi)調(diào)整動量因子α可以提高逼近函數(shù)的
100、精度。</p><p> 4.3 差分函數(shù)逼近</p><p><b> 差分函數(shù)模型:</b></p><p> u[k]:=sin(0.005*2*pi*k);</p><p> y[k]:=power(u[k-1],5)+(0.8+power(y[k-1],3))/(1+sqr(y[k-1])+power(
101、y[k-2],4));</p><p> 輸入節(jié)點:10 學(xué)習(xí)速率:0.3 動量因子:0.05</p><p> 輸入節(jié)點:39 學(xué)習(xí)速率:0.3 動量因子:0.05</p><p> 分析:在BP算法中,輸入節(jié)點不應(yīng)設(shè)置的太大,否則過大會引起振蕩即網(wǎng)絡(luò)不穩(wěn)定。</p><p><b> 總結(jié)<
102、;/b></p><p> 本設(shè)計使用Delphi 7作為前臺操作界面實現(xiàn)對辨識系統(tǒng)的功能操作。本辨識系統(tǒng)實現(xiàn)了BP算法逼近函數(shù)曲線的基本功能,經(jīng)過調(diào)試運行,表明該系統(tǒng)具有可行性和可擴充性。但系統(tǒng)還有待進(jìn)一步的完善與規(guī)劃,操作系統(tǒng)還有待于進(jìn)一步的改善,使系統(tǒng)更加高效,更加人性化。</p><p> 通過幾周的設(shè)計練習(xí),從系統(tǒng)的需求分析開始,到概念設(shè)計,邏輯設(shè)計,再到最后的系統(tǒng)實施
103、與維護(hù),一步步走下來雖然感覺有點累,但每一步都獲益匪淺。認(rèn)認(rèn)真真完成每一步,直到完成整個系統(tǒng)之后,忽然有一種破繭而出的感覺。從這個設(shè)計中,不僅僅從實踐中鞏固提高了數(shù)據(jù)庫的相關(guān)知識,體會了設(shè)計一個系統(tǒng)的過程,更學(xué)到了一種設(shè)計分析的思想,一種能力。</p><p> 從系統(tǒng)的需求分析開始,到后來的每一步,都需要圍繞著一個整體的思路,一個工程的概念進(jìn)行,需要逐層的將系統(tǒng)一步步分解,細(xì)化。然后,分別實現(xiàn)每一個功能,每一
104、個模塊,最后將全部模塊整合起來,系統(tǒng)便成型了。在這幾周的課程設(shè)計中,遇到了各種各樣的問題,特別是delphi實現(xiàn)BP算法,以及與系統(tǒng)前臺的實現(xiàn)階段。由于第一次接觸相關(guān)的軟件,所以使用起來相當(dāng)?shù)某粤?,幾乎每一步都可能發(fā)生錯誤。為了解決這樣那樣的問題,我翻閱了不同的書籍,在網(wǎng)上搜索了大量的資料,一個一個的將問題解決掉。在這期間,無形中鍛煉了我分析問題,解決問題的能里,鍛煉了我自主學(xué)習(xí)的能力。</p><p> 在工
105、程訓(xùn)練期間,我體會到了學(xué)習(xí)的樂趣,體會到了付出之后獲得回報的喜悅與欣慰。感謝老師的大力幫助和支持,感謝我的同學(xué)與朋友,在我遇到各種各樣復(fù)雜問題的時候,給與我鼓勵和幫助。</p><p> 參考文獻(xiàn) (References)</p><p> [1]劉正元 《Delphi 程序設(shè)計與應(yīng)用教程》 中國水利水電出版社 2005</p><p> [2]許潔舟,林偉
106、鵬,林勝雄,來賓 《Delphi7 程序設(shè)計與實例》 冶金工業(yè)出版社 2003</p><p> [3]呂偉臣,霍言,高小山 《Delphi2005入門與提高》 清華大學(xué)出版社 2006</p><p> [4]周志德,張燕 《Delphi程序設(shè)計》 高等教育出版社 2004</p><p> [5]Fredrick M.Ham Ivica Kostanic
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于delphi的神經(jīng)網(wǎng)絡(luò)系統(tǒng)辨識側(cè)重理論
- 基于神經(jīng)網(wǎng)絡(luò)系統(tǒng)參數(shù)辨識的自適應(yīng)控制方法研究.pdf
- 基于神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識與控制.pdf
- 基于madaline的神經(jīng)網(wǎng)絡(luò)系統(tǒng)課程設(shè)計
- 基于神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識方法研究.pdf
- 基于Elman神經(jīng)網(wǎng)絡(luò)的換熱器系統(tǒng)動態(tài)辨識.pdf
- 基于神經(jīng)網(wǎng)絡(luò)的智能白酒勾調(diào)網(wǎng)絡(luò)系統(tǒng).pdf
- 基于神經(jīng)網(wǎng)絡(luò)的磁懸浮軸承系統(tǒng)辨識研究.pdf
- 基于聯(lián)想記憶神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識與控制.pdf
- 基于二型模糊神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識算法研究.pdf
- 基于神經(jīng)網(wǎng)絡(luò)的磁軸承系統(tǒng)辨識和控制研究.pdf
- 基于神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)地震反應(yīng)仿真與系統(tǒng)辨識.pdf
- 基于遞歸神經(jīng)網(wǎng)絡(luò)的非線性系統(tǒng)辨識研究.pdf
- 基于神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識與控制方法的研究.pdf
- 幾類神經(jīng)網(wǎng)絡(luò)系統(tǒng)解的存在性研究.pdf
- 酸軋機組人工神經(jīng)網(wǎng)絡(luò)系統(tǒng).pdf
- 基于神經(jīng)網(wǎng)絡(luò)的木材干燥模型辨識研究.pdf
- 基于BP神經(jīng)網(wǎng)絡(luò)的中醫(yī)體質(zhì)辨識研究.pdf
- 基于人工神經(jīng)網(wǎng)絡(luò)的非線性時變系統(tǒng)辨識研究.pdf
- 投影神經(jīng)網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性研究.pdf
評論
0/150
提交評論