• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Matlab
  • 标签: adaboost  matlab  XOR  

资源简介

adaboost算法是一个由多个弱分类器生成一个强分类器的算法,可以提高分类的正确率,这里利用adaboost算法的原理,结合matlab做了一个简单的实例 里面h1-h8为八个弱分类器,adaboost为训练的主函数,test调用了训练函数,对一个样本进行测试,calerr计算每次循环后的错误频率

资源截图

代码片段和文件信息

function [at choose T]=adaboost()
%定义样本
p=[10;-10;01;0-1];
%样本数目
numofs=4;
%定义正确分类结果
y=[11-1-1];
%分类器数目
numofc=8;
%预设的循环次数
cycle=5;
%实际循环次数定义为T
%定义循环过程中选择的函数下标和比重
at=zeros(1cycle);
choose=zeros(1cycle);
%每个样本在每个分类器下的label
label=zeros(numofsnumofc);
%计算得到label数组的值
for i=1:numofs
    for j=1:numofc
        label(ij)=h(jp(i:));
    end
end
%得到每个函数错误样本的数组
wrong=zeros(numofcnumofs);
for i=1:numofc
    for j=1:numofs
        wrong(ij)=(label(ji)~=y(j));
    end
end
%初始化每个样本的权重
weight=ones(1numofs)/numofs;
%循环开始
%记录每次循环中每个分类器对应的错误
err_freq=ones(1cycle);
for k=1:cycle
    error=zeros(1numofc);
    for m=1:numofc
        error(m)=sum(weight(wrong(m:)==1));
    end
    [err index]=min(error);
    %计算当前选择的错误最小的分类器对应的权值
    choose(k)=index;
    at(k)=log((1-err)/err)/2;
    %更新权值
    weight(wrong(index:)==1)=weight(wrong(index:)==1)*exp(0.5)*(1-err)/err;
    weight(wrong(index:)==0)=weight(wrong(index:)==0)*exp(-0.5)*(1-err)/err;
    %标准化
    weight=weight/sum(weight);
    %计算当前分类器下的错误频率如果训练错误概率已经为0,则退出循环
    err_freq(k)=calerr(numofsylabelatchoosek);
    if(err_freq(k)==0)
        break;
    end
end
T=k;
at=at(1:T);
choose=choose(1:T);
plot(1:Terr_freq(1:T)‘b*‘);
title(‘error vs round‘);
xlabel(‘round‘);
ylabel(‘training error‘);
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1534  2013-07-27 11:55  ada2\adaboost.asv

     文件       1511  2013-07-27 13:54  ada2\adaboost.m

     文件        471  2013-07-27 11:59  ada2\calerr.m

     文件        109  2013-07-27 13:51  ada2\classier.asv

     文件        187  2013-07-27 13:53  ada2\classier.m

     文件        207  2013-07-27 11:10  ada2\h.asv

     文件        479  2013-07-27 11:11  ada2\h.m

     文件         99  2013-07-27 11:56  ada2\h1.m

     文件         99  2013-07-27 11:56  ada2\h2.m

     文件         98  2013-07-27 11:56  ada2\h3.m

     文件         98  2013-07-27 11:56  ada2\h4.m

     文件         99  2013-07-27 11:56  ada2\h5.m

     文件         99  2013-07-27 11:56  ada2\h6.m

     文件         98  2013-07-27 11:57  ada2\h7.m

     文件         98  2013-07-27 11:57  ada2\h8.m

     文件        110  2013-07-27 13:55  ada2\test.m

     目录          0  2013-07-27 13:52  ada2

----------- ---------  ---------- -----  ----

                 5396                    17


评论

共有 条评论