继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

机器学习 西瓜书 Day10 集成学习

慕侠2389804
关注TA
已关注
手记 414
粉丝 55
获赞 156

p171 - p196
今天是开销很大的一天= =

第八章 集成学习

8.1 个体与集成

集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统,基于委员会的学习等。

如果集成的学习器种类相同,则称这样的集成是“同质”的。
同质集成中的个体学习器亦成为“基学习器”,相应的学习算法称为“基学习算法”。

集成也可以是“异质”的。

集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。这对“弱学习器”尤为明显。
因此集成学习的很多理论都是针对弱学习器进行的。

要获得好的集成,个体学习器应“好而不同”。(举例p172)

假设基分类器的错误率相互独立,集成的错误率随着分类器的数目增大而指数级下降。

但实际上假设是不现实的,且准确性和多样性往往就存在着冲突。
事实上,如何产生并结合“好而不同”的个体学习器,恰是集成学习研究的核心。

根据个体学习器生成方式,目前的集成学习大致分为两大类:
1)个体学习器间存在强依赖关系,必须串行生成的序列化方法。
如Boosting
2)不存在强依赖关系,可同时生成的并行化方法。
如Bagging,随机森林。

8.2 Boosting

Boosting将弱学习器提升为强学习器。
工作机制:
先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续获得更多关注,然后基于调整后的样本分布来训练下一个基学习器,如此重复进行,直到学习器数量达到T,之后加权组合这T个学习器

AdaBoost
算法伪码 p174 图8.3

使用基学习器的线性组合来最小化指数损失函数

经p174数学验证,指数损失函数最小化就意味着分类错误率的最小化。
且指数函数具有很好的数学性质,所以用他代替0/1损失函数作为优化目标。

Boosting要求基学习器能对特定的数据分布进行学习
这可通过“重赋权法”实施,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重。

而对无法接受带权样本的基学习算法,可采用“重采样法”来进行处理:
即在每一轮学习中,根据样本分布对训练集重新采样,再用重采样而得的样本集对基学习器进行训练。

同时,Boosting算法在训练每一轮都要检查生成的基学习器是否满足基本条件(如是否比随机猜要好?)。

这时,若无法达到T个,则采用重采样法进行处理。

标准AdaBoost只适用于二分类。

8.3 Bagging与随机森林

“基学习器”独立难达到,但我们可以尽量让他们有差异。
可以将数据集划分,一部分训练一个。
但这样又有可能不准。
解决方案:考虑使用相互有交叠的采样子集。

8.3.1 Bagging

并行式集成学习算法中最著名的代表。
直接基于2.2.3中的自助采样法

自助采样生成T个含m个训练样本的采样集,然后训练出T个学习器,对T个组合之。

对一切投票/平均相等,采用最简单方法,或参考置信度。。

训练一个Bagging是很高效的,与直接使用基学习算法训练一个学习器的复杂度同阶。

8.3.2 随机森林(RF)

是Bagging的一个扩展变体。

以决策树为基学习器构建Bagging集成。
并在决策树的训练过程中引入了随机属性选择

在RF中,对基决策树的每个节点,先从该结点的属性集合中随机选择一个包含k个属性的子集,再从自己中选一个用于划分。

k控制了随机性。

RF在很多任务中,性能强大。

RF的训练效率常优于Bagging。

8.4 结合策略

现在有T个学习器,咋结合?

8.4.1 平均法

分简单平均与加权平均

一般而言,在个体学习器性能相差较大时宜采用加权平均,相近时采用简单平均。

8.4.2 投票法

分类任务常用的结合策略。
分为绝对多数投票法(过半才行,否则放弃),相对多数投票法(最多的),加权投票。

8.4.3 学习法

训练数据较多时,更强大的结合策略:
“学习法”,即通过另一个学习器来进行结合。

个体学习器,称为初级学习器
用于结合的学习器,称为次级学习器或元学习器。

学习法的典型代表:Stacking

8.5 多样性

8.5.1 误差-分歧分解

用数学推理论证了“准且多样”的正确性。
p185 - 186

8.5.2 多样性测量

用于度量集成中个体分类器的多样性。
典型做法是考虑个体分类器的两两不相似性。

给出列联表(见p187 )
给出了一些常见的多样性度量及公式。(p187)
不合度量、相关系数、Q-统计量、k-统计量。

8.5.3 多样性增强

如何增强多样性呢?
一般思路是在学习过程中引入随机性。

数据样本扰动

对于“不稳定基学习器”有效:如决策树、神经网络
“稳定基学习器”就效果不大:线性、SVM、朴素贝叶斯、knn。

输入属性扰动

从不同的属性子空间来训练。

输出表示扰动

算法参数扰动



作者:皇家马德里主教练齐达内
链接:https://www.jianshu.com/p/1804de125647


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP