adaboosting

本文以Adaboost为例,详细解析了Boosting算法的工作原理及流程。介绍了如何通过加权平均训练多个弱分类器以获得更准确的预测结果,并讨论了算法的优点与缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

节选自:http://www.cnblogs.com/tornadomeet/p/3395593.html

Boosting:
  主要以Adaboost为例,首先来看看Adaboost的流程图,如下:
   

  从图中可以看到,在训练过程中我们需要训练出多个弱分类器(图中为3个),每个弱分类器是由不同权重的样本(图中为5个训练样本)训练得到(其中第一个弱分类器对应输入样本的权值是一样的),而每个弱分类器对最终分类结果的作用也不同,是通过加权平均输出的,权值见上图中三角形里面的数值。那么这些弱分类器和其对应的权值是怎样训练出来的呢?
  下面通过一个例子来简单说明。
  书中(machinelearning in action)假设的是5个训练样本,每个训练样本的维度为2,在训练第一个分类器时5个样本的权重各为0.2.注意这里样本的权值和最终训练的弱分类器组对应的权值α是不同的,样本的权重只在训练过程中用到,而α在训练过程和测试过程都有用到。
  现在假设弱分类器是带一个节点的简单决策树,该决策树会选择2个属性(假设只有2个属性)的一个,然后计算出这个属性中的最佳值用来分类。
  Adaboost的简单版本训练过程如下:
  1. 训练第一个分类器,样本的权值D为相同的均值。通过一个弱分类器,得到这5个样本(请对应书中的例子来看,依旧是machine learning in action)的分类预测标签。与给出的样本真实标签对比,就可能出现误差(即错误)。如果某个样本预测错误,则它对应的错误值为该样本的权重,如果分类正确,则错误值为0. 最后累加5个样本的错误率之和,记为ε。
  2. 通过ε来计算该弱分类器的权重α,公式如下:
   

  3. 通过α来计算训练下一个弱分类器样本的权重D,如果对应样本分类正确,则减小该样本的权重,公式为:
   

  如果样本分类错误,则增加该样本的权重,公式为:
   

  4. 循环步骤1,2,3来继续训练多个分类器,只是其D值不同而已。
  测试过程如下:
  输入一个样本到训练好的每个弱分类中,则每个弱分类都对应一个输出标签,然后该标签乘以对应的α,最后求和得到值的符号即为预测标签值。
  Boosting算法的优点:
  低泛化误差;
  容易实现,分类准确率较高,没有太多参数可以调;
  缺点:
  对outlier比较敏感;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值