[問題] 類神經網路 sim 與取出權重實現

作者: antineo (帕拉丁)   2014-04-13 18:17:40
請教各位先進
我將資料分成兩組,一組300個,一組作為訓練,一組作為驗證
主要的作法,是參考於http://blog.sina.com.cn/s/blog_64b046c70101cko4.html
網路設定1個隱藏層,10個神經元,傳遞函數都是tansig,訓練方法是tainlm
net=newff(Input,OutputTest,10,{'tansig','tansig'},'trainlm');
net = train(net,Input,OutputTest);
Y = sim(net,Input);
之後我將驗證組的資料用訓練組的設定去正規化後
Y = sim(net,ValInput);
結果跟訓練目標相去不遠,於是想將其權重資料取出來,另外寫
w1=net.iw(1,1);
w1=w1{1,1};
w2=net.lw(2,1);
w2=w2{1,1};
b1=net.b(1,1);
b1=b1{1,1};
b2=net.b(2,1);
b2=b2{1,1};
重新把 輸入資料帶進去算
for i=1:300
a1(:,i)=w1*Input(:,i)+b1;
end
a1=tansig(a1);
for i=1:300
a2(1,i)=w2*IL(:,i)+b2;
end
a2=tansig(a2);
但是最後與 a2 與 Y值 差很多,而且 幾乎是 1或-1
也曾經把 進tansig運算前 先進行map到-1~1但還是完全不對
請各位高手 幫忙 指點迷津

Links booklink

Contact Us: admin [ a t ] ucptt.com