欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

数据挖掘十大经典算法之——AdaBoost 算法

发布时间:2025/3/21 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 数据挖掘十大经典算法之——AdaBoost 算法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

数据挖掘十大经典算法系列,点击链接直接跳转

  • 数据挖掘简介及十大经典算法(大纲索引)
  • 1. 数据挖掘十大经典算法之——C4.5 算法
  • 2. 数据挖掘十大经典算法之——K-Means 算法
  • 3. 数据挖掘十大经典算法之——SVM 算法
  • 4. 数据挖掘十大经典算法之——Apriori 算法
  • 5. 数据挖掘十大经典算法之——EM 算法
  • 6. 数据挖掘十大经典算法之——PageRank 算法
  • 7 数据挖掘十大经典算法之——AdaBoost 算法
  • 8. 数据挖掘十大经典算法之——KNN 算法
  • 9. 数据挖掘十大经典算法之——Naive Bayes 算法
  • 10. 数据挖掘十大经典算法之——CART 算法

简介

  Adaboost :Adaptive Boosting(自适应提升)

  Boosting :Boostings是提升的意思,提升算法是一种常见的统计学习方法,其作用是将弱学习算法提升为强学习算法。其理论基础为:强可学习器与弱可学习器是等价的,即可通过某些方法将学习中发现的’弱学习算法’特生为强可学习器,这是数学可证明的。
  在分类学习中,提升算法通过反复修改训练数据的权值分布,构建一系列的基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强学习器。

  Adaboost算法:是Boosting的代表算法之一。Ada是自适应的Adaptive的缩写.是一种迭代算法,其核心思想是针对同一个训练集,通过反复修改数据的权重,从而训练多个不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个强分类器。其算法本身是通过改变数据分布来实现的,它根据每次训练集中每个样本的分类正确性,以及上次总体分类结果的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器融合起来,作为最终决策分类器。

原理

  Adaboost 算法的训练过程就是找出若干个弱分类器[5]。 设 n 个弱分类器(h1,h2,…,hn)是由相同的学习算法形成 的,每个弱分类器能单独对未知样本分类成正样本或负样本(二分类情况),通过加权统计弱分类器的分类结果得出最终的分类结果。 选择弱分类器的过程中,只要求分类器对样本的分类能力大于自然选择就可以了,即分类错误率小于0.5。 凡是分类错误率低于0.5 的分类器都可以作为弱分类器,但在实际的训练过程中,还是选择错误率最低的分类器作为该轮选择的弱分类器,表示 如下:


  其中,p=±1, 用于改变不等式的方向,θj 代表某个特征 j 的阈值。 Adaboost 算法模型如图 1 所示。


  图 1 中, 权重代表弱分类器对样本分类的贡献大小,其值越大,表明特征对样本的分类能力越好。分类结果是由 n 个弱分类器加权“投票”的结果,投票结果与某一阈值比较,得出最终对样本的分类。 强分类器 F 表示为:

步骤

  • 权值调整,提升被错误分类的样本的权重,降低被正确分类的权重
  • 基分类器组合,采用加权多数表决算法,加大分类误差率较小的弱分类器的权重,减小误差大的。

具体为:

  • 先通过对N 个训练样本的学习得到第一个弱分类器;

  • 将分错的样本和其他的新数据一起构成一个新的N 个的训练样本,通过对这个样本的学习得到第二个弱分类器;

  • 将分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器;

  • 如此反复,最终得到经过提升的强分类器。

  • 特性

    • Adaboost更加专注于偏差,他可以降低基学习器的偏差,对基学习器进行进一步的提升.
    • Adaboost的默认基学习器是决策树,我们也可以使用其他基学习器证明其对降低偏差的影响.
    • Adaboost的训练误差分析表明,Adaboost每次迭代可以减少它在训练数据集上的分类误差率,这说明了它作为提升方法的有效性.但是在实际使用中要注意方差-偏差困境,避免泛化能力的降低.

    案例

    • 【实例讲解】Adaboost算法原理分析和实例+代码

    代码

    代码来源广泛,本文多为集大成操作,深度研究请关注原创:

    • 【python】AdaBoost算法特性
    • 【MATLAB】机器学习 AdaBoost算法的MATLAB实现

    学术

    • 【算法研究】 基于软间隔的AdaBoost弱分类器权重调整算法
    • 【算法优化】 基于Adaboost和CART结合的优化分类算法
    • 【算法优化】 基于SVM与AdaBoost组合的分类算法研究

    应用

    目前AdaBoost 算法广泛的应用于人脸检测、目标识别等领域。

    • 【目标检测】 基于改进Adaboost算法的车牌定位研究
    • 【人脸识别】基于肤色和改进的AdaBoost人脸检测算法研究

    参考资料

    • 【博客】AdaBoost算法特性
    • 【论文】基于 Adaboost 和 CART 结合的优化分类算法

    :本文旨在引导探索,深度学习还需认真研究相关学者的成果。文章如有侵权,请联系作者删除

    总结

    以上是生活随笔为你收集整理的数据挖掘十大经典算法之——AdaBoost 算法的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。