zoukankan      html  css  js  c++  java
  • AdaBoost (Adaptive Boosting) 自适应增强算法在预测中的应用

    AdaBoost学习算法用于提高简单学习算法的分类性能。

    它通过组合一组弱分类函数(具有较高分类错误的弱分类器)来形成更强的分类器。最后的强分类器的预测结果是:采用弱分类器的预测值乘以当前分类器的权重的加权组合的形式。

    AdaBoost方法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。

    AdaBoost方法对于噪声数据和异常数据很敏感,但在一些问题中,AdaBoost方法相对于大多数其它学习算法而言,不会很容易出现过拟合现象。AdaBoost方法中使用的分类器可能很弱(比如出现很大错误率),但只要它的分类效果比随机好一点(比如两类问题分类错误率略小于0.5),就能够改善最终得到的模型。而错误率高于随机分类器的弱分类器也是有用的,因为在最终得到的多个分类器的线性组合中,可以给它们赋予负系数,同样也能提升分类效果。

    与Boosting的区别

    Boosting 是一种将弱分类器转化为强分类器的方法统称,而AdaBoost是其中的一种,采用了exponential loss function(其实就是用指数的权重),根据不同的loss function还可以有其他算法,比如L2Boosting, logitboost等。

    实现思路:

    AdaBoost方法是一种迭代算法,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率。每一个训练样本都被赋予一个权重,表明它被某个分类器选入训练集的概率。如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它被选中的概率就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高。

    具体过程:

     优点分析:

    Adaboost作为分类器时,分类精度很高
    在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。
    作为简单的二元分类器时,构造简单,结果可理解。
    不容易发生过拟合
    主要缺点:

    对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。

  • 相关阅读:
    378. Kth Smallest Element in a Sorted Matrix
    387. First Unique Character in a String
    230. Kth Smallest Element in a BST
    384. Shuffle an Array(随机排序)
    454. 4Sum II
    627. Swap Salary
    166. Fraction to Recurring Decimal
    763. Partition Labels(贪心)
    496. Next Greater Element I
    766. Toeplitz Matrix
  • 原文地址:https://www.cnblogs.com/xinyuePhd/p/13182419.html
Copyright © 2011-2022 走看看