zoukankan      html  css  js  c++  java
  • Machine Learning --- Boosting & AdaBoost & Bootstrap

    一、Boosting基本思想

    思想很朴素,“三个臭皮匠顶个诸葛亮”,由若干个弱分类器可组合成强分类器,通过调整样本的权重(概率)来迭代训练弱分类器(如decision tree),最后形成性能优异的强分类器(如SVM)。主要分为两个步骤:1.改变训练样本的权重分布;2.将弱分类器组合起来。算法内容如下:

    二、AdaBoost(多个弱分类器的线性组合)

    在Boosting思想下,AdaBoost算法诞生了(具体化了权重分配与弱分类器组合),算法内容很简单如下:

    image

    图例如下:

    imageimageimage

    image

    image

    训练误差分析:

    弱分类器的错误率(因为弱分类器总比随机猜测好,随机猜测错误率0.5):

    image

    则训练误差(训练误差随循环次数T指数下降):

    因此权重更新公式化简为:分错时Dt+1=Dt/(2ε)  分对时Dt+1=Dt/(2(1-ε))

    当训练次数T很大时通常也不会过拟合,下图采用决策树C4.5做Boosting:

    image

    三、Bootstrap自助法(有放回采样,类似大数定理,用来估计分布的方差/期望)

    Bootstrap是重采样技术的一种,重采样除了Bootstrap法还有刀切法(jackknife)。Bootstrap用来计算任意分布的标准误差(或方差)、偏差和置信区间,是一种基于数据的模拟方法。基本思想:利用样本数据计算统计量和估计样本分布。通过从原始数据X1~n进行b次有放回采样n个数据,得到bootstrap样本Xb1~n 。在一个bootstrap样本中不包含某个原始样本的概率为:

    image

    从T的分布中进行b次Bootstrap重采样,当b无穷大时,bootstrap样本均值无限逼近该分布的期望E(T),同样可用bootstrap样本的方差近似分布的方差V(T)。

    例:求均值

    X=(3.12, 0, 1.57, 19.67, 0.22, 2.2),bootstrap为:

    X1=(1.57, 0.22, 19.67, 0, 0.22, 3.12),X2=(0, 2.2, 2.2, 2.2, 19.67, 1.57),X3=(0.22, 3.12, 19.67, 3.12, 2.2, 0.22)

    mean(X)=4.46≈mean(mean(X1)+mean(X2)+mean(X3))=4.4

  • 相关阅读:
    一家软件公司的笔试题
    利用jQuery实现多文件上传
    利用jquery实现内容回滚
    获取MS SQL库数据字典的经典SQL语句
    利用jQuery实现Gridview 选中行相关数据显示
    油气井是怎么打成的
    数据库问题小记(SQL 2000系列)
    利用jQuery实现GridView固定表头
    经典SQL语句
    jQuery改变GridView的样式
  • 原文地址:https://www.cnblogs.com/jizhiyuan/p/3423050.html
Copyright © 2011-2022 走看看