建模算法(六)——神經網絡模型


(一)神經網絡簡介

        主要是利用計算機的計算能力,對大量的樣本進行擬合,最終得到一個我們想要的結果,結果通過0-1編碼,這樣就OK啦

(二)人工神經網絡模型

一、基本單元的三個基本要素

image

1、一組連接(輸入),上面含有連接強度(權值)。

2、一個求和單元

3、一個非線性激活函數,起到將非線性映射作用,並將神經元輸出幅度限制在一定范圍內(在(0,1)或者(-1,1))

4、還有一個閥值(偏置)

歸結如下:

image

PS:也可以選擇將偏置(閥值)加入到線性求和里面

image

5、激活函數的選擇

image

image

二、網絡結構及工作方式

1、前饋型網絡

image

       主要用於模式識別和函數逼近。

2、反饋性網絡

image

        用作各種聯想儲存器;用於求解最優化問題。

(三)蠓蟲問題與多層前饋網絡

一、蠓蟲分類問題

image

二、多層前饋網絡

image

1、輸入層2個,分別表示觸角和翅膀的長度,只負責輸入

2、處理層有3個(通過實驗或者某些經驗來確定),有負責計算

3、輸出層有2個,有負責計算

image

image

        然后我們要通過已有的數據來確定權重,所用的方法為向后傳播算法

三、向后傳播算法

image

image

       然后就是求解一個非線性規划問題,可以使用前面章節所使用的方法來求解。

四、蠓蟲分類問題的求解

clear;
p1=[1.24,1.27
    1.36,1.74
    1.38,1.64
    1.38,1.82
    1.38,1.90
    1.40,1.70
    1.48,1.82
    1.54,1.82
    1.56,2.08];

p2=[1.14,1.82
    1.18,1.96
    1.20,1.86
    1.26,2.00
    1.28,2.00
    1.30,1.96];

p=[p1;p2]';
pr=minmax(p);
goal=[ones(1,9),zeros(1,6)
      zeros(1,9),ones(1,6)];
 plot(p1(:,1),p1(:,2),'h',p2(:,1),p2(:,2),'o')
 net=newff(pr,[3,2],{'logsig','logsig'});
 net.trainParam.show=10;
 net.trainParam.lr=0.05;
 net.trainParam.goal=1e-10;
 net.trainParam.epochs=50000;
 net=train(net,p,goal);
 x=[1.24 1.80
     1.28  1.84
     1.40  2.04]';
 y0=sim(net,p)
 y=sim(net,x)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM