1、模型的建立

详细代码:

<span style="font-size:18px;">%% 该代码为基于BP_Adaboost的强预测器预测%% 清空环境变量
clc
clear%% 下载数据
load data1 input output%% 权重初始化
k=rand(1,2000);
[m,n]=sort(k);%训练样本
input_train=input(n(1:1900),:)';
output_train=output(n(1:1900),:)';%测试样本
input_test=input(n(1901:2000),:)';
output_test=output(n(1901:2000),:)';%样本权重
[mm,nn]=size(input_train);
D(1,:)=ones(1,nn)/nn;%训练样本归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);K=10;
for i=1:K%弱预测器训练net=newff(inputn,outputn,5);net.trainParam.epochs=20;net.trainParam.lr=0.1;net=train(net,inputn,outputn);%弱预测器预测an1=sim(net,inputn);BPoutput=mapminmax('reverse',an1,outputps);%预测误差erroryc(i,:)=output_train-BPoutput;%测试数据预测inputn1=mapminmax('apply',input_test,inputps);an2=sim(net,inputn1);test_simu(i,:)=mapminmax('reverse',an2,outputps);%调整D值Error(i)=0;for j=1:nnif abs(erroryc(i,j))>0.2  %较大误差Error(i)=Error(i)+D(i,j);D(i+1,j)=D(i,j)*1.1;elseD(i+1,j)=D(i,j);endend%计算弱预测器权重at(i)=0.5/exp(abs(Error(i)));%D值归一化D(i+1,:)=D(i+1,:)/sum(D(i+1,:));end%% 强预测器预测
at=at/sum(at);%% 结果统计
%强分离器效果
output=at*test_simu;
error=output_test-output;
plot(abs(error),'-*')
hold on
for i=1:8
error1(i,:)=test_simu(i,:)-output;
end
plot(mean(abs(error1)),'-or')title('强预测器预测误差绝对值','fontsize',12)
xlabel('预测样本','fontsize',12)
ylabel('误差绝对值','fontsize',12)
legend('强预测器预测','弱预测器预测')</span>

分类1 -1  代码:

<span style="font-size:18px;">%% 该代码为基于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=5;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,outputps);%测试数据预测inputn_test =mapminmax('apply',input_test,inputps);an=sim(net,inputn_test);test_simu(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:nnif aa(j)~=output_train(j);error(i)=error(i)+D(i,j);endend%弱分类器i权重at(i)=0.5*log((1-error(i))/error(i));%更新D值for j=1:nnD(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_simu);%% 分类结果统计
%统计强分类器每类分类错误个数
kkk1=0;
kkk2=0;
for j=1:350if output(j)==1if output(j)~=output_test(j)kkk1=kkk1+1;endendif output(j)==-1if output(j)~=output_test(j)kkk2=kkk2+1;endend
endkkk1
kkk2
disp('第一类分类错误  第二类分类错误  总错误');
% 窗口显示
disp([kkk1 kkk2 kkk1+kkk2]);plot(output)
hold on
plot(output_test,'g')%统计弱分离器效果
for i=1:Kerror1(i)=0;kk1=find(test_simu(i,:)>0);kk2=find(test_simu(i,:)<0);aa(kk1)=1;aa(kk2)=-1;for j=1:350if aa(j)~=output_test(j);error1(i)=error1(i)+1;endend
end
disp('统计弱分类器分类效果');
error1disp('强分类器分类误差率')
(kkk1+kkk2)/350disp('弱分类器分类误差率')
(sum(error1)/(K*350))
</span>

基于BP弱分类器用Adaboost的强分类器相关推荐

  1. 《推荐系统笔记(三)》Adaboost算法 —— 弱分类器组合成强分类器的方法

    前言 我们将介绍将弱分类器组合成强分类器的算法,Adaboost算法,以及该算法有效的证明. 对于这种提升方法,我们有 每次迭代加大误分类点的权重,这样下次生成的弱分类器能够更可能将该误分类点分类正确 ...

  2. 人脸检测:经典的VJ人脸检测器(类Harr特征,积分图加速法,级联的Adaboost强分类器)

    著名的VJ人脸检测算法就是一种基于Adaboost分类器的方法.该检测器由Paul Viola和Michael Jones在2001年的 Robust Real-Time Face Detection ...

  3. adaboost训练 之 强分类器训练原理

    最近看opencv中adaboost训练强分类器源码,记录下自己对adaboost训练强分类器的原理理解. adaboost训练强分类器的基本流程: 1.初始化训练样本的类别与权重分布. 2.迭代循环 ...

  4. 《MATLAB 神经网络43个案例分析》:第5章 基于BP_Adaboost的强分类器设计——公司财务预警建模

    <MATLAB 神经网络43个案例分析>:第5章 基于BP_Adaboost的强分类器设计--公司财务预警建模 1. 前言 2. MATLAB 仿真示例一 3. MATLAB 仿真示例二 ...

  5. 基于BP 网络分类器的交通标志识别

    基于BP 网络分类器的交通标志识别 摘要:针对中国全部 3 大类 116 个交通标志,即禁令标志.指示标志.警告标志,用 BP 网络实现分类功能. 实验中使用了 3 种测试集,即加高斯噪声.水平扭曲和 ...

  6. bp神经网络分类器c语言,基于BP神经网络的隐写分析分类器设计

    [ 摘 要 ] 设计并实现了基于BP神经网络的隐写分析分类器.首先对图像库中的图像进行格式变换,并使用扩展修改方向和钻石编码两种隐写方法进行不同嵌入率的隐写嵌入,然后计算载体图像和载密图像中平面域.D ...

  7. 人脸检测(十)--强分类器源码分析

    原文: http://blog.csdn.net/beerbuddys/article/details/40712957 下面的内容很长,倒杯水(有茶或者咖啡更好),带上耳机,准备就绪再往下看.下面我 ...

  8. ​【交通标志识别】基于BP神经网络实现交通标志识别matlab代码

    1 简介 近年来,交通标志识别在车辆视觉导航系统中是一个热门研究课题.为了安全驾驶和高效运输,交通部门在公路道路上设置了各类重要的交通标志,以提醒司机和行人有关道路交通信息,如指示标志.警告标志.禁止 ...

  9. 机器学习应用篇(八)——基于BP神经网络的预测

    机器学习应用篇(八)--基于BP神经网络的预测 文章目录 机器学习应用篇(八)--基于BP神经网络的预测 一.Introduction 1 BP神经网络的优点 2 BP神经网络的缺点 二.实现过程 1 ...

最新文章

  1. Android ORMLite 框架的入门用法
  2. 迷你MVVM框架 avalonjs 学习教程14、事件绑定
  3. CTFshow 反序列化 web275
  4. 图解一次Linux挂载操作和mount命令基本用法
  5. 手机闪存速度排行_一举夺魁2.0!魅族17 Pro荣获盖得排行第一名
  6. mysql连接指定时区_MySQL创建JDBC连接时区问题
  7. Eigen(6)快操作
  8. 免授权版傻瓜式建站系统
  9. JS (与运算)详解
  10. c语言次幂如何表达_如何确保分布式场景下的并发幂等性?
  11. 引用了System.Configuration命名空间,却找不到ConfigurationManager类
  12. 2021-08-21 初识javabean
  13. 开源的SNMP网管系统LibreNMS
  14. 汇编语言指令系统——控制转移类指令
  15. BRVAH官方使用指南(持续更新)
  16. 歌德语言证书c1考什么,不完全不客观地比较三种德语考试——TestDaF德福、歌德C1、歌德C2...
  17. SSM9==SSM项目启动过程、xml配置SSM项目及需要的3大配置文件、原生SSM未前后端分离的电商网站项目(角色管理员、购买者)只使用了最基础的注解,Model传参
  18. Illustrator CS3自学实例高清视频教程
  19. macOS用的是linux系统吗
  20. 经验分布函数无偏性的证明和方差的推导

热门文章

  1. php微服务架构设计模式,《微服务架构设计模式》读书笔记---第十一章:开发面向生产环境的微服务应用...
  2. python 编译器重构_Python之父考虑重构Python解释器
  3. React Ways1——函数即组件
  4. python模块基础之getpass模块
  5. 2017中国互联网消费生态大数据报告
  6. 让MySQL支持Emoji表情 mysql 5.6
  7. Windows server 2012体验之集成ISCSI功能
  8. 常见计算机问题 内存篇
  9. .NET开发系列工具之NDoc:让NDoc支持简体中文!(含修改了的源代码)
  10. private用法 java_关于android开发中如何正确使用Private Services安全用法及代码示例...