ML in Action - AdaBoost

AdaBoost是最流行的元算法,通过结合多个弱分类器形成强分类器。它对离群点敏感,适用于数值型和标称型数据。文章介绍了AdaBoost的工作原理,包括弱分类器与强分类器的概念,以及AdaBoost的训练过程和权重调整。同时,讨论了AdaBoost的优缺点,以及在错误率低的情况下如何构建集成方法。最后提到了评估分类性能的指标如混淆矩阵、精确率、召回率和ROC曲线。
摘要由CSDN通过智能技术生成

根据书上所说,AdaBoost是最流行的元算法。元算法是对其他算法进行组合的一种方式。

在这本书中,我们在前面学到了5种分类算法,现在让我们把不同分类器组合起来,这种组合结果称为集成方法(ensemble method—)或者元算法(meta-algorithm)。使用集成方法时有很多种形式,可以是不同算法的集成,也可以是同一算法在不同设置下的集成。,还可以是数据集的不同部分分配给不同分类器之后的集成。接下来在本章中,我们会基于同一种分类器多个不同实例来学习两种计算方法。在这些方法中,数据集也会不断变化,而后用于不同的实例分类器上。最后,会讨论如何利用机器学习问题的通用框架来应用AdaBoost算法。

 

AdaBoost:

优点:泛化错误率低,容易解码,可以用在大部分分类器上,无参数调整。

缺点:对离群点敏感。

适用于数值型和标称型数据。

 

P1:

bagging:基于数据随机重取样的分类器构建方法

自举汇聚法(boostrap aggregating)又名bagging方法,是从原始数据集中选择S次后得到S个新数据集的一种技术。新数据集和原数据集的大小相等,每个数据集都是在原始数据集中随机选择一个样本来进行替换而得到的。这里的替换意思是可以多次选择同一样本。这样的话,也就是允许新数据集中可以有重复的值,而原始数据集的某些值在新数据集中可能不存在。

在S个数据集建好以后,将某个学习方法分别作用于每个数据集中,就得到了S个分类器。当我们要对新数据分类时,就可以用这S个分类器进行分类。选择分类器投票结果中最多的类别作为最后的分类结果。

bagging方法中有一个称为随机森林(random forest)。

boosting

boosting是一种与bagging很类似的技术,所使用的多个分类器的类型都是一致的。但在前者中,不同的分类器是通过串行训练而获得的,每个新分类器都根据已训练出的分类器的性能来进行训练。boosting是通过集中关注被已有分类器错分的那些数据来获得新的分类器。

boosting分类的结果是基于所有分类器的加权求和结果,这是与bagging不太一样的地方。bagging中的分类器权重是相等的,boosting中的分类器权重并不相等,每个权重代表的是其对应分类器在上一轮迭代中的成功度。

boosting有多个版本,AdaBoost(adaptive boosting)是其中之一。

 

也就是,bagging和boosting分类方式一样,但bagging是数据集单独去训练,投票得到最好的分类结果,而boosting是根据之前训练好的迭代去训练得出结果。

 

P2:

这里要提到弱分类器和强分类器。在二分类情况下,弱分类器的错误率会高于50%,而强分类器的错误率会低很多,AdaBoost算法就是解决这个问题的。

AdaBoost的过程是:

训练数据中的每个样本,把训练得到的每个样本的权重构成了向量D。首先在训练数据中训练出一个弱分类器并计算错误率,然后在同一数据集中再次训练弱分类器。迭代调整权重,提高之前错分的,降低之前正确的。每个分类器也有权重alpha,根据错误率\varepsilon进行计算。

错误率=未正确分类的样本数目/所有样本数目

而alpha的公式:

\alpha =\frac{1}{2}\ln(\frac{1-\varepsilon }{\varepsilon })

迭代更新权重:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值