求教在MATLAB中BP算法最后怎么由测试数据得到实际输出啊

2025-03-29 12:08:05
推荐回答(2个)
回答(1):

首先对于数据进行归一化,我就不用matlab里面的代码了
maxP = max(max(p));
p = p';
Input = p(:, 1:4)./maxP;
Target = p(:, 2:5)./maxP;

netP = newff(Input, Target, 10);
netP = train(netP, Input, Target);

上面这个神经网络预测下一年的P值

P09_13 = zeros(6, 5)
for i = 1:5
if i == 1
P09_13(:, i) = sim(net, p(:, 5));
else
P09_13(:, i) = sim(net, P09_13(:, i-1));
end
end

以上得到09-13年预测出来的p值

下面求p-t之间的关系
Input = p./maxP;
Target =t./maxP;

net = newff(Input, Target, 10);
net = train(net, Input, Target);
以上代码求出了p-t对应关系
preliminaryResult = zeros(1, 5);
for i = 1:5
preliminaryResult = sim(net, P09_13(:, i));
end

result = preliminaryResult.*maxP;

result里面是09-13年预测出来的房价。

我没给你实际跑这个程序,明天就交论文你这个点求助我就不说你什么了。

回答(2):

用训练得到的权值乘以样本数据,就可以得到输出啊