《机器学习》之 集成学习(上)

一.个体与集成

在这里插入图片描述
(图片来自网络)

同质:只包含同种类型的个体学习器,相应的算法为“基学习器”。有时候基学习器被称为弱学习器。

异质:包含多种个体学习器,个体学习器为“组件学习器”。

集成条件:个体学习器好而不同,即个体学习器要有一定的“准确性”,而且要有“多样性”。

研究核心:个体学习器的“准确性‘’和“多样性“存在冲突,准确性很高以后就要牺牲多样性,。产生并结合“好而不同”的个体学习器。
集成学习方法两大类:个体学习器之间存在强依赖关系,串行生成序列化方法:boosting;不存在强依赖关系,并行化方法:Bagging、Random Forest.
在这里插入图片描述
要获得好的集成,个体学习器应该“好而不同”。如下图,图1中每个分类器只有66.6%的精度,集成之后精度为100%,图2中集成之后性能没有提高,图3中每个分类器只有33.3%的精度,集成之后变得更糟。
在这里插入图片描述
在这里插入图片描述
由上式可知,随着集成中个体分类器数目T的增大,集成的错误率将呈指数级下降

目前集成学习方法大致分为两大类

  • 个体学习器间存在强依赖关系、必须串行生成得序列化方法(Boosting)
  • 个体学习器间不存在强依赖关系、可同时生成得并行化方法(Bagging和随机森林)

二.Boosting

Boosting是一族可将弱学习器提升为强学习器的算法。
这族算法的工作原理为:

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

2.1 Adaboost

Adaboost算法的提出
在这里插入图片描述
Adaboost原理算法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从偏差-方差 分解的角度来看,Boosting主要关注降低偏差,因此Boosting能基于泛化能力非常弱的学习器构建出很强的集成。

三.Bagging

Bagging算法 (英语:Bootstrap aggregating,引导聚集算法),又称装袋算法,是机器学习领域的一种团体学习算法。最初由Leo Breiman于1996年提出。Bagging算法可与其他分类、回归算法结合,提高其准确率、稳定性的同时,通过降低结果的方差,避免过拟合的发生。
在这里插入图片描述
(图片来自网络)

  • Bagging采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些及学习器进行结合。
  • 采样的方法使用自助采样法。
  • 从偏差-方差分解的角度看,Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效果更明显。

3.1随机森林

在这里插入图片描述
(图片来自网络)

随机森林基本原理

随机森林由LeoBreiman(2001)提出,它通过自助法(bootstrap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练样本集合,然后根据自助样本集生成k个分类树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。其实质是对决策树算法的一种改进,将多个决策树合并在一起,每棵树的建立依赖于一个独立抽取的样品,森林中的每棵树具有相同的分布,分类误差取决于每一棵树的分类能力和它们之间的相关性。特征选择采用随机的方法去分裂每一个节点,然后比较不同情况下产生的误差。能够检测到的内在估计误差、分类能力和相关性决定选择特征的数目。单棵树的分类能力可能很小,但在随机产生大量的决策树后,一个测试样品可以通过每一棵树的分类结果经统计后选择最可能的分类。

随机森林有许多优点:

  • 具有极高的准确率
  • 随机性的引入,使得随机森林不容易过拟合
  • 随机性的引入,使得随机森林有很好的抗噪声能力
  • 能处理很高维度的数据,并且不用做特征选择
  • 既能处理离散型数据,也能处理连续型数据,数据集无需规范化
  • 训练速度快,可以得到变量重要性排序
  • 容易实现并行化

随机森林的缺点:

  • 当随机森林中的决策树个数很多时,训练时需要的空间和时间会较大
  • 随机森林模型还有许多不好解释的地方,有点算个黑盒模型

与上面介绍的Bagging过程相似,随机森林的构建过程大致如下:

  1. 从原始训练集中使用Bootstraping方法随机有放回采样选出m个样本,共进行n_tree次采样,生成n_tree个训练集
  2. 对于n_tree个训练集,我们分别训练n_tree个决策树模型
  3. 对于单个决策树模型,假设训练样本特征的个数为n,那么每次分裂时根据信息增益/信息增益比/基尼指数选择最好的特征进行分裂
  4. 每棵树都一直这样分裂下去,直到该节点的所有训练样例都属于同一类。
  5. 在决策树的分裂过程中不需要剪枝,将生成的多棵决策树组成随机森林。
  6. 对于分类问题,按多棵树分类器投票决定最终分类结果;对于回归问题,由多棵树预测值的均值决定最终预测结果

参考:
周志华 《机器学习》
清华大学《机器学习》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DFCED

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值