网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月31日漏签0天
matlab吧 关注:291,865贴子:1,658,312
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回matlab吧
>0< 加载中...

matlab程序代码出现问题,MSE过大,且预测值跟实际值差别太大

  • 只看楼主
  • 收藏

  • 回复
  • amioyXU
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我的程序代码如下:
close all
clear
echo on
clc
% NEWFF——生成一个新的前向神经网络
% TRAIN——对BP神经网络进行训练
% SIM——对BP神经网络进行仿真
% 定义训练样本
% P为输入矢量
P=[0.0010 0.0021 0.0050 0.0094 0.0124;0.0021 0.0050 0.0094 0.0124 0.0162;0.0050 0.0094 0.0124 0.0162 0.0193;0.0094 0.0124 0.0162 0.0193 0.0240;...
0.0124 0.0162 0.0193 0.0240 0.0325;0.0162 0.0193 0.0240 0.0325 0.0444;0.0193 0.0240 0.0325 0.0444 0.0548;0.0240 0.0325 0.0444 0.0548 0.0719;...
0.0325 0.0444 0.0548 0.0719 0.0936;0.0444 0.0548 0.0719 0.0936 0.1370;0.0548 0.0719 0.0936 0.1370 0.1979;0.0719 0.0936 0.1370 0.1979 0.2806];
% T为目标矢量
T=[0.0162 0.0193 0.0240 0.0325 0.0444 0.0548 0.0719 0.0936 0.1370 0.1979 0.2806 0.3507];
% Ptest为测试输入矢量
Ptest=[0.1370 0.1979 0.2806 0.3507 0.4309;0.1979 0.2806 0.3507 0.4309 0.4363;0.2806 0.3507 0.4309 0.4363 0.4951];
% Ttest为测试目标矢量
Ttest=[0.4363 0.4951 0.5659];
% 创建一个新的前向神经网络
net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm');
% 设置训练参数
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 5000;
net.trainParam.goal = 0.0001;
% 调用TRAINGDM算法训练 BP 网络
[net,tr]=train(net,P',T);
net.iw{1,1}%隐藏权值
net.b{1}%隐藏阙值
net.iw{2,1}%输出层权值
net.b{2}%输出层阙值
% 对BP网络进行仿真
A=sim(net,P');
figure;
plot((2000:2011),T,'-*',(2000:2011),A,'-o');
title('网络的实际输出和仿真输出结果,*为真实值,o为预测值');
xlabel('年份');
ylabel('产值');
% 对BP网络进行测试
A1=sim(net,Ptest');
figure;
plot((2012:2014),Ttest','-*',(2012:2014),A1,'-o');
title('测试后网络的实际输出和仿真输出结果,*为真实值,o为预测值');
xlabel('年份');
ylabel('产值');
V=net.iw{1,1}
thetal=net.b{1}
W=net.iw{2,1}
thetal=net.b{2}
% 计算仿真误差error
E = T - A;
MSE=mse(E);
figure;
plot(1:length(E),E,'-.');
title('误差变化图')
运行出来的错误很多,由于本人处于很菜鸟的级别,请高手指教


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回matlab吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示