AdaBoost算法

本文的翻译是在高级课程“数据科学数学”开始前夕进行的



介绍


AdaBoost算法可用于提高任何机器学习算法的性能。机器学习已成为基于大量数据进行预测的强大工具。今天它变得如此流行,以至于机器学习应用程序甚至在日常任务中都能找到应用程序。最常见的示例之一是基于客户过去购买的产品推荐。机器学习(通常称为预测分析或预测建模)可以定义为计算机无需显式编程即可学习的能力。机器学习使用预先建立的算法来分析输入数据,以基于某些标准进行预测。

什么是AdaBoost算法?


在机器学习中,需要加强以将弱分类器转换为强分类器。弱学习算法或分类器是一种学习算法,其性能优于随机猜测,并且在重新训练的情况下效果很好,因为对于大量弱分类器而言,任何弱分类器都将比随机采样更好。作为弱分类器,通常threshold根据特定标准使用通常的分类器。如果符号threshold比预期值(阈值),则表示正区域,否则-表示负区域。

AdaBoost的意思是“自适应增强”或“自适应增强”。它将弱学习算法转变为强学习算法以解决分类问题。

用于分类的最终方程式如下:



此处f m是第m个弱分类器,其中m负责相应的权重。

AdaBoost算法如何工作?


AdaBoost可用于提高机器学习算法的性能。它在弱训练算法下效果最佳,因此在解决分类问题时,此类模型可以获得的精度远高于随机值。 AdaBoost使用的最常见算法是单级决策树。弱学习算法是分类器或预测算法,其准确性方面相对较差。此外,我们可以说弱分类器易于计算,因此您可以结合算法的许多实体,使用Boosting创建更强大的分类器。

如果我们有一个数据集,其中n是点数,而



其中-1是负数类别,1是正数类别。然后将初始化每个点的权重,如下所示:



下面表达式中的每个m的范围从1到M。
首先,您需要选择一个加权分类误差最小的弱分类器,然后将分类器应用于数据集。



然后我们计算第m个弱分类器的权重,如下所示:



重量对于任何分类器为正,精度超过50%。权重越大,分类器越准确。当精度低于50%时,重量将变为负数。可以通过反转符号来组合预测。因此,可以将精度为40%的分类器转换为精度为60%的分类器。因此,即使分类器的效果比随机猜测还差,它也将有助于最终预测。但是,最终结果在精度为50%的分类器的影响下不会有任何改变。

如果权重为正的分类器分类不正确,分子中的指数将始终大于1。迭代后,分类错误的对象的权重将增加。负权重的分类器的行为类似。符号反转存在差异:正确的分类将变得不正确。可以通过考虑每个分类器的贡献并计算其加权预测的总和来计算最终预测。

每个点的权重将更新如下:



Z m是归一化参数。需要确保所有实例权重之和为1。

AdaBoost算法在哪里使用?


AdaBoost可用于人脸识别,因为它是用于此类任务的标准算法。它使用由几层分类器组成的拒绝级联。当识别区域在任何层上均未检测到脸部时,将被拒绝。该区域中的第一个分类器会丢弃负区域,以最大程度地降低计算成本。尽管AdaBoost用于组合弱分类器,但AdaBoost原理也用于为级联中的每一层找到最佳功能。

AdaBoost算法的优缺点


AdaBoost算法的众多优点之一是它易于编程,编程快速且容易。此外,它具有足够的灵活性,可以将其与任何机器学习算法结合使用,而无需设置参数(参数T除外)。它可以扩展到学习比二进制分类更复杂的任务,并且通用性强,因为它可以与数字或文本数据一起使用。

AdaBoost也有几个缺点,至少这一事实是通过经验证明的,并且非常容易受到均匀分布噪声的影响。如果分类器太弱,它们将导致结果不佳和再培训。

AdaBoost算法示例


例如,以大学的招生活动为例,申请者可以被录取,也可以不被录取。在这里您可以获取各种定量和定性数据。例如,可以量化可以表示为“是”或“否”的录取结果,同时可以定性地确定学生的技能和爱好。我们可以轻松得出训练数据的正确分类。假设,如果一个学生在某门学科中表现出色,那么他被接纳的可能性就会更高。但是,以高精度进行预测是一件很复杂的事情,弱分类器正是在此方面有所帮助。

结论


AdaBoost帮助为每个分类器选择一个训练集,该训练集是根据先前分类器的结果进行训练的。至于合并结果,该算法根据收到的响应确定应给每个分类器多少权重。它结合了弱分类器,可创建强而正确的分类错误,也是解决二进制分类问题的非常成功的增强算法。



了解有关该课程的更多信息。



All Articles