基于delphi的神經網絡系統(tǒng)辨識側重程序_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  中 南 大 學</b></p><p>  基于Delphi的神經網絡</p><p><b>  系統(tǒng)辨識</b></p><p>  學 院:信息科學與工程學院</p><p>  專業(yè)班級:自 動 化 ****</p><p>  姓

2、 名:********</p><p>  學 號:**********</p><p>  指導老師:*********</p><p><b>  第一章 緒論</b></p><p><b>  1.1 訓練目的</b></p><p>  能針對題目獨立

3、展開調研,查閱相關教材、論文和數字文獻資料,在此基礎上找到解決問題的方法和思路,并做好實施方案;</p><p>  了解辨識系統(tǒng)的原理和基本方法,重點掌握基于神經網絡非線性系統(tǒng)辨識方法;</p><p>  了解BP神經網絡及其在系統(tǒng)辨識建模中的應用;</p><p>  能設計理想的神經網絡(結構、隱層數及其節(jié)點數),分析其非線性映射能力如何保證及其在系統(tǒng)辨識中

4、具有良好的泛化能力;</p><p>  熟悉Delphi開發(fā)環(huán)境,能在該環(huán)境下實現(xiàn)BP神經網絡對不同的非線性系統(tǒng)的辨識;</p><p>  神經網絡的設計和分析過程中,設計者需融入自己的細想,發(fā)揮其主觀能動性,尤其需適當改進神經網絡學習算法,以保證算法的收斂性和穩(wěn)定性;</p><p>  培養(yǎng)綜合運用基礎理論知識獨立分析和解決問題的能力;</p>

5、<p>  加深對基礎理論部分的理解的同時,提高實踐能力。</p><p>  1.2 工程訓練內容和基本要求</p><p>  熟悉Delphi開發(fā)環(huán)境,實現(xiàn)BP神經網絡的構件,繪制仿真曲線;</p><p>  采用BP神經網絡辨識非線性擴展自回歸滑動平均模型(NARMAX),模型的參數和結構自行設置,最后具有代表性;</p><

6、;p>  設計可視化界面,能交互式地改變系統(tǒng)的階次和系統(tǒng)的參數,并相應地改變神經網絡結構和算法,實時的顯示仿真曲線(輸入輸出數據的跟蹤曲線)和建模誤差曲線;</p><p>  根據仿真結果適當修改或改進神經網絡的結果或學習算法,并分析各算法的收斂性和穩(wěn)定性;</p><p>  比較兩種或兩種以上的辨識方法(如采用不同的神經網絡),根據系統(tǒng)辨識效果的好壞,分析造成實驗結果的原因,闡

7、述自己對此的觀點和改進建議;</p><p>  必須有完整的可視化界面,利用數據或曲線作為實驗結果,具有一定的說服力;</p><p>  根據實驗結果, 分析你所采用的方法的合理性、優(yōu)越性和不足之處,要求體現(xiàn)自己的設計思想。</p><p>  1.3 工程訓練的意義</p><p>  通過完成從用戶需求分析、Delphi界面設計到上機

8、編程、算法實現(xiàn)、調試和應用等全過程,進一步了解和掌握本書中所講解的內容。</p><p><b>  程序設計流程</b></p><p><b>  程序設計流程如下:</b></p><p>  1、按照軟件工程學的方法,對需要開發(fā)的軟件進行需求分析、可行性分析以及詳細的設計等;</p><p>

9、;  2、建立一個新的項目,根據需要建立所需要的窗體;</p><p>  3、根據需要向窗體中添加組件,設計窗體的外觀和組件的布局,即設計用戶界面;</p><p>  4、根據需要設置組件的相應屬性;</p><p>  5、根據需要編寫事實響應代碼;</p><p>  6、保存項目相關的所用文件,編譯、調試和運行程序。</p&g

10、t;<p>  第三章 Delphi界面設計</p><p><b>  2.1 設計要求</b></p><p>  1、顯示與BP算法的相關參數,并可以修改其參數;</p><p>  2、顯示通過BP算法逼近的訓練曲線以及誤差曲線:</p><p>  3、可以選擇不同類型的函數曲線以此來驗證BP算

11、法。</p><p>  2.2 Delphi實現(xiàn)</p><p><b>  總的設計界面如下:</b></p><p><b>  具體相關代碼如下:</b></p><p>  此系統(tǒng)讀者可以手動改變BP算法的相關參數,例如:輸入節(jié)點、學習速率、動量因子。界面如下圖:</p>&

12、lt;p>  界面顯示的相關代碼如下:</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 = '學習速率η='</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>  相關代碼如下: </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>  選擇函數類型的界面如下:</p><p><b>  相關代碼如下:</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 = '輸入數字'</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 = '線性函數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 = '差分函數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 = '非線性函數3'</p><p>  TabOrder = 6</p><p><b>  end</b></p><p>  確定與退出設計界

59、面如下:</p><p><b>  相關代碼如下:</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算法又稱為誤差反向傳播算法,其學習過程可以描述如下:</p><p>  1、工作信號正向傳播:輸入信號從輸入層經隱單元,傳向輸出層,在輸出端產生輸出信號,這是工作信號的正向傳播。在信號的向前傳遞過程中網絡的權值是固定不變的,每一層神經元的狀態(tài)只

64、影響下一層神經元的狀態(tài)。如果在輸出層不能得到期望的輸出,則轉入誤差信號反向傳播。</p><p>  2、誤差信號反向傳播:網絡的實際輸出與期望輸出之間差值即為誤差信號,誤差信號由輸出端開始逐層向前傳播,這是誤差信號的反向傳播。在誤差信號的反向傳播的過程中,網絡的權值由誤差信號反饋進行調節(jié)。通過權值的不斷修改使網絡的實際輸出更接近期望輸出。</p><p><b>  3.2程序

