Machine Learning --- Boosting & AdaBoost & Bootstrap
一、Boosting基本思想
思想很朴素,“三个臭皮匠顶个诸葛亮”,由若干个弱分类器可组合成强分类器,通过调整样本的权重(概率)来迭代训练弱分类器(如decision tree),最后形成性能优异的强分类器(如SVM)。主要分为两个步骤:1.改变训练样本的权重分布;2.将弱分类器组合起来。算法内容如下:
二、AdaBoost(多个弱分类器的线性组合)
在Boosting思想下,AdaBoost算法诞生了(具体化了权重分配与弱分类器组合),算法内容很简单如下:
图例如下:
训练误差分析:
弱分类器的错误率(因为弱分类器总比随机猜测好,随机猜测错误率0.5):
则训练误差(训练误差随循环次数T指数下降):
因此权重更新公式化简为:分错时Dt+1=Dt/(2ε) 分对时Dt+1=Dt/(2(1-ε))
当训练次数T很大时通常也不会过拟合,下图采用决策树C4.5做Boosting:
三、Bootstrap自助法(有放回采样,类似大数定理,用来估计分布的方差/期望)
Bootstrap是重采样技术的一种,重采样除了Bootstrap法还有刀切法(jackknife)。Bootstrap用来计算任意分布的标准误差(或方差)、偏差和置信区间,是一种基于数据的模拟方法。基本思想:利用样本数据计算统计量和估计样本分布。通过从原始数据X1~n进行b次有放回采样n个数据,得到bootstrap样本Xb1~n 。在一个bootstrap样本中不包含某个原始样本的概率为:
从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
posted on 2013-11-14 12:21 Jizhiyuan 阅读(1168) 评论(0) 编辑 收藏 举报