【AdaBoost学习笔记】

算法描述

1.上文随机森林中介绍了Bootstraping(构造多个子数据集,每个数据集不一样),本篇AdaBoost则是使用同一个数据集(每个数据有权重)通过串行训练多个弱分类器。在训练过程中,当前弱分类器中数据的权重会根据上一个弱分类器的错误率进行调节,最终集合所有弱分类器的结果进行表决,得到一个强分类的结果。[2]中提供一个更生动的描述,推荐阅读。

知识储备

在这里插入图片描述

举个栗子

1.先用伪代码讲解:
初始化D
/第一个循环定义构建多少个弱分类器,若当前分类器错误率为零则不再构建其他分类器/
for 弱分类器:
更新下一个弱分类器的数据权重
/第二个循环遍历数据集的每一维特征并计算该维特征的步长/
for 特征维度:
步长=(最大值-最小值) / 步长参数
stepSize = (rangeMax - rangeMin) / numSteps
/第三个循环遍历阈值索引/
for 阈值索引:
/第四个循环寻找找当前阈值的最佳分类方式(sign),lt代表小于阈值则赋值为-1
,反之则赋值1,gt则与lt相反
/
for 分类方式:
阈值= 最小值 + 索引*步长
threshVal = (rangeMin + float(j) * stepSize)
根据阈值计算错误率
在这里插入图片描述

实现代码

1.debug实现版本。[1]

算法分析

1.当数据中有噪声点,AdaBoost会提高噪声点的权重,即对噪音敏感。

资料引用

[1]GitHub:https://github.com/wzy6642/Machine-Learning-in-Action-Python3/tree/master/AdaBoost_Project1
[2]CSDN:https://blog.csdn.net/lzx159951/article/details/106809994
[3]书籍:《统计学习方法》-作者:李航
此算法笔记会在CSDN、知乎、b站及公众号同步更新,账号名为一枚嘉应子。转载注明出处,侵权必究。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值