Timedelaynet输出计算原理

1视图(30天)
婷婷张
婷婷张 2019年9月8日
评论道: 婷婷张2019年9月10日
我已经建立了一个时滞神经网络(两个延迟,2层,隐藏层的大小2),改变了所有inputweights layerweights为零(无偏差使用)。我希望所有零输出,但是为什么给我非零值的代码。有没有人可以给建议怎么了?一个简单的代码显示如下:
清晰;
numtaps = 2;
hiddenLayerSize = 2;
dyn_net = timedelaynet (1: numtaps, hiddenLayerSize);
dyn_net。trainFcn =“trainlm”;
dyn_net.layers {1}。transferFcn =“tansig”;
dyn_net。initFcn =“initlay”;
dyn_net。performFcn =“mse”;
dyn_net。biasConnect = (0, 0);
dyn_net.trainParam。时代= 1;
输入= 0:0.1:1;
目标= 0:0.1:1;
inputs_1c = num2cell(输入,1);
targets_1c = num2cell(目标1);
[p,π,人工智能,t] = preparets (dyn_net, inputs_1c targets_1c);
[dyn_net, dyn_tr] =火车(dyn_net p t,π,Ai);
dyn_net。IW {1} = (0 0; 0 0);
dyn_net。LW {2, 1} = [0 0];
输出= dyn_net (p,π);
outputs1 = cell2mat(输出);%我应该期待零,但输出都是0.6。
dyn_net.LW {2, 1} * tansig (dyn_net.IW{1 1} *(输入(者)。”)%这个计算给我零

答案(1)

格雷格·希斯
格雷格·希斯 2019年9月9日
你不包括2偏见。
希望这个有帮助。
格雷格
T 汉克你正式接受我的答案
1评论
婷婷张
婷婷张 2019年9月10日
嗨,格雷格,
谢谢你的回答。神经网络的配置如下所示。 Capture.JPG
我意愿不包括偏见只是想检查前馈输出计算。我认为是:
dyn_net.LW {2, 1} * tansig (dyn_net.IW{1 1} *(输入(k - 1: 1: k-2)))。
但这并不是我所期望的一样。所以我手动更改inputweights和layerweights为零后培训(培训给了我一个错误之前),并发现非零输出,这是奇怪的。
我也试图包括偏见像你说的,问题仍然存在。

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!