分享

AdaBoost[2]

 lzqkean 2013-07-22

         Boosting最初是受统计学的启发,导出generalization error的上界,但是,这些上界太松而不能得到实际值,实际的boosting效果要比只用边界的结论要好的多。Friedman et alboosting给出了一个独特的,简单的解释,它使用顺序最小化指数误差函数来说明。

         考虑一个如下定义的指数误差函数(下一篇讲它的来历)

    AdaBoost[2]  - quweiprotoss - Koala  s blog

其中fm(x)是一个基分类器yl(x)的线性结合,yl(x)形式如下:

           AdaBoost[2]  - quweiprotoss - Koala  s blog

并且tn属于{-1,1}是目标值。我们的目标对权重系数alphal和基分类器yl(x)的参数最小化E

         这里并不对全局误差函数进行最小化,而是我们假设基分类器y1(x),…,ym-1(x)是固定的,它们的系数alpha1,…,alpham-1也是固定的。所以我们只用对alphamym(x)进行最小化。将基分类器ym(x)的贡献分离出来,我们可以将误差函数写成如下形式:

            AdaBoost[2]  - quweiprotoss - Koala  s blog

因为我们只对alphamym(x)最优化,所以其中系数wn(m)=exp{-tnfm-1(xn)}可以视为是常量。如果我们令Tmym(x)正确分类的数据点,而Mmym(x)错误分类的数据点,那么我们可以重写误差函数为:

            AdaBoost[2]  - quweiprotoss - Koala  s blog

当我们对ym(x)对上面公式进行最小化时,第二项是常量,而第一项前面的因子不会影响最小值,所以它等价于最小化(14.15)。类似的对alpham最小化,我们可以得到在(14.17)中通过(14.16)定义的epsilonm

         (14.22)中我们可以看到,得到alphamym(x),数据点的权重可以通过下式更新:

           AdaBoost[2]  - quweiprotoss - Koala  s blog

使用如下事实:

            AdaBoost[2]  - quweiprotoss - Koala  s blog

我们看到权重wn(m)在一下次迭代中使用:

            AdaBoost[2]  - quweiprotoss - Koala  s blog

因为exp(-alpham/2)独立于n,它对于所有的数据点都赋相同的权重,所以它可以被丢弃,然后就可以得到(14.18)

         最后,当所有的基分类器都训练后,新的数据通过(14.21)定义的函数将基分类器结合起来,再根据结果的符号来分类。因为因子1/2不影响符号,所以它可以被省略,与(14.19)相同。

 

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多