数据挖掘:集成学习

集成学习

集成学习是通过构建并结合多个学习器来完成学习任务,集成学习通过将多个学习器结合,获得比单一学习器显著优越的泛化性能。集成学习分为同质集成和异质集成,如果个体学习器全是一种算法称为同质集成,如果由不同算法生成,称为异质集成
数据挖掘:集成学习_第1张图片

Bagging

机制:
从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中),共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的);

每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等);

对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)。

Bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,我们就可以得到T个采样集,对于这T个采样集,我们可以分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来得到最终的强学习器。对于这里的随机采样,一般采用的是自助采样法(Bootstrap sampling),即对于m个样本的原始训练集,我们每次先随机采集一个样本放入采样集,接着把该样本放回,也就是说下次采样时该样本仍有可能被采集到,这样采集m次,最终可以得到m个样本的采样集,由于是随机采样,这样每次的采样集是和原始训练集不同的,和其他采样集也是不同的,这样得到多个不同的弱学习器。

随机森林(很多个决策树并行放在一起,数据采样随机,特征选择随机,都是有放回的随机选取)是bagging的一个特化进阶版,所谓的特化是因为随机森林的弱学习器都是决策树。所谓的进阶是随机森林在bagging的样本随机采样基础上,又加上了特征的随机选择,其基本思想没有脱离bagging的范畴。bagging和随机森林算法的原理在后面的文章中会专门来讲。

Stacking

stacking(堆叠各种各样的分类器(KNN,SVM,RF等等),分阶段操作:第一阶段输入数据特征得出各自结果,第二阶段再用前一阶段结果训练得到分类结果。训练一个模型用于组合其他各个模型): 将训练好的所有基模型对训练基进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测:

数据挖掘:集成学习_第2张图片

Boosting

Boosting(提升算法,从弱学习器开始加强,通过加权来进行训练):训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。如果某一个数据在这次分错了,那么在下一次我就会给它更大的权重。对所有基模型预测的结果进行线性综合产生最终的预测结果
数据挖掘:集成学习_第3张图片

Adaboost

数据挖掘:集成学习_第4张图片

Regionboost

在adaboost当中,样本的权重alpha是固定的,蓝色五角星所在的圈中3个○分错了,红色五角星所在的圈中4个×和1个○都分对了,很容易让人想到,这个模型,对于红色位置的判断更加可信。
数据挖掘:集成学习_第5张图片

数据挖掘:集成学习_第6张图片

你可能感兴趣的:(机器学习,集成学习,数据挖掘)