matlab神经网络结果分析,matlab神经网络43个案例分析中第五章BP Adaboost算法的样本权重对后续神经网络的影响体现在程序的哪里...

clc

clear

%下载数据

load data input_train output_train input_test output_test

%测试样本权重

[mm nn]=size(input_train);

D(1,:)=ones(1,nn)/nn;

K=10;%弱分类器数量

for i=1:k

%训练样本归一化

[inputn,inputps]=mapminmax(input_train);

[outputn,outputps]=mapminmax(output_train);

error(i)=0;

%BP神经网络构建

net=newff(inputn,outputn,6);

net.trainParam.epochs=4;

net.trainParam.lr=0.1;

net.trainParam.goal=0.00004;

%BP神经网络训练

net=train(net,inputn,outputn);

%训练数据预测

an1=sim(net,inputn);

test_simu1(i,:)=mapminmax('reverse',an1,outputs);

inoutn_test=mapminmax('apply',input_test,inputps);

an=sim(net,inputn_test);

testsimu(i,:)=mapminmax('reverse','an',outputps);

%统计输出结果

kk1=find(test_simu1(i,:)>0);

kk2=find(test_simu1(i,:)<0);

aa(kk1)=1;

aa(kk2)=-1;

%统计错误样本数

for j=1:nn

if aa(j)~=output_train(j)

error(i)=error(i)+D(i,j);

end

end

%弱分类器i权重

at(i)=0.5*log((1-error(i))/error(i));

%更新D值

for j=1:m

D(i+1,j)=D(i,j)*exp(-at(i)*aa(j)*test_simu1(i,j));

end

%D值归一化

Dsum=sum(D(i+1),:);

D(i+1,:)=D(i+1,:)/Dsum;

end

%强分类器分类结果

output=sign(at*test_sum);

%统计强分类器每分类错误个数

kkk1=0;

kkk2=0;

for j=1:350

if output(j)==1

if output(j)~=output_test(j);

kkk1=kkk1+1;

end

end

end

for i=1:k

error1(i)=0;

kk1=find(test_simu(i,:)>0);

kk2=find(test_simu(i,:)<0);

aa(kk1)=1;

aa(kk2)=-1;

for j=1:350

if aa(j)~=output_test(j)

error1(i)=error1(i)+1;

end

end

end

程序摘抄自《matlab神经网络43个案例分析》

这段BP_Adaboost程序我只看到了更新样本权重,却看不出更新后的样本权重怎么使错误出现的位置受到更多的关注。有大佬可以告诉我它有没有通过权重使误差点受到更多关注吗?还是说没有这一步,没有的话我该怎么加?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值