Adaboost算法实现二

           终于把这个Adaboost算法的源码看完了,基本了解了算法。对于一些地方还是存在疑问,不知道为啥要这样处理,如相似性度量。

          测试了好几个例子,感觉Adaboost对样本分类的效果还不错,但是对于预测,正确率也就70%-80%,不是很高,感觉应该是比较低的了,应该有改进的措施,还没来得及看。

          用主程序中的一段代码对adaboost算法做下自己的总结。

 

for i=1:weak_learner_n
	adaboost_model = ADABOOST_tr(tr_set,tr_labels,i);
	[L_tr,hits_tr] = ADABOOST_te(adaboost_model,tr_set,tr_labels);
	tr_error(i) = (tr_n-hits_tr)/tr_n;%训练样本错误率
	[L_te,hits_te] = ADABOOST_te(adaboost_model,te_set,te_labels);
	te_error(i) = (te_n-hits_te)/te_n;%测试样本错误率
end


        Adaboost主要是通过改变权重不断训练弱分类器,最后得到一个强分类器。随着迭代次数的增多,弱分类器也在增加,分类效果也就越好。

       本实例中设置weak_learner_n为20,也就是迭代到最后,有20个弱分类器组成。对20次循环来说,每次循环产生的弱分类器数量不同,逐步递增,分类效果也越来越好,,这可以通过tr_error(i)的结果来进行分析,te_error(i),是相应的各个弱分类器组的预测能力。

      ADABOOST_tr %函数功能:用来生成加权的弱分类器组合

      ADABOOST_te%测试函数,主要是对前面训练的弱分类器组进行误差检测,返回的hits值就是正确分类的个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值