马健第八章:集成学习集成学习个体与集成BoostingAdaboostBagging与随机森林结合策略平均法投票法学习法多样性误差-分歧分解多样性度量多样性扰动个体与集成集成学习(ensemblelearning)通过构建并结合多个学习器来提升性能个体与集成考虑一个简单的例子,在二分类问题中,假定3个分类器在三个样本中的表现如下图所示,其中√表示分类正确,X号表示分类错误,集成的结果通过投票产生。集成个体应:好而不同个体与集成–简单分析考虑二分类问题,假设基分类器的错误率为:假设集成通过简单投票法结合𝑇个分类器,若有超过半数的基分类器正确则分类就正确个体与集成–简单分析假设基分类器的错误率相互独立,则由Hoeffding不等式可得集成的错误率为:上式显示,在一定条件下,随着集成分类器数目的增加,集成的错误率将指数级下降,最终趋向于0个体与集成–简单分析上面的分析有一个关键假设:基学习器的误差相互独立现实任务中,个体学习器是为解决同一个问题训练出来的,显然不可能互相独立事实上,个体学习器的“准确性”和“多样性”本身就存在冲突如何产生“好而不同”的个体学习器是集成学习研究的核心集成学习大致可分为两大类集成学习个体与集成BoostingAdaboostBagging与随机森林结合策略平均法投票法学习法多样性误差-分歧分解多样性度量多样性扰动BoostingBoostingBoostingBoosting个体学习器存在强依赖关系,串行生成每次调整训练数据的样本分布Boosting-Boosting算法Boosting算法最著名的代表是AdaBoostBoosting–AdaBoost算法Boosting–AdaBoost推导基学习器的线性组合最小化指数损失函数Boosting–AdaBoost注意事项数据分布的学习重赋权法重采样法重启动,避免训练过程过早停止00.20.40.60.80.20.40.6好瓜坏瓜密度含糖率00.20.40.60.80.20.40.6好瓜坏瓜密度含糖率00.20.40.60.80.20.40.6好瓜坏瓜密度含糖率(a)3个基学习器(b)5个基学习器(c)11个基学习器Boosting–AdaBoost实验从偏差-方差的角度:降低偏差,可对泛化性能相当弱的学习器构造出很强的集成集成学习个体与集成BoostingAdaboostBagging与随机森林结合策略平均法投票法学习法多样性误差-分歧分解多样性度量多样性扰动Bagging与随机森林个体学习器不存在强依赖关系并行化生成自助采样法Bagging与随机森林-Bagging算法Bagging与随机森林-Bagging算法特点时间复杂度低假定基学习器的计算复杂度为O(m),采样与投票/平均过程的复杂度为O(s),则bagging的复杂度大致为T(O(m)+O(s))由于O(s)很小且T是一个不大的常数因此训练一个bagging集成与直接使用基学习器的复杂度同阶可使用包外估计(由于Bootstrapsampling只使用2/3左右数据,剩下的用作验证,称为“包外估计”—outofbagestimate)Bagging与随机森林-包外估计𝐻𝑜𝑜𝑏(𝑥)表示对样本𝑥的包外预测,即仅考虑那些未使用样本𝑥训练的基学习器在𝑥上的预测Bagging泛化误差的包外估计为:00.20.40.60.80.20.40.6好瓜坏瓜密度含糖率00.20.40.60.80.20.40.6好瓜坏瓜密度含糖率00.20.40.60.80.20.40.6好瓜坏瓜密度含糖率(a)3个基学习器(b)5个基学习器(c)11个基学习器Bagging与随机森林-Bagging实验从偏差-方差的角度:降低方差,在不剪枝的决策树、神经网络等易受样本影响的学习器上效果更好Bagging与随机森林-随机森林随机森林(RandomForest,简称RF)是bagging的一个扩展变种采样的随机性属性选择的随机性Bagging与随机森林-随机森林实验集成学习个体与集成BoostingAdaboostBagging与随机森林结合策略平均法投票法学习法多样性误差-分歧分解多样性度量多样性扰动(a)统计的原因同等性能的假设结合策略学习器的组合可以从三个方面带来好处(b)计算的原因假设空间结合策略学习器的组合可以从三个方面带来好处(c)表示的原因个体假设真实假设结合策略学习器的组合可以从三个方面带来好处结合策略–平均法简单平均法加权平均法结合策略–投票法绝对多数投票法(majorityvoting)相对多数投票法(pluralityvoting)加权投票法(weightedvoting)结合策略–学习法Stacking是学习法的典型代表多响应线性回归(MLR)作为次级学习器的学习算法效果较好贝叶斯模型平均(BMA)集成学习个体与集成BoostingAdaboostBagging与随机森林结合策略平均法投票法学习法多样性误差-分歧分解多样性度量多样性扰动多样性–误差-分歧分解定义个体学习器ℎ𝑖的分歧(ambiguity):集成的分歧:多样性–误差-分歧分解分歧项代表了个体学习器在样本𝑥上的不一致性,即在一定程度上反映了个体学习器的多样性,个体学习器ℎ𝑖和集成𝐻的平方误差分别为多样性–误差-分歧分解令表示个体学习器误差的加权均值,有上式对所有样本𝑥均成立,令𝑝(𝑥)表示样本的概率密度,则在全样本上有多样性–误差-分歧分解个体学习器ℎ𝑖在全样本上的泛化误差和分歧项分别为:集成的泛化误差为:令表示个体学习器泛化误差的加权均值,表示个体学习器的加权分歧值,有多样性–误差-分歧分解这个漂亮的式子显示:个体学习器精确性越高、多样性越大,则集成效果越好。称为误差-分歧分解为什么不能直接把𝐸−𝐴作为优化目标来求解?现实任务中很难直接对𝐸−𝐴进行优化,它们定义在整个样本空间上𝐴不是一个可直接操作的多样性度量上面的推导过程只适用于回归学习,难以直接推广到分类学习任务上去对于二分类问题,分类器ℎ𝑖与ℎ𝑗的预测结果联立表(contingencytable)为多样性–多样性度量多样性度量(diversitymeasure)用于度量集成中个体学习器的多样性常见的多样性度量不合度量(DisagreementMeasure)相关系数(CorrelationCoefficient)多样性–多样性度量常见的多样性度量Q-统计量(Q-Statistic)K-统计量(Kappa-Statistic)多样性–多样性度量多样性–多样性度量𝑘−误差图数据点云的位置越低,个体分类器越准确数据点云的位置越靠左,个体分类器多样性越大50颗C4.5决策树的结果多样性–多样性增强常见的增强个体学习器的多样性的方法数据样本扰动输入属性扰动输出表示扰动算法参数扰动多样性–多样性增强-数据样本扰动数据样本扰动通常是基于采样法Bagging中的自助采样法Adaboost中的序列采样对数据样本的扰动敏感的基学习器(不稳定基学习器)决策树,神经网络等对数据样本的扰动不敏感的基学习器(稳定基学习器)线性学习器,支持向量机,朴素贝叶斯,k近邻等数据样本扰动对“不稳定基学习器”很有效随机子空间算法(randomsubspace)多样性–多样性增强–输入属性扰动翻转法(FlippingOutput):随机改变一部分训练样本的标记输出调剂法(OutputSmearing):将分类输出转化为回归输出等ECOC法:利用纠错输出码将多个问题拆解为一系列的二分类任务多样性–多样性增强–输出表示扰动负相关法不同的多样性增强机制同时使用多样性–多样性增强–算法参数扰动阅读材料集成学习方面的主要推荐读物是[Zhou,2012],本章提及的所有内容在该书中都有更深入的详细介绍。[Kuncheva,2004;Rockach,2010b]可供参考,[SchapireandFreund,2012]则是专门关于Boosting的著作,集成学习方面有一些专门性的会议MCS(InternationalWorkshoponMultipleClassifierSystem).Boosting源于[Schapire,1990]对[KearnsandValiant,1989]提出的”弱分类器是否等价于强学习”这个重要理论问题的构造性证明。最初的Boosting算法仅有理论意义,经数年努力后[FreundandSchapire,1997]提出Adaboost,并因此或得理论计算机科学方面的重要奖项—哥德尔奖。关于Boosting和Bagging已有的很多理论研究结果课参阅[Zhou,2012]第2-3章。