65、實現(xiàn)如下</b></p><p><b>  相關參數定義</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),相關代碼如下:</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; //輸入層至隱含層權值及其增量</p><p>  wo, wok1, wok2, dwo: array of real; //隱含

75、層至輸出層權值及其增量</p><p>  net2, out2, df: array of real; //隱含層輸入、輸出,df為S函數導數</p><p>  k, i, j, m, n, v: integer;</p><p>  Eta, alpha: real;</p><p>  //學習速率、動量項因子</p>

76、<p><b>  begin</b></p><p>  n:=3; m:=StrToInt(mEdit.Text); //輸入層節(jié)點數n、隱含層節(jié)點數m</p><p>  setLength(wi,n,m); setLength(wik1,n,m); //動態(tài)數組(下標從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); //從界面提取數據</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 //設定

79、初始權值</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、//***************** 神經網絡學習過程 ****************</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]; //確定網絡輸入量</p><p>  //計算隱含層輸入輸出及S函數的導數</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>  //隱含層至輸出層權值的學習</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>  //輸入層至隱含層權值的學習</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>  //更新數據</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>  實驗結果與分析</b></p><p>  4.1 線性函數逼近</p><p

98、>  輸入節(jié)點:8 學習速率:0.3 動量因子:0.05</p><p>  輸入節(jié)點:8 學習速率:0.5 動量因子:0.05</p><p>  分析:在進行BP算法時,學習速率并不是取越大越好,如果取得太大,系統(tǒng)逼近的曲線會產生振蕩。一般的說來輸出單元的局部梯度比輸入端的大,可以使前者的學習速率小些。另外,有較多輸入端的神經元其學習速率比有較少的輸入

99、端的神經元其學習速率小些。</p><p>  4.2 非線性函數(平方函數)逼近</p><p>  輸入節(jié)點:10 學習速率:0.5 動量因子:0.05</p><p>  輸入節(jié)點:10 學習速率:0.5 動量因子:0.02</p><p>  分析:在BP算法中,一定的范圍內調整動量因子α可以提高逼近函數的

100、精度。</p><p>  4.3 差分函數逼近</p><p><b>  差分函數模型:</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 學習速率:0.3 動量因子:0.05</p><p>  輸入節(jié)點:39 學習速率:0.3 動量因子:0.05</p><p>  分析:在BP算法中,輸入節(jié)點不應設置的太大,否則過大會引起振蕩即網絡不穩(wěn)定。</p><p><b>  總結<

102、;/b></p><p>  本設計使用Delphi 7作為前臺操作界面實現(xiàn)對辨識系統(tǒng)的功能操作。本辨識系統(tǒng)實現(xiàn)了BP算法逼近函數曲線的基本功能,經過調試運行,表明該系統(tǒng)具有可行性和可擴充性。但系統(tǒng)還有待進一步的完善與規(guī)劃,操作系統(tǒng)還有待于進一步的改善,使系統(tǒng)更加高效,更加人性化。</p><p>  通過幾周的設計練習,從系統(tǒng)的需求分析開始,到概念設計,邏輯設計,再到最后的系統(tǒng)實施

103、與維護,一步步走下來雖然感覺有點累,但每一步都獲益匪淺。認認真真完成每一步,直到完成整個系統(tǒng)之后,忽然有一種破繭而出的感覺。從這個設計中,不僅僅從實踐中鞏固提高了數據庫的相關知識,體會了設計一個系統(tǒng)的過程,更學到了一種設計分析的思想,一種能力。</p><p>  從系統(tǒng)的需求分析開始,到后來的每一步,都需要圍繞著一個整體的思路,一個工程的概念進行,需要逐層的將系統(tǒng)一步步分解,細化。然后,分別實現(xiàn)每一個功能,每一

104、個模塊,最后將全部模塊整合起來,系統(tǒng)便成型了。在這幾周的課程設計中,遇到了各種各樣的問題,特別是delphi實現(xiàn)BP算法,以及與系統(tǒng)前臺的實現(xiàn)階段。由于第一次接觸相關的軟件,所以使用起來相當的吃力,幾乎每一步都可能發(fā)生錯誤。為了解決這樣那樣的問題,我翻閱了不同的書籍,在網上搜索了大量的資料,一個一個的將問題解決掉。在這期間,無形中鍛煉了我分析問題,解決問題的能里,鍛煉了我自主學習的能力。</p><p>  在工

105、程訓練期間,我體會到了學習的樂趣,體會到了付出之后獲得回報的喜悅與欣慰。感謝老師的大力幫助和支持,感謝我的同學與朋友,在我遇到各種各樣復雜問題的時候,給與我鼓勵和幫助。</p><p>  參考文獻 (References)</p><p>  [1]劉正元 《Delphi 程序設計與應用教程》 中國水利水電出版社 2005</p><p>  [2]許潔舟,林偉

106、鵬,林勝雄,來賓 《Delphi7 程序設計與實例》 冶金工業(yè)出版社 2003</p><p>  [3]呂偉臣,霍言,高小山 《Delphi2005入門與提高》 清華大學出版社 2006</p><p>  [4]周志德,張燕 《Delphi程序設計》 高等教育出版社 2004</p><p>  [5]Fredrick M.Ham Ivica Kostanic

溫馨提示

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

評論

0/150

提交評論