没有合适的资源?快使用搜索试试~ 我知道了~
chap10-模型独立的学习方式1
需积分: 0 0 下载量 156 浏览量
2022-08-03
12:10:53
上传
评论
收藏 373KB PDF 举报
温馨提示
试读
26页
第 10 章模型独立的学习方式在前面的章节中,介绍了机器学习的几种学习方式,包括监督学习、无监督学习等。这些学习方式分别可以由不同的模型和算法实现,比如神经网络
资源详情
资源评论
资源推荐
第 10 章 模型独立的学习方式
在前面的章节中,介绍了机器学习的几种学习方式,包括监督学习、无监督
学习等。这些学习方式分别可以由不同的模型和算法实现,比如神经网络、线
性分类器等。针对一个给定的任务,首先要准备一定规模的训练数据,这些训练
数据需要和真实数据的分布一致,然后设定一个目标函数和优化方法,在训练
数据上学习一个模型。此外,不同任务的模型往往都是从零开始来训练的,一
切知识都需要从训练数据中得到。这也导致了每个任务都需要准备大量的训练
数据。在实际应用中,我们面对的任务往往难以满足上述要求,比如训练任务
和目标任务的数据分布不一致,训练数据过少等。这时机器学习的应用会受到
很大的局限。因此,人们开始关注一些新的学习方式的任务,现在的深度学习
因为无法快速适应新的任务,就没办法来替代人类的工作。
本章介绍一些“模型独立的学习方式”,比如集成学习、协同学习、自学习、
多任务学习、迁移学习、终身学习、小样本学习、元学习等。这里“模型独立”
是指这些学习方式不限于具体的模型,不管是前馈神经网络、循环神经网络还
是其他模型。然而一种学习方式往往会对符合某种特性的模型更加青睐,比如
集成学习往往和方差大的模型组合时效果显著。
10.1 集成学习
给定一个学习任务,假设输入 x 和输出 y 的真实关系为 y = h(x)。对于 M
个不同的模型 f
1
(x), · · · , f
M
(x),每个模型的期望错误为
R(f
m
) = E
x
f
m
(x) − h(x)
2
(10.1)
= E
x
ϵ
m
(x)
2
, (10.2)
其中 ϵ
m
(x) = f
m
(x) − h(x) 为模型 m 在样本 x 上的错误。
那么所有的模型的平均错误为
¯
R(f) =
1
M
M
m=1
E
x
[ϵ
m
(x)
2
]. (10.3)
232 2019 年 4 月 6 日 第 10 章 模型独立的学习方式
集成学习(Ensemble Learning)就是通过某种策略将多个模型集成起来,
通过群体决策来提高决策准确率。集成学习首要的问题是如何集成多个模型。
比较常用的集成策略有直接平均、加权平均等。
最直接的集成学习策略就是直接平均,即“投票”。基于投票的集成模型
f
(c)
(x) 为
F (x) =
1
M
M
m=1
f
m
(x). (10.4)
定理 10.1: 对于M 个不同的模型 f
1
(x), · · · , f
M
(x),其平均期望
错误为
¯
R(f)。基于简单投票机制的集成模型F (x) =
1
M
M
m=1
f
m
(x),
F (x) 的期望错误在
1
M
¯
R(f) 和
¯
R(f) 之间。
证明. 根据定义,集成模型的期望错误为
R(F ) = E
x
1
M
M
m=1
f
m
(x) − h(x)
2
(10.5)
=
1
M
2
E
x
M
m=1
ϵ
m
(x)
2
(10.6)
=
1
M
2
E
x
M
m=1
M
n=1
ϵ
m
(x)ϵ
n
(x)
(10.7)
=
1
M
2
M
m=1
M
n=1
E
x
ϵ
m
(x)ϵ
n
(x)
, (10.8)
其中 E
x
[ϵ
m
(x)ϵ
n
(x)] 为两个不同模型错误的相关性。如果每个模型的错误不相
关,即 ∀m = n, E
x
[ϵ
m
(x)ϵ
n
(x)] = 0。如果每个模型的错误都是相同的,则
∀m = n, ϵ
m
(x) = ϵ
n
(x)。并且由于 ϵ
m
(x) ≥ 0, ∀m,可以得到
¯
R(f) ≥ R(F ) ≥
1
M
¯
R(f), (10.9)
即集成模型的期望错误是大于等于所有模型的平均期望错误的 1/M,小于等于
所有模型的平均期望错误。
从定理10.1可知,为了得到更好的集成效果,要求每个模型之间具备一定
的差异性。并且随着模型数量的增多,其错误率也会下降,并趋近于 0。
集成学习的思想可以用一句古老的谚语来描述:“三个臭皮匠赛过诸葛亮”。
但是一个有效的集成需要各个基模型的差异尽可能大。为了增加模型之间的差
异性,可以采取 Bagging 类和 Boosting 类两类方法。
邱锡鹏:《神经网络与深度学习》 https://nndl.github.io/
10.1 集成学习 2019 年 4 月 6 日 233
Bagging 类方法 Bagging 类方法是通过随机构造训练样本、随机选择特征等方
法来提高每个基模型的独立性,代表性方法有 Bagging 和随机森林等。
Bagging(Bootstrap Aggregating)是一个通过不同模型的训练数据集的独
立性来提高不同模型之间的独立性。我们在原始训练集上进行有放回的随机采
样,得到 M 比较小的训练集并训练 M 个模型,然后通过投票的方法进行模型
集成。
随机森林(Random Forest)[Breiman, 2001] 是在 Bagging 的基础上再引入
了随机特征,进一步提高每个基模型之间的独立性。在随机森林中,每个基模
型都是一棵决策树。
Boosting 类方法 Bo osting 类方法是按照一定的顺序来先后训练不同的基模
型,每个模型都针对前序模型的错误进行专门训练。根据前序模型的结果,来
调整训练训练样本的权重,从而增加不同基模型之间的差异性。Boosting 类方
法是一种非常强大的集成方法,只要基模型的准确率比随机猜测好,就可以通
过集成方法来显著地提高集成模型的准确率。Boosting 类方法的代表性方法有
AdaBo ost[Freund et al., 1996] 等。
10.1.1 AdaBo ost 算法
Boosting 类集成模型的目标是学习一个加性模型(additive model)
F (x) =
M
m=1
α
m
f
m
(x), (10.10)
其中 f
m
(x) 为弱分类器(Weak Classifier),或基分类器(Base Classifier),α
m
为弱分类器的集成权重,F (x) 称为强分类器(Strong Classifier)。
Boosting类方法的关键是如何训练每个弱分类器f
m
(x)以及对应的权重α
m
。
为了提高集成的效果,应当尽量使得每个弱分类器的差异尽可能大。一种有效的
算法是迭代的方法来学习每个弱分类器,即按照一定的顺序依次训练每个弱分
类器。在学习了第 m 个弱分类器后,增加其分错样本的权重,使得第 m + 1 个弱
分类器“更关注”于前面弱分类器分错的样本。这样增加每个弱分类器的差异,
最终提升的集成分类器的准确率。这种方法称为AdaBoost(Adaptive Boosting)
算法。
AdaBoost 算法是一种迭代式的训练算法,通过改变数据分布来提高弱分类
器的差异。在每一轮训练中,增加分错样本的权重,减少分对样本的权重,从
而得到一个新的数据分布。
以两类分类为例,弱分类器 f
m
(x) ∈ {+1, −1},AdaBoost 算法的训练过程
如算法10.1所示。最初赋予每个样本同样的权重。在每一轮迭代中,根据当前
邱锡鹏:《神经网络与深度学习》 https://nndl.github.io/
剩余25页未读,继续阅读
李多田
- 粉丝: 71
- 资源: 334
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0