目录
集成学习
集成学习(ensemble learning)----通过构建并结合多个机器学习器来完成学习任务的机器学习算法。
集成学习用于: 1)分类问题集成
2)回归问题集成
3)特征选取集成
4)异常点检测集成
集成学习主要问题:1)是如何得到若干个个体学习器;
2)如何选择一种结合策略,将这些个体学习器集合成一个强学习器。
集成学习-若干个个体学习器分为:同质、异质。
同质:所有的个体学习器都是一个种类的(比如:都是决策树/神经网络的个体学习器);
------同质依赖关系:1)存在强依赖关系,一系列个体学习器基本都需要串行生成(boosting系列算法)。
2)不存在强依赖关系,一系列个体学习器可以并行生成(bagging和随机森林(Random Forest)系列算法)。
异质:所有的个体学习器不全是一个种类的(比如:分类问题,对训练集采用支持向量机、逻辑回归、朴素贝叶斯的个体学习器来学习,再通过某种结合策略来确定最终的分类强学习器)。
集成学习-个体学习器
集成学习-boosting
boosting的算法原理
Boosting算法的工作机制:
1)首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。
2)然后基于调整权重后的训练集来训练弱学习器2。
3)重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。
代表算法:AdaBoost算法和提升树(boosting tree)系列算法。
集成学习-bagging
Bagging的算法原理
bagging算法的工作机制:
1)通过随机采样得到个体弱学习器的训练集;
2)T次的随机采样,得到T个采样集;对于这T个采样集,分别独立的训练出T个弱学习器;
3)再对这T个弱学习器通过集合策略来得到最终的强学习器。
知识扩展:
自助采样法(Bootstrap sampling):对于m个样本的原始训练集,每次先随机采集一个样本放入采样集,接着把该样本放回,也就是说下次采样时该样本仍有可能被采集到,这样采集m次,最终可以得到m个样本的采样集,由于是随机采样,这样每次的采样集是和原始训练集不同的,和其他采样集也是不同的,这样得到多个不同的弱学习器。
随机森林是bagging的一个特化进阶版。特化:是因为随机森林的弱学习器都是决策树;进阶:随机森林在bagging的样本随机采样基础上,又加上了特征的随机选择;其基本思想没有脱离bagging的范畴。
集成学习-结合策略
假定通过训练数据,得到的T个弱学习器是{h1,h2,...hT}。
平均法
对于数值类的回归预测问题,通常使用的结合策略是平均法,也就是说,对于若干个弱学习器的输出进行平均得到最终的预测输出。
最简单的是算术平均,最终预测:
若每个个体学习器有一个权重w,则最终预测:
其中wi是个体学习器hi的权重:
优缺点:相对比较简单,但学习误差可能较大。
投票法
对于分类问题的预测,通常使用的是投票法。假设我们的预测类别是{c1,c2,...cK},对于任意一个预测样本x,T个弱学习器的预测结果分别是(h1(x),h2(x)...hT(x))。
最简单的投票法是相对多数投票法,稍微复杂的投票法是绝对多数投票法,更加复杂的是加权投票法。
相对多数投票法(少数服从多数):T个弱学习器的对样本x的预测结果中,数量最多的类别ci为最终的分类类别。如果不止一个类别获得最高票,则随机选择一个做最终类别。
绝对多数投票法(票过半数):在相对多数投票法的基础上,不光要求获得最高票,还要求票过半数。否则会拒绝预测。
加权投票法:每个弱学习器的分类票数要乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别(和加权平均法一样)。
优缺点:相对比较简单,但学习误差可能较大。
学习法
stacking是学习法的代表方法。在stacking的结合策略时, 不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器。即:将训练集弱学习器的学习结果作为输入,重新训练一个学习器来得到最终结果。
在这种情况下,弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。