0
点赞
收藏
分享

微信扫一扫

集成学习——Adaboost


  • ​​1. Adaboost算法基本原理​​
  • ​​2. Adaboost 损失函数​​
  • ​​3. Adaboost 代码​​


1. Adaboost算法基本原理


自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。该方法对噪声数据和异常数据很敏感。 但不容易出现过拟合。 每一轮训练都更加关心分类错误的案例,增加分类错误的样例权重,减少分类正确的样例权重

集成学习——Adaboost_迭代

2. Adaboost 损失函数

Adaboost算法,它是前向分步加法算法的特例,是一个加和模型,损失函数就是指数函数。在Adaboost中,经过m此迭代之后,可以得到 fm(x): f m ( x ) :

集成学习——Adaboost_损失函数_02

集成学习——Adaboost_Adaboost算法_03


集成学习——Adaboost_迭代_04

Adaboost 优点:
很好的利用了弱分类器进行级联。
可以将不同分类算法作为弱分类器
Adaboost 具有很好高的精度,不容易过拟合
相对于 bagging/Random Forest 算法,Adaboost充分考虑到每个分类器的权重

Adaboost 缺点:
迭代次数也就是弱分类器数目不太好设定。
训练比较长
预测效果依赖于弱分类器的选择(Adaboost只是一个算法框架)

3. Adaboost 代码

sklearn.ensemble.AdaBoostClassifier(
#弱分类器自身参数
base_estimator = DcisionTreeClassifier, #选择一个弱分类器

#boosting框架参数
n_estimators = 50, #弱学习器 最大迭代次数
learning_rate = 1.0, #弱学习器 的权重缩减系数(0-1)
algorithm = 'SAMME.R', #弱分类器支持概率预测
random_state = None


举报

相关推荐

0 条评论