博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习经典算法总结(4)——集成学习
阅读量:5282 次
发布时间:2019-06-14

本文共 1465 字,大约阅读时间需要 4 分钟。

一、集成学习

1. 概念

    集成学习(ensemble learning)是通过构建并结合多个学习器来完成学习任务。在一些数据挖掘竞赛中经常需要对几个模型进行融合,这时候就可以用到集成学习算法。

2.“个体学习器”分类

    集成学习的一般结构:先产生一组“个体学习器”,再用某种策略把它们结合起来。“个体学习器”的分类有:

(1)基学习器集成中只包含同类型的个体学习器,即个体学习器由一个现有的学习算法(基学习算法)从训练数据产生,例如“决策树集成”中全是决策树,“神经网络集成”中全是神经网络。称这种集成方式是“同质”的。

(2)组件学习器:集成中包含不同类型的个体学习器。称这种集成方式是“异质”的。

3. 集成学习研究的核心

    集成学习通过对多个学习器结合,常可获得比单一学习器显著优越的泛化性能,这对“弱学习器”尤为明显。弱学习器weak learner)常指泛化性能略优于随机猜测的学习器。

    在一般经验中,把一个好的东西和一个坏的东西掺杂在一起,得到的结果通常是比坏的要好,比好的要坏。集成学习是怎么保证结合后比单一学习器效果更好呢?要获得好的集成。个体学习器应该“好而不同”,即个体学习器有一定的准确性——学习器不能太差,还要有多样性——学习器间有差异。如何产生并结合“好而不同”的学习器,是集成学习研究的核心。

4. 结合策略

(1)平均法Averaging:主要应用于回归问题,分为简单平均法和加权平均法。

(2)投票法 Voting:主要应用于分类问题,分为绝对多数投票法、相对多数投票法、加权投票法。

(3)学习法:当训练数据很多时采用学习法,即通过另一个学习器来进行结合,典型代表:Stacking。

5. 集成学习的分类

    常用的集成学习框架有Boosting、Bagging、Stacking等。Boosting是个体学习器间存在强依赖关系、必须串行生成的序列方法Bagging是个体学习器间不存在强依赖关系、可同时生成并行化方法;Stacking本身是一种著名的集成学习方法,也可看作一种特殊的结合策略。

二、Boosting

1. 典型算法

    Adaboost(Adaptive Boosting)、GBDT(Gradient Boosting Decision Tree)、XGBOOST

2. 原理

    先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整使先前基学习器做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;重复直到迭代次数达到T,最终将这T个基学习器进行加权结合

 

三、Bagging

1.  典型算法

    Bagging、随机森林RF(Random Forest)、Dropout

2.  原理

    Bagging方法bootstrap aggregating的缩写,基于自助采样法(bootstrap sampling即有放回的随机采样)。利用自助采样法采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再对这些基学习器进行结合

    自助采样过程还给Bagging带来一个优点:由于训练基学习器只用了初始训练集中约63.2%的样本,剩下的约36.8%的样本可用作验证集,对泛化性进行外包估计。

四、Stacking

    首先从初始训练集训练出初级学习器,然后通过交叉验证或留一法等方法生成一个新的数据集,用于训练次级学习器。

                 

转载于:https://www.cnblogs.com/yucen/p/9343577.html

你可能感兴趣的文章
Thymeleaf模板格式化LocalDatetime时间格式
查看>>
庖丁解“学生信息管理系统”
查看>>
Pyltp使用
查看>>
其他ip无法访问Yii的gii,配置ip就可以
查看>>
php做的一个简易爬虫
查看>>
x的x次幂的值为10,求x的近似值
查看>>
jquery获取html元素的绝对位置和相对位置的方法
查看>>
ios中webservice报文的拼接
查看>>
Power BI 报告的评论服务支持移动设备
查看>>
ACdream 1068
查看>>
HDU 2665 Kth number
查看>>
记叙在人生路上对你影响最大的三位老师
查看>>
002.大数据第二天
查看>>
python装饰器
查看>>
树上的路径
查看>>
系统平均负载
查看>>
问题总结
查看>>
软件随笔
查看>>
Linux下SVN自动更新web [转]
查看>>
Openstack api 学习文档 & restclient使用文档
查看>>