集成学习

23 篇文章 0 订阅
12 篇文章 0 订阅

集成学习方法分为两大类:

1)基于boost的方法:

基本原理就是利用一系列弱学习器组成一个强学习器。这些弱学习按顺序依次训练得到。
这个方法是首先给每个样本赋一个权值,这个权值被利用到损失函数中。然后训练第一个弱学习器,完成训练之后,根据这个弱学习器在训练集的上的表现,更新样本权值,具体来说就是预测错误的样本被赋予更大的权值,预测正确的值被赋予更小的权值,然后继续训练第二个弱学习器。这样训练N个弱学习器后,将这个N个弱学习器加权求和,作为最终的强学习器。这个N个弱学习器的权重完全根据他们自己的性能确定,性能越好权重越大
比较典型的就是adaboost算法。此算法要点就是,样本权重如何更新,以及弱基学习器的权重如何求。实际上,adaboost算法是前向分步算法的特例,在前向分步算法的损失函数为指数损失函数时,可以推导出adaboost算法中弱基学习器的权重计算公式,以及样本权重的更新规则。

假设已经训练好了 m − 1 m-1 m1个基分类器 G 1 ( x ) , . . . , G m − 1 ( x ) {G_{1}(x),..., G_{m-1}(x)} G1(x),...,Gm1(x),因为前面 m − 1 m-1 m1个弱基分类器的权重分别为 { α 1 , . . . , α m − 1 } \{\alpha_1,...,\alpha_{m-1}\} {α1,...,αm1},且
f m − 1 = ∑ i = 1 m − 1 α i G i ( x ) f_{m-1}=\sum\limits_{i=1}^{m-1}\alpha_iG_{i}(x) fm1=i=1m1αiGi(x),
或者 f m − 1 = f m − 2 + α m − 1 G m − 1 ( x ) , f 0 = 0 f_{m-1}=f_{m-2}+\alpha_{m-1}G_{m-1}(x), f_0=0 fm1=fm2+αm1Gm1(x),f0=0

指数损失函数
L ( α m , G m ( x ) ) = ∑ i = 1 N e x p ( − y i f m ( x i ) ) = ∑ i = 1 N e x p ( − y i ( f m − 1 ( x i ) + α m G m ( x i ) ) ) = ∑ i = 1 N e x p ( − y i f m − 1 ( x i ) ) e x p ( − y i α m G m ( x i ) ) L(\alpha_m,G_m(x)) \\=\sum\limits_{i=1}^Nexp(-y_if_m(x_i)) \\=\sum\limits_{i=1}^Nexp(-y_i(f_{m-1}(x_i)+\alpha_mG_m(x_i))) \\=\sum\limits_{i=1}^Nexp(-y_if_{m-1}(x_i))exp(-y_i\alpha_mG_m(x_i)) L(αm,Gm(x))=i=1Nexp(yifm(xi))=i=1Nexp(yi(fm1(xi)+αmGm(xi)))=i=1Nexp(yifm1(xi))exp(yiαmGm(xi))
因为 e x p ( − y i f m − 1 ( x i ) ) exp(-y_if_{m-1}(x_i)) exp(yifm1(xi))是常数,记为 w ‾ m , i = e x p ( − y i f m − 1 ( x i ) ) \overline w_{m,i}=exp(-y_if_{m-1}(x_i)) wm,i=exp(yifm1(xi))
(此处可看出,在已知前m-1个分类器以及其系数的情况下,如果求 G m ( x ) G_m(x) Gm(x)使得整体最优,相当于最小化 G m ( x ) G_m(x) Gm(x)的加权损失函数,其未归一化权值为 e x p ( − y i f m − 1 ( x i ) ) exp(-y_if_{m-1}(x_i)) exp(yifm1(xi))。)
指示函数:
I ( z ) = { 1 , z 为 真 0 , z 为 假 \mathbb{I}(z)=\left\{ \begin{array}{rcl} 1, & z为真\\ 0, & z为假 \end{array} \right. I(z)={1,0,zz
a r g min ⁡ α m L ( α m , G m ( x ) ) = a r g min ⁡ α m ∑ i = 1 N w ‾ m , i e x p ( − y i α m G m ( x i ) ) = a r g min ⁡ α m ∑ i = 1 N w ‾ m , i ( e x p ( − α m ) I ( y i = G m ( x i ) ) + e x p ( α m ) I ( y i ≠ G m ( x i ) ) = a r g min ⁡ α m ∑ i = 1 N w ‾ m , i ( e x p ( − α m ) ( 1 − I ( y i ≠ G m ( x i ) ) ) + e x p ( α m ) I ( y i ≠ G m ( x i ) ) arg\min\limits_{\alpha_m} L(\alpha_m,G_m(x)) \\=arg\min\limits_{\alpha_m}\sum\limits_{i=1}^N\overline w_{m,i}exp(-y_i\alpha_mG_m(x_i)) \\=arg\min\limits_{\alpha_m}\sum\limits_{i=1}^N\overline w_{m,i}(exp(-\alpha_m)\mathbb{I}(y_i=G_m(x_i))+exp(\alpha_m)\mathbb{I}(y_i\neq G_m(x_i)) \\=arg\min\limits_{\alpha_m}\sum\limits_{i=1}^N\overline w_{m,i}(exp(-\alpha_m)(1-\mathbb{I}(y_i\neq G_m(x_i)))+exp(\alpha_m)\mathbb{I}(y_i\neq G_m(x_i)) argαmminL(αm,Gm(x))=argαmmini=1Nwm,iexp(yiαmGm(xi))=argαmmini=1Nwm,i(exp(αm)I(yi=Gm(xi))+exp(αm)I(yi=Gm(xi))=argαmmini=1Nwm,i(exp(αm)(1I(yi=Gm(xi)))+exp(αm)I(yi=Gm(xi))

∂ L ∂ α m = 0 \frac{\partial L}{\partial \alpha_m}=0 αmL=0
则:
α m = 1 2 l n ∑ i = 1 N w ‾ m , i − ∑ i = 1 N w ‾ m , i I ( y i ≠ G m ( x i ) ) ∑ i = 1 N w ‾ m , i I ( y i ≠ G m ( x i ) ) \alpha_m=\frac{1}{2}ln\frac{\sum\limits_{i=1}^{N}\overline w_{m,i}-\sum\limits_{i=1}^{N}\overline w_{m,i}\mathbb{I}(y_i\neq G_m(x_i))}{\sum\limits_{i=1}^{N}\overline w_{m,i}\mathbb{I}(y_i\neq G_m(x_i))} αm=21lni=1Nwm,iI(yi=Gm(xi))i=1Nwm,ii=1Nwm,iI(yi=Gm(xi))
因为adaboost算法加权错误率为:
ϵ m = ∑ i = 1 N w ‾ m , i I ( y i ≠ G m ( x i ) ) ∑ i = 1 N w ‾ m , i \epsilon_m=\frac{\sum\limits_{i=1}^{N}\overline w_{m,i}\mathbb{I}(y_i\neq G_m(x_i))}{\sum\limits_{i=1}^{N}\overline w_{m,i}} ϵm=i=1Nwm,ii=1Nwm,iI(yi=Gm(xi))
所以:
α m = 1 2 l n 1 − ϵ m ϵ m \alpha_m=\frac{1}{2}ln\frac{1-\epsilon_m}{\epsilon_m} αm=21lnϵm1ϵm
也就是说当前的弱基分类器的权重和且只和它的性能有关

然后我们考虑如何更新样本权重:
a r g min ⁡ G m ( x ) L ( α m , G m ( x ) ) = a r g min ⁡ G m ( x ) ∑ i = 1 N w ‾ m , i e x p ( − y i α m G m ( x i ) ) = a r g min ⁡ G m ( x ) ∑ i = 1 N w ‾ m , i ( e x p ( − α m ) ( 1 − I ( y i ≠ G m ( x i ) ) ) + e x p ( α m ) I ( y i ≠ G m ( x i ) ) = a r g min ⁡ G m ( x ) ∑ i = 1 N w ‾ m , i ( e x p ( α m ) − e x p ( − α m ) ) I ( y i ≠ G m ( x i ) ) = a r g min ⁡ G m ( x ) ∑ i = 1 N w ‾ m , i I ( y i ≠ G m ( x i ) ) = a r g min ⁡ G m ( x ) ∑ i = 1 N w ‾ m , i I ( y i ≠ G m ( x i ) ) ∑ i = 1 N w ‾ m , i = a r g min ⁡ G m ( x ) ∑ i = 1 N w m , i I ( y i ≠ G m ( x i ) ) arg\min\limits_{G_m(x)} L(\alpha_m,G_m(x)) \\=arg\min\limits_{G_m(x)}\sum\limits_{i=1}^N\overline w_{m,i}exp(-y_i\alpha_mG_m(x_i)) \\=arg\min\limits_{G_m(x)}\sum\limits_{i=1}^N\overline w_{m,i}(exp(-\alpha_m)(1-\mathbb{I}(y_i\neq G_m(x_i)))+exp(\alpha_m)\mathbb{I}(y_i\neq G_m(x_i)) \\=arg\min\limits_{G_m(x)}\sum\limits_{i=1}^N\overline w_{m,i}(exp(\alpha_m)-exp(-\alpha_m))\mathbb{I}(y_i\neq G_m(x_i)) \\=arg\min\limits_{G_m(x)}\sum\limits_{i=1}^N\overline w_{m,i}\mathbb{I}(y_i\neq G_m(x_i)) \\=arg\min\limits_{G_m(x)}\frac{\sum\limits_{i=1}^N\overline w_{m,i}\mathbb{I}(y_i\neq G_m(x_i))}{\sum\limits_{i=1}^N\overline w_{m,i}} \\=arg\min\limits_{G_m(x)}\sum\limits_{i=1}^N w_{m,i}\mathbb{I}(y_i\neq G_m(x_i)) argGm(x)minL(αm,Gm(x))=argGm(x)mini=1Nwm,iexp(yiαmGm(xi))=argGm(x)mini=1Nwm,i(exp(αm)(1I(yi=Gm(xi)))+exp(αm)I(yi=Gm(xi))=argGm(x)mini=1Nwm,i(exp(αm)exp(αm))I(yi=Gm(xi))=argGm(x)mini=1Nwm,iI(yi=Gm(xi))=argGm(x)mini=1Nwm,ii=1Nwm,iI(yi=Gm(xi))=argGm(x)mini=1Nwm,iI(yi=Gm(xi))
再一次可以清晰看到,在已知前m-1个分类器以及其系数的情况下( α m \alpha_m αm为正的未知系数,不影响结果),如果求 G m ( x ) G_m(x) Gm(x)使得整体最优,等价于最小化 G m ( x ) G_m(x) Gm(x)的加权损失函数,其未归一化权值为 e x p ( − y i f m − 1 ( x i ) ) exp(-y_if_{m-1}(x_i)) exp(yifm1(xi)),归一化权重为 w m , i w_{m,i} wm,i

并且有效损失函数权重为:
w m , i = w ‾ m , i ∑ i = 1 N w ‾ m , i w_{m,i}=\frac{\overline w_{m,i}}{\sum\limits_{i=1}^N\overline w_{m,i}} wm,i=i=1Nwm,iwm,i
且可以推导出权重更新公式:
因为
w ‾ m , i = e x p ( − y i f m − 1 ( x i ) ) \overline w_{m,i}=exp(-y_if_{m-1}(x_i)) wm,i=exp(yifm1(xi))

w ‾ m + 1 , i = e x p ( − y i f m ( x i ) ) = e x p ( − y i ( f m − 1 + α m G m ( x i ) ) ) = e x p ( − y i ( f m − 1 ) ) e x p ( − y i α m G m ( x i ) ) = w ‾ m , i e x p ( − y i α m G m ( x i ) \overline w_{m+1,i}=exp(-y_if_{m}(x_i)) \\=exp(-y_i(f_{m-1}+\alpha_mG_m(x_i))) \\=exp(-y_i(f_{m-1}))exp(-y_i\alpha_mG_m(x_i)) \\=\overline w_{m,i}exp(-y_i\alpha_mG_m(x_i) wm+1,i=exp(yifm(xi))=exp(yi(fm1+αmGm(xi)))=exp(yi(fm1))exp(yiαmGm(xi))=wm,iexp(yiαmGm(xi)
则新权重为:
w ‾ m + 1 , i ′ = w m , i e x p ( − y i α m G m ( x i ) ) \overline w_{m+1,i}'=w_{m,i}exp(-y_i\alpha_mG_m(x_i)) wm+1,i=wm,iexp(yiαmGm(xi))
归一化后有效权重为:
w m + 1 , i = w ‾ m + 1 , i ′ ∑ i = 1 N w ‾ m + 1 , i ′ w_{m+1,i}=\frac{\overline w_{m+1,i}'}{\sum\limits_{i=1}^N\overline w_{m+1,i}'} wm+1,i=i=1Nwm+1,iwm+1,i
每次基于旧的有效权重生成新的权重后,新的权重都需要归一化来成为有效权重。

2)Bagging方法

Bagging相对简单,可以并行得到多个弱基分类器,然后投票或者其他方法融合。
需要注意的是,Bagging方法中,为保证分类器的差异性,需要保证训练集的差异性。一般才有有放回采样,也就是在N个样本的数据集中有放回采样M个样本作为第一个基分类器的样本,然后同样的方法构造其它基分类器的训练集。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值