《统计学习方法》笔记(四)提升方法

提升方法思路

提升方法思路比较简单,它意在通过改变训练样本之间相对的权重,从而学习出多个分类器,并将这些分类器进行线性组合,从而提高分类的性能。 Adaboost采用迭代的思想,每次迭代只训练一个弱分类器,训练好的弱分类器将参与下一次迭代的使用。也就是说,在第N次迭代中,一共就有N个弱分类器,其中N-1个是以前训练好的,其各种参数都不再改变,本次训练第N个分类器。其中弱分类器的关系是第N个弱分类器更可能分对前N-1个弱分类器没分对的数据,最终分类输出要看这N个分类器的综合效果。

第i轮迭代要做这么几件事: 
1. 新增弱分类器WeakClassifier(i)与弱分类器权重alpha(i) 
2. 通过数据集data与数据权重W(i)训练弱分类器WeakClassifier(i),并得出其分类错误率,以此计算出其弱分类器权重alpha(i) 
3. 通过加权投票表决的方法,让所有弱分类器进行加权投票表决的方法得到最终预测输出,计算最终分类错误率,如果最终错误率低于设定阈值(比如5%),那么迭代结束;如果最终错误率高于设定阈值,那么更新数据权重得到W(i+1)

强可学习与弱可学习

  • 如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么就称这个是强可学习的。
  • 如果存在一个多项式的学习算法能够学习它,但正确率仅比随机猜略好,那么就称这个概念是弱可学习的。

而Boost就是将弱可学习方法提升为强可学习方法的途径,所以叫做提升方法。提升方法就是从弱可学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,构成一个强分类器。 根据以上描述,可以看到有两个问题需要考虑:

  1. 在每一轮学习中,训练数据的权重值如何确定?
  2. 组合强分类器时,线性组合的系数如何确定?

对于第一个问题,AdaBoost算法是提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样做的结果就是,使得被错误分类的样本能得到更多关注。 对于第二个问题,AdaBoost采取加大分类误差率小的弱分类器的权值,使其起较大作用,并且减少分类误差率大的权值。可见,这里的决定因素就是这个分类误差率的大小。

算法

输入:训练数据集 图片 ,其中 图片;弱学习算法。 输出:最终分类器G(x)。

  1. 初始化训练数据的权值分布: 图片
  2. 对于m=1,2,3...M a). 使用具有权值分布Dm的训练数据集学习,得到基本分类器Gm(x)→{-1,+1} b). 计算Gm(x)在训练数据集上的误差率: 图片 c). 计算Gm(x)的系数: 图片 d). 更新训练数据集的权值分布: 图片 其中,Zm是规范化因子, 图片
  3. 构建基本分类器的线性组合并得到最终分类器: 图片

从以上算法可以看到: 最开始步骤1,我们假设了样本具有均匀的权重分布,它将产生一个基本分类器G1(x)。 步骤2是一个m从1到M的循环过程,每一次循环都可以产生一个弱分类器。

  1. 对于b).可以看到,分类误差率实际上就是被误分类点的权值之和。
  2. 对于c).是在计算当前弱分类器在线性组合中的系数,由其表达式可知,当e<=0.5时,α>=0,并且随着e的减小而增大,这正印证了我们需要使误差率小的弱分类器的权值更大这个事实。
  3. 对于d).可以看到,每一个样本的权值ω,都与它原来的标签yi以及预测的标签Gm(xi)有关,当预测正确即它们同号时,exp指数是一个负值,这样就会减小原来样本点的权重;当预测不正确即它们异号时,exp指数是一个正值,它会增加当前样本点的权重。这正印证了我们需要使被误分类样本的权值更大这个事实。

步骤3中要注意一点的是,所有αi之和并不是等于1的,其仅表示对应分类器的重要性。 f(x)的符号决定了实例x的类,它绝对值的大小,表示分类的确信度

提升树


提升树是以分类树或者回归树为基本分类器的提升方法,它被广泛的应用,例如有名的梯度提升树GBDT,以及另一篇博文分析的XGBOOST。 提升树也是提升方法的一种,所以它的模型还是加法模型,只是选择了决策树作为基函数。则提升树的模型为$latex f_{M}(X)=\sum_{m=1}^{M} T(x:\theta_{m})$。 对于不同的应用情况,模型可以采用不同的损失函数。对于回归问题,可以采用平方误差损失,对于分类问题,可以采用指数损失函数,这里的损失函数一般都只包含了经验损失,并未关注结构风险,这是一个缺点。

梯度提升树算法

梯度提升树利用损失函数的负梯度在当前模型的值,即$latex -[\frac{\partial L_{(y,f(x_{i}))}}{\partial f(x_{i})}]_ {f(x)=f_{m-1}(x)}$,作为回归问题提升树算法中的残差的近似值而拟合回归树。 关于提升树,可参考XGBOOST博文。

http://www.wyblog.cn/2016/11/25/xgboost%E6%96%87%E7%8C%AE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/


猜你喜欢

转载自blog.csdn.net/ch1209498273/article/details/80397926
今日推荐