Adaboost原理算法应用及源程序

Adaboost原理算法应用及源程序

ID:43706162

大小:350.80 KB

页数:22页

时间:2019-10-13

Adaboost原理算法应用及源程序_第1页
Adaboost原理算法应用及源程序_第2页
Adaboost原理算法应用及源程序_第3页
Adaboost原理算法应用及源程序_第4页
Adaboost原理算法应用及源程序_第5页
资源描述:

《Adaboost原理算法应用及源程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Adaboost原理、算法、应用及源程序引言:古语言:三个臭皮匠,顶个诸葛亮。很早就想过通过组合弱分类器来实现一个强分类器的问题。当学习到线性分类器以及著名的决策树之类分类器后,很容易联想到高中时代线性规划里面对不少区域的划分。耍是能够找到一种方法,组合这些简单的直线方程,不就可以实现“山寨诸葛亮'‘的理想?实际上,在Kearns和Valiant在1989年大作中指出了这种算法的可行性。而后,Freund在1990年以及他和Schapire在1994-1996年提出了boosting整个算法思路,似乎这种算法走到了实际应用的开

2、端。然而直到AdaBoost被viola在其人脸识别系统中运用(2001Viola和Jones),这种方法才彻底开始暴火。在NIPS会议tutorial中,也可以看到Schapire神采奕奕的样子了。Adaboost实际具体解决了两个问题:怎么处理训练样本?在AdaBoost屮,每个样本都被赋予一个权重。如果某个样本没有被正确分类,它的权重就会被提高,反之则降低。这样,AdaBoost方法将注意力更多地放在“难分”的样本上。怎么合并若分类器成为一个强分类器?强分类器表示为若干弱分类器的线性加权和形式,准确率越高的弱学习机权重越

3、高。算法介绍:通过研究在Schapire的大作屮提到了一个ToyGame的例子,这里给出了一个类似的Matlab代码。终于感到了这个算法强大。首先是程序需要产生一些随机的样本数据,然后分别调用其他的matlab函数实现分类结果输出。代码如下:clearallclctr_n=200;%thepopulationofthetrainsette_n=200;%thepopulationofthetestsetweak_leamer_n=20;%thepopulationoftheweakjearnertr_set=f1,5;2,3;

4、3,2;4,6;4,7;5,9;6,5;6,7;8,5;8,8];te_se=[1,5;2,3;3,2;4,6;4,7;5,9;6,5;6,7;&5;&8];tr_labels=[2,2,l,1,2,2,1,2,1,1];teJabels=[2,2,1,1,2,2,1,2,1,1];figure;subplot(2,2,l);holdon;axissquare;indices=tr_labels==1;plot(tr_set(indices,1),tr_set(indices,2),'b**);indices二〜indices

5、;plot(tr_set(indices,1),tr_set(indices,2),'r*>);title('Trainingset');subplot(2,2,2);holdon;axissquare;indices=te」abels==l;plot(te_set(indices,1),te_set(indices,2)/b*,)3■indices=~indices;plot(te_set(indicesj),te_set(indices,2)/r*1);titleCTrainingset1);%Trainingandtes

6、tingerrorratestr_error=zeros(1,weak_learner_n);te_error=zeros(1,weak_learner_n);fori=l:weak_learner_nadaboost_model=adaboost_lr(@threshold_tr,@threshold_te4r_set4r_labels,i);[L_tr,hits_tr]=adaboost_te(adaboost_modeL@threshold_te,te_set4eJabels);tr_error(i)=(tr_n-hit

7、s_tr)/tr_n;[L_te,hits_te]=adaboost_te(adaboost_model,@threshold_te,te_set,te_labels);te_error(i)=(te_n-hits_te)/te_n;endsubplot(2,2,3);plot(l:weak」eamer_njr_error);axis([l,weak_leamer_n,0,1]);titleCTrainingError');xlabel('weakclassifiernumber');ylabeR^rrorrate1);gri

8、don;subplot(2,2,4);axissquare;plot(l:weak_learner_n,te_error);axis([l,weak_learner_n,0,1]);title('TestingError');xlabel(!weakclassifiernum

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。