adaboost的通俗理解

Adaboost算法通过构造多个决策器并结合它们的投票来确定结果。算法首先为数据分配初始权重,寻找误差率最小的阈值作为第一个决策器。然后,根据错误率调整数据权重并构建新的决策器,重复此过程,直到满足停止条件。最终,多个决策器共同决定测试数据的结果。
摘要由CSDN通过智能技术生成



首先先讲个故事吧,三人成虎的故事应该都听说过吧。就是当三个人都来说同一件事情的时候,假的也成了真的。这个算法其实就是利用的这个原理,首先构造多个决策器,然后由多个决策器共同投票来确定一件事情的真伪。

下面直接上列子:



这里有0-9十条数据,这十条数据就是供给我们训练的。首先将这十件事情的权重都设为0.1。我们现在需要确定一个阈值(即分界点),把这十条数据分成误差率最小的两类。

假设我们将阈值设成0(即大于0的为一类,小于等于0的为第二类),那么理想情况应该是左边都是1,右边都是-1(也可以反过来,取错误率低于0.5的一种分法),然而现实是左边都是1满足了,而右边有3、4、5、9四条数据都错了,因为他们权重都是0.1,所以这种分法的错误率是0.4。再看反过来的情况,左边是-1,右边是1的话就有6个分错的,这样错误率就是0.6了,对于0这个阈值来说取错误率小于0.5的分法,所以我们说0作为阈值的错误率是0.4。

同样,我们遍历所有的阈值,可以查询出来当阈值为2或者8的时候错误率最小,为0.3。

我们就取2为第一个决策器的阈值(当然你选8也是可以的,只不过为了写程序便利惯用第一个检索到的)。记住故事上所说的,我们需要多个决策器来共同确定某一件事情的真伪,所以选出这一个决策器自然是不够的,首先他在判断6、7、8这三条数据的时候就出错了。怎样避免在6、7、8这三条上再次犯错呢,我们就需要构造更多的决策器。因为第一个决策器在6、7、8上犯错误了,所以他在最后表决权的权重就是0.4236,这个数值是怎么算来的呢?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值