集成方法Ensemble Method(bagging, AdaBoost)

1 主要思想

  • 将原始数据分成几个组
  • 训练一组分类器,里面有很多种弱分类器
  • 每个分类器的标签看作一次投票,投票最多的标签为最终标签

其架构如下所示:

集成方法Ensemble Method(bagging, AdaBoost)_第1张图片

2 为什么集成方法可行

假设这里有25个训练的弱分类器,且这些分类器独立工作,不会相互影响。

每一个分类器的出错率 \varepsilon =0.35

集成分类器的最终做出一个错误预测的概率(超过一半的基础分类器都预测错了)为:

P(X\geq 13)=\sum_{i=13}^{25}\binom{25}{i}\varepsilon ^i(1-\varepsilon )^{25-i}=0.06

其中:X为做出错误预测的弱分类器的数量

由此可见,集成分类器做出一个错误预测的概率比弱分类器低很多。

下图显示了,弱分类器(有的文档也称base classifier)的错误率(做出错误预测的概率)与集成分类器(ensemble classifier)的错误率之间的关系

集成方法Ensemble Method(bagging, AdaBoost)_第2张图片

由上图可见,当弱分类器的错误率低于0.5时,集成分类器才有效。

集成分类器主要分为两种,一种处理数据的分布,例如bagging,boosting;

另一种处理输入特征,例如 random forests

 

3 Bagging Algorithm

3.1 Pseudo code

集成方法Ensemble Method(bagging, AdaBoost)_第3张图片

  • 放回抽样(sampling with replacement)

3.2 实例

已知一维原始数据集:

集成方法Ensemble Method(bagging, AdaBoost)_第4张图片

弱分类器是一个单层决策树(desicion stump)

集成方法Ensemble Method(bagging, AdaBoost)_第5张图片

抽样,分类

集成方法Ensemble Method(bagging, AdaBoost)_第6张图片

集成方法Ensemble Method(bagging, AdaBoost)_第7张图片

统计各标签的得票数(正票数+负票数):

集成方法Ensemble Method(bagging, AdaBoost)_第8张图片

上图中最后一行为预估类(或标签)

 

4 AdaBoosting Algorithm

4.1 Boosting

在bagging中,每一轮sampling,数据被取得概率都是一样的,而Boosting更加关注哪些被误分类的数据。

在Boosting算法中,首先,在第一轮Boosting中,所有的数据都被分配相同的权重(被抽取的概率),

在以后的几轮抽取中,被抽取的权重发生变化,错误分类的数据的被抽取的权重将会提升,

而正确分类的数据被抽取的权重将会降低。

4.2 AdaBoosting 

4.2.1 Pseudo code

集成方法Ensemble Method(bagging, AdaBoost)_第9张图片

首先初始化权重w=1/n 并训练弱分类器:C1, C2, …, CT

其次,计算错误率:

集成方法Ensemble Method(bagging, AdaBoost)_第10张图片

计算一个分类器的重要性:

集成方法Ensemble Method(bagging, AdaBoost)_第11张图片

更新权重:

集成方法Ensemble Method(bagging, AdaBoost)_第12张图片

Z_j 使所有 w_i 之和为1.

如果错误率高于0.5,所有权重再次被分配为1/n

分类公式:

集成方法Ensemble Method(bagging, AdaBoost)_第13张图片

4.2.2 实例

3.2中的一维原始数据集:

集成方法Ensemble Method(bagging, AdaBoost)_第14张图片

基本分类器任然是一个单层决策树(desicion stump)

集成方法Ensemble Method(bagging, AdaBoost)_第15张图片

训练数据过程:

集成方法Ensemble Method(bagging, AdaBoost)_第16张图片

总结:

集成方法Ensemble Method(bagging, AdaBoost)_第17张图片

计算权重:

集成方法Ensemble Method(bagging, AdaBoost)_第18张图片

分类:

集成方法Ensemble Method(bagging, AdaBoost)_第19张图片

预测分类的计算:

集成方法Ensemble Method(bagging, AdaBoost)_第20张图片

你可能感兴趣的:(机器学习)