Matlab中train與adapt的區別

2021-06-20 02:53:01 字數 2289 閱讀 1145

採用linearlayer驗證

驗證方法:

(一)使用網路 linearlayer

1, cell輸入形式

輸入 p=;

目標值 t=

使用adapt;

輸入命令:

p=;t=;

net=linearlayer(0,0.1);

net=configure(net,p,t);

net.iw=[0,0];

net.b=0;

[net,a,e]=adapt(net,p,t);

權重更新4次,最後值:

net.iw=1.5600    1.5200

net.b=0.9200

**結果:[0]   [2]    [6.0000]    [5.8000]

2,矩陣輸入形式

輸入p=[1 2 23;2 1 3 1];

輸出t=[4 5 7 7]

使用adapt;

輸入命令:

p=[1 2 2 3;2 1 31];

t=[4 5 7 7];

net=linearlayer(0,0.01);

net=configure(net,p,t);

net.iw=[0,0];

net.b=0;

[net,a,e]=adapt(net,p,t);

權重更新一次,最後值:

net.iw=0.4900   0.4100

net.b= 0.2300

3,矩陣輸入形式

輸入p=[1 2 23;2 1 3 1];

輸出t=[4 5 7 7]

使用train;(其中設定epochs=1)

前提:對學習函式和訓練函式加入顯式的呼叫命令

p=[1 2 2 3;2 1 31];

t=[4 5 7 7];

net=linearlayer(0,0.01);

net=configure(net,p,t);

net.iw=[0,0];

net.b=0;

net=trian(net,p,t);

權重更新一次,最後值:

net.iw=0.4900   0.4100

net.b= 0.2300

至於動態網路:有時間再搞。

(二) 對於competlayer的測試

首先產生資料集,(**與matlab的democ1)

bounds=[0 1;01];

clusters = 8;         % this many clusters.

points = 10;          % number of points in each cluster.

std_dev = 0.05;       % standard deviation of each cluster.

x =nngenc(bounds,clusters,points,std_dev);

此時x為矩陣。

competlayer網路權重的調整依靠learnk函式,偏移的調整依靠learncon。

採用如下命令進行網路搭建

net=competlayer(8);

net=configure(8,x);

----------使用adapt---------

net1=adapt(net,x);

呼叫k權重學習函式    %呼叫一次

呼叫b偏移學習%呼叫一次

----------------使用train--------------------

net.trainparam.epochs=1; %方便觀測呼叫權重調整函式的次數,將回合數設定為1; net2=train(net,x);

呼叫k權重學習函式    %呼叫80次

呼叫b偏移學習%呼叫80次

將x轉換成cell分別進行測試

net=competlayer(8);

net1=adapt(net,x);

呼叫k權重學習函式    %呼叫80次

呼叫b偏移學習%呼叫80次

net2=train(net,x);

呼叫k權重學習函式    %呼叫一次

呼叫b偏移學習%呼叫一次

測試結果如上,檢視matlab**,簡單看看,competlayer網路呼叫的adapt函式是:adaptwb,要求輸入是有序的矩陣,所以使用adapt呼叫的時候使用 cell,train使用的是 trianru,涉及乙個測量輸入計入條數的命令,如果使用cell則值為1,故應該使用矩陣輸入。

類似的可以應到其他自組織的網路上面,從本質上來說是受定義的adapt,train(此非彼)函式的影響。

Matlab中train與adapt的區別

採用linearlayer驗證 驗證方法 一 使用網路 linearlayer 1,cell輸入形式 輸入 p 目標值 t 使用adapt 輸入命令 p t net linearlayer 0,0.1 net configure net,p,t net.iw 0,0 net.b 0 net,a,e ...

Pytorch中的train和eval用法注意點

一般情況,model.train 是在訓練的時候用到,model.eval 是在測試的時候用到 如果模型中沒有類似於 bn這樣的歸一化或者 dropout model.train 和model.eval 可以不要 建議寫一下,比較安全 並且 model.train 和model.eval 得到的效果...

AD指標與型別

1.ad轉換器的分類 下面簡要介紹常用的幾種型別的基本原理及特點 積分型 逐次逼近型 並行比較型 串並行型 調製型 電容陣列逐次比較型及壓頻變換型。1 積分型 如tlc7135 積分型ad工作原理是將輸入電壓轉換成時間 脈衝寬度訊號 或頻率 脈衝頻率 然後由定時器 計數器獲得數字值。其優點是用簡單電...