matlab bp数据压缩,当训练数据过大时,如何训练matlab的BP网络

function [P,T] = getTestData();

sizeLen = 0.2;

x1 = 0:sizeLen:1;

[line,row] = size(x1);

P = zeros(10000,5);

T = zeros(10000,3);

j = 1;

for x1 = 0:sizeLen:1

for x2 =

0:sizeLen:1

for x3 = 0:sizeLen:1

for x4 = 0:sizeLen:1

for x5 = 0:sizeLen:1

y1=x1*x1+x2*x3+x4*x5;

y2=x1+x2+x3+x4+x5;

y3=sin(x1+x2+x3)+cos(x4+x5);

P(j,:) = [x1,x2,x3,x4,x5];

T(j,:) = [y1,y2,y3];

j = j+1;

end

end

end

end

end

clear;clc;

[P,T] = getTestData();

[line,row] = size(P);

j1=1;

j2=1;

for i=1:line

if

0==mod(i,2)

p1(j1,:) = P(i,:);

t1(j1,:) = T(i,:);

j1 = j1+1;

else

p2(j2,:) = P(i,:);

t2(j2,:) = T(i,:);

j2 = j2+1;

end

end

%

p = p1';

t = t1';

% p = [-1 -1 2 2;0 5 0 5];

% t = [-1 -1 1 1];

net=newff(minmax(P'),[5,3],{'logsig','purelin'},'traingdm');

net.trainParam.show = 50;

net.trainParam.lr = 0.05;

net.trainParam.mc = 0.9;

net.trainParam.epochs = 1000;

net.trainParam.goal = 1e-5;

[net,tr]=train(net, p1', t1');

net.trainParam.show = 50;

net.trainParam.lr = 0.05;

net.trainParam.mc = 0.9;

net.trainParam.epochs = 1000;

net.trainParam.goal = 1e-5;

[net,tr]=train(net, p2', t2');

net.trainParam.show = 50;

net.trainParam.lr = 0.05;

net.trainParam.mc = 0.9;

net.trainParam.epochs = 1000;

net.trainParam.goal = 1e-5;

[net,tr]=train(net, p1', t1');

net.trainParam.show = 50;

net.trainParam.lr = 0.05;

net.trainParam.mc = 0.9;

net.trainParam.epochs = 1000;

net.trainParam.goal = 1e-5;

[net,tr]=train(net, p2', t2');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值