matlab神经网络过拟合,BP神经网络过拟合问题

如果样本比较多的话可以用 [trainV,valV,testV] = dividevec(p,t,valPercent,testPercent),然后运用 net = train(net,trainV.P,trainV.T,[],[],valV,testV);方式来训练网络这就是来防止过拟合的。你可以试试。具体的例子:

%bp神经网络进行交通预测的Matlab源代码

% BP 神经网络用于预测

% 使用平台 - Matlab7.0

% 数据为1986年到2000年的交通量 ,网络为3输入,1输出

% 15组数据,其中9组为正常训练数据,3组为变量数据,3组为测试数据

%by akjuan

%all rights preserved by www.matlabsky.cn

%2008.11

clc

clear

All_error=[];%所有误差存储

%---------------------------------------------------

%原始数据

%---------------------------------------------------

year=1986:2000;%数据是从1986到2000年的

p=[493 372 445;372 445 176;445 176 235;176 235 378;235 378 429;...

378 429 561;429 561 651;561 651 467;651 467 527;467 527 668;...

527 668 841; 668 841 526;841 526 480;526 480 567;480 567 685]';%输入数据,共15组,每组3个输入

t=[176 235 378 429 561 651 467 527 668 841 526 480 567 685 507];%输出数据,共15组,每组1个输出

%---------------------------------------------------

%数据归一化处理

%mapminmax函数默认将数据归一化到[-1,1],调用形式如下

%[y,ps] =%mapminmax(x,ymin,ymax)

%x需归化的数据输入

%ymin,ymax为需归化到的范围,不填默认为归化到[-1,1]

%y归一化后的样本数据

%ps处理设置,ps主要在结果反归一化中需要调用,或者使用同样的settings归一化另外一组数据

%---------------------------------------------------

[normInput,ps] = mapminmax(p);

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值