adaboost

AdaBoost的一般流程

(1)收集数据:可以使用任何方法;

(2)准备数据:依赖于所使用的若分类器类型;

(3)分析数据:可以使用任意方法

(4)训练算法:AdaBoost的大部分时间都用在训练上,分类器将多次在同一数据集上训练若分类器;

(5)测试算法:计算分类的错误率;

(6)使用算法:同SVM一样,AdaBoost预测的两个类别中的一个,如果想要把它应用到多个类的场合,那么就像多类SVM中的做法一样对AdaBoost进行修改。

AdaBoost

优点 泛化错误率低,易编码,可以应用在大部分分类器上,无需参数调整

缺点 对离群点敏感

适合数据类型 数值型和标称型数据

2.训练算法:基于错误提升分类器的性能

AdaBoost是adaptive
boosting(自适应boosting)的缩写,其运行过程:训练集中的每个样本,赋予其一个权重,这些权重构成向量D。一开始,这些权重都初试化成相等值。首先在训练数据上训练处一个若分类器并计算该分类器的错误率,然后在同一数据集上再次训练若分类器。在分类器的第二次训练当中,将会重新调整每个样本的权重,其中第一次分队的样本的权重值将会降低,而第一次分错的样本的权重将会提高。为了从所有分类器中得到最终的分类结果,AdaBoost为每个分类器都分配了一个权重值alpha,这些alpha值是基于每个分类器的错误率进行计算的。其中错误率定义为

在这里插入图片描述
在这里插入图片描述

3.AdaBoost算法的实现

整个实现的伪代码如下:

对每次迭代:

1 利用buildStump()函数找到最佳的单层决策树

2 将最佳单层决策树加入到单层决策树数据中

3 计算alpha

4 计算心的权重向量D

5 更新累计类别估计值

6 如果错误率低于0.0 则退出循环

基于单层决策树的AdaBoost训练过程在这里插入图片描述

4.测试算法拥有了多个若分类器以及其对应的alpha值,进行测试就方便了。
AdaBoost分类函数:利用训练处的多个若分类器进行分类的函数。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值