Boosting 算法基本原理
Boosting算法的工作机制 是首先
从训练集用初始权重
训练出一个弱学习器1,根据弱学习的学习误差率
表现来更新训练样本的权重
,使得之前弱学习器1学习误差率高
的训练样本点的权重变高
,使得这些误差率高的点
在后面的弱学习器2中得到更多的重视
。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略
进行整合,得到最终的强学习器。
对应问题
- 1 如何计算弱学习器的
学习误差率e
- 2 如何得到弱学习器的
权重系数α
- 3 如何
更新训练样本权重D
- 4 使用何种
结合策略
Adaboost 算法
在boosting系列算法中, Adaboost
是最著名的算法之一。Adaboost既可以用作分类
,也可以用作回归
算法流程
标准AdaBoost算法只适用于二分类任务
个人描述
指示函数
学习器权重和样本权重 公式推导
权重之和为1
Adaboost算法的正则化
小结
理论上任何学习器都可以用于Adaboost.但一般来说,使用最广泛的Adaboost弱学习器是决策树和神经网络
。对于决策树,Adaboost分类用了CART分类树,而Adaboost回归用了CART回归树。
这里对 Adaboost算法的优缺点 做一个总结。
Adaboost的主要优点
有:
1)Adaboost作为分类器时,分类精度很高
2)在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。
3)作为简单的二元分类器时,构造简单,结果可理解。
4)不容易发生过拟合
Adaboost的主要缺点
有:
1)对异常样本敏感
,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性
传送门
集成学习之Adaboost算法原理小结
AdaBoost算法详解以及代码实现
AdaBoost算法详解与python实现
数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)