--------韦访 20181101
1、概述
这一讲,我们来看看集成算学习。集成学习通过构建并结合多个学习器来完成学习任务。目前集成学习大致分为两大类,一类是个体学习器之间不存在强依赖关系,可以同时生成的并行化方法;另一类是个体学习器之间存在强依赖关系,必须串行生成的序列化方法。第一类的代表是Bagging和随机森林,第二类的代表是Boosting。下面一一讲解。
2、Bagging模型
Bagging模型的全称是bootstrap aggregation,它的核心思想就是训练多个学习器,然后取平均,公式如下,
Bagging最典型的代表就是随机森林(Random Rorest,简称RF)了,随机森林是以决策树为基学习器,并在决策树的训练过程中引入了随机数据采样和随机特征选择。
假设有100个数据,10个特征,那么,每个决策树都随机抽取60个数据和随机抽取6个特征来训练,这样,每个决策树的训练和结果都是独立的,就可以并行的训练,都得到结果后,再取平均,示意图如下,
由于二重随机性,使得每棵树基本上不会一样,最终得到的结果一般也不会一样,如下图,
随机森林的优势:
(1)简单易实现,计算开销小,速度快,但在很多现实任务中展现出强大的性能。
(2)能处理高维度(特征很多)数据,且不用做特征选择
(3)训练完后,可以给出哪些特征的重要程度。做法也很简单,假设有A、B、C、D四个特征,想知道B特征的重要程度,可以生成一些随机的噪音数据来替换原来的数据,带入模型,得到一个错误率err1,用err1跟原来的未替换数据前的错误率err0比较,如果err0≈err1,说明B特征不重要,如果err1>>err0,说明B特征很重要。根据特征的重要程度,我们就可以删除特征重要性非常低的特征了,如下图所示,最后三个特征完全可以删除,
随机森林理论上树越多效果越好,但实际上,树到一定数量就差不多上下浮动而已了,一般选100到200棵树即可,视情况而定。
3、Boosting模型
Boosting模型可以将弱学习器提升为强学习器。先从最初训练集训练出一个基学习器,再根据基学习器的表现对训练样本权重进行调整,使得前一个基学习器做错的训练样本在后续受到更多关注,然后,基于调整后的样本权重来训练下一个基学习器,如此重复训练,直至基学习器数目达到指定值T,最终对这T个学习器进行加权结合。公式如下,
Boosting模型的典型代表是AdaBoost和XgBoost。
理论就讲到这,下一讲,用实例说明怎么使用它们来解决实际问题。
如果您感觉本篇博客对您有帮助,请打开支付宝,领个红包支持一下,祝您扫到99元,谢谢~~