第8章 集成学习理论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29
【Boosting的分类算法】
• 对新的样本x进行分类,如果C1和C2判别结果相同,则 将x判别为此类别,否则以C3的结果作为x的类别;
原始样本集
分 量 分 类 器 组 合 分 类 器
30
【Boosting算法步骤】
• Boosting算法:首先给每一个训练样例赋予 相同的权重,然后训练第一个基本分类器 并用它来对训练集进行测试,对于那些分 类错误的测试样例提高其权重(实际算法 中是降低分类正确的样例的权重),然后 用调整后的带权训练集训练第二个基本分 类器,然后重复这个过程直到最后得到一 个足够好的学习器。
18
【集成学习:评述】
• 集成学习实际上代表了一种与传统不同的思 维理念。 • 传统的机器学习一般都自认为是单模型的, 对于模型的分析总是在整体上完成。 • Rosenblatt:Perceptron • Rumelhart: BP • Vapnik: SVM • 但是,所有这些模型其实都可以看作是一种 加权平均的多模型。
– 强学习算法: 准确率很高的学习算法 – 弱学习算法: 准确率不高,仅比随机猜测略好 – 是否可以将弱学习算法提升为强学习算法
8
【理论来源】
同时,Valiant和Kearns首次提出了PAC 学习模型中弱学习算法和强学习算法的等 价性问题(1988) ,即任意给定仅比随机 猜测略好的弱学习算法,是否可以将其提升 为强学习算法? 如果二者等价,那么只需找 到一个比随机猜测略好的弱学习算法就可 以将其提升为强学习算法,而不必寻找很难 获得的强学习算法。
19
【集成学习:评述】 • 所以,当然应该考虑研究一般的多模型。 • 实际上,从90年代开始,对集成学习的研 究取得了一系列突破进展。 • 在算法上,集成学习的典型代表AdaBoost 算法,已经成为与SVM并立的方法。而且 ,集成学习比SVM更为一般,可能可以有 更广阔的前景。
20
【泛化能力】
…… ……
问题 问题
… ... … ...
22
【集成学习的重要性】
问题:对20维超立方体空间中的 区域分类 左图中纵轴为错误率 从上到下的四条线分别表示: 平均神经网络错误率 最好神经网络错误率 两种神经网络集成的错误率 令人惊奇的是,集成的错误率比 最好的个体还低
[L.K. Hansen & P. Salamon, TPAMI90]
28
【Boosting算法】
• boosting算法同样是利用训练样本集合构造多个分量分类 器,它只要求这个分量分类器是一个弱分类器—准确率 比平均性能好即可。

2类问题,3个分量分类器的训练算法:
1. 在数量为n的原始样本集D中随机选取n1个样本构 成D1,利用D1训练出一个分类器C1; 2. 在样本集D-D1中选择被C1正确分类和错误分类的 样本各一半组成样本集D2,用D2训练出一个分类 器C2; 3. 将样本集D-D1-D2中所有C1和C2分类结果不同的样 本组成样本集D3,训练出一个分类器C3;
• 弱学习机的权重
– 准确率越高的弱学习机权重越高
34
【简单问题演示(Boosting训练过程) 】
+ training set 等概分布
+
loop3 Weak learner3 (y=0.4) loop4 Weak learner4 (x=0.6)
+ -
+
+ -
+
+
-
-
+
+ + -
+
+
35
loop1 Weak learner1 (y=0.5)
31
【Bagging算法和Boosting算法比较】
32
【Boosting算法流程描述】
• Step1: 原始训练集输入,带有原始分布 • Step2: 给出训练集中各样本的权重
• Step3: 将改变分布后的训练集输入已知的弱学习机,弱学
习机对每个样本给出假设 • Step4: 对此次的弱学习机给出权重 • Step5: 转到Step2, 直到循环到达一定次数或者某度量标 准符合要求 • Step6: 将弱学习机按其相应的权重加权组合形成强学习机
• Freund & Schapire,ICML,1996
– AdaBoost算法。
12
【集成学习:如何构造?】
• 我们一般选定加权平均的方法来构造集成学 习的最终学习器。 • 但是里面的每一个Classifier i怎样做呢? • 有一些研究,是针对每个学习器都不同构的 情况,比如识别一个人,一个学习器考虑脸 ,另一个考虑步态,另一个考虑指纹。这种 研究通常称为Information Fusion,不在我们 今天讨论的范畴。 • 我们今天讨论的,是用同样的学习算法来构 造不同的弱学习器的方法。 13
16
【带权的采样:讨论】
• 通过给训练数据赋以不同的权,实际上使 得每个学习器关注训练集中的某一部分, 这也符合我们最初民主投票的想法。
• 直观上,每个学习器关注训练集中的某一 部分,很多个训练集应该可以覆盖训练集 中的大部分,只要巧妙的选择加权平均的 权,就可以得到更好的学习效果。
17
【用多个学习器覆盖样本空间】
3
【集成学习:动机】
• 集成学习,就是一种把输入送入多个学习 器,再通过某种办法把学习的结果集成起 来的办法。
• 这每一个学习器,也就相应的被称为“弱 学习器”。 • 集成学习最早也叫做“Committee Voting Method‖,也就是因为它和投票的过程相似 。
4
弱学习机和强学习机
• 弱学习机(weak learner): 对一定分布的训 练样本给出假设(仅仅强于随机猜测) • 强学习机(strong learner): 根据得到的弱学 习机和相应的权重给出假设(最大程度上符 合实际情况:almost perfect expert) Boosting • 弱学习机 强学习机
9
【理论来源】
• YES
10
Boosting由来(1)
• Kearns & Valiant (1984)
– PAC学习模型 – 提出问题:
• 强学习算法:存在一个多项式时间的学习算法 以识别一组概念,且识别的正确率很高。 • 弱学习算法:识别一组概念的正确率仅比随机 猜测略好。 • 弱学习器与强学习器的等价问题。如果两者等 价,只需找到一个比随机猜测略好的学习算法, 就可以将其提升为强学习算法。
27
【Bagging算法】
1. 从大小为n的原始数据集D中独立随机地抽取n’个 数据(n’<=n),形成一个自助数据集; 2. 重复上述过程,产生出多个独立的自助数据集; 3. 利用每个自助数据集训练出一个“分量分类器” ; 4. 最终的分类结果由这些“分量分类器”各自的判 别结果投票决定。
基本思想:对训练集有放回地抽取训练样例,从而为每 一个基本分类器都构造出一个跟训练集相当大小但各不 相同的训练集,从而训练出不同的基本分类器;该算法 是基于对训练集进行处理的集成方法中最简单、最直观 的一种。
只要能用到机器学习的地方,就能用到 集成学习
24
【如何构建好的集成】
期望结果 个体1 (精度33.3%) 期望结果 个体1 (精度33.3%)
个体2 (精度33.3%)
集成(精度33.3%)
个体2 (精度33.3%)
集成 (精度0%)
个体3 (精度33.3%)
个体3 (精度33.3%)
投票
投票
个体必须有差异
泛化:generalization
泛化能力越强,处理新数据的能力越好
泛化能力是机器学习关注的基本问题之一
提高泛化能力是永远的追求
21
【集成学习】
集成学习(Ensemble Learning)是一种机器学习范式,它 使用多个(通常是同质的)学习器来解决同一个问题
集成学习中使用的多个学习器称为个体学习器 当个体学习器均为决策树时,称为“决策树集成” 当个体学习器均为神经网络时,称为“神经网络集成”
【集成学习:如何构造?】
• 办法就是改变训练集。 • 通常的学习算法,根据训练集的不同,会 给出不同的学习器。这时就可以通过改变 训练集来构造不同的学习器。然后再把它 们集成起来。
14
【随机采样】 • 在原来的训练集上随机采样,可以得到新 的训练集。
15
【带权的采样】 • 采样时,我们可以给训练集里的每个元素不 同的权。 • 权值可以通过上一次训练的结果来确定。
11
Boosting由来(2)
• Kearns & Valiant (1989)
– 证明了弱学习器和强学习器的等价问题。
• Schapire (1989)
– 第一个提出了一个可证明的多项式时间的Boosting 算法。
• Schapire, etc. (1993)
– 第一次把Boosting算法思想用于实际应用:OCR。
26
【分类设计的重采样技术】
• 分类器设计的重采样技术也被称为“自适应的 权值重置和组合(arcing, adaptive reweighting and combining);
• 这类方法的主要思想是利用同一个训练样本集 合构造多个分类器,然后以某种方式将这些分 类器组合成一个分类器;
• 主要方法包括:bagging算法和boosting算法
三个臭皮匠,胜过诸葛亮
Finding many rough rules of thumb can be a lot easier and more effective than finding a single, highly prediction rule.
7
【理论来源】
• Boosting是一种提高任意给定学习算法准确度 的方法。它的思想起源于Valiant提出的PAC ( Probably Approximately Correct)学习模型( 1984) • 提出问题(Valiant和Kearns,1984):
由于集成学习技术可以有效地提高学习系统的泛化能力, 因此它成为国际机器学习界的研究热点,并被国际权威 T.G. Dietterich 称为当前机器学习四大研究方向之首[T.G.
Dietterich, AIMag97]
23
【集成学习的应用】
集成学习技术已经在行星探测、地震波分析、 Web信息过滤、生物特征识别、计算机辅助医疗 诊断等众多领域得到了广泛的应用
5
【集成学习:图示】
Output ΣαiBiblioteka Baidui(x)
Classifier ensemble Combine Classifiers
h1(x)
h2(x)
Classifier 2 ……
hn(x)
Classifier N
Classifier 1
x
Input vector
6
【理论背景】
• Boosting思想源于
33
【Boosting算法核心思想】
• 样本的权重
– 没有先验知识的情况下,初始的分布应为等概 分布,也就是训练集如果有N个样本,每个样 本的分布概率为1/N – 每次循环一后提高错误样本的分布概率,分错 样本在训练集中所占权重增大, 使得下一次循 环的弱学习机能够集中力量对这些错误样本进 行判断。
36
【总结】
Bagging 和boosting的区别
• 训练集:
– Bagging:随机选择,各轮训练集相互独立 – Boosting:各轮训练集并不独立,它的选择与 前轮的学习结果有关
个体精度不能太低
个体学习器越精确、差异越大,集成越好
25
【个体越多越好吗?】
既然多个个体的集成比单个个体更好,那么是 不是个体越多越好?
更多的个体意味着: • 在预测时需要更大的计算开销,因为要计算更多的个体预测
• 更大的存储开销,因为有更多的个体需要保存
个体的增加将使得个体间的差异越来越难以获得
loop2 Weak learner2 (x=0.7)
strong learner w1*(y>0.5?1:-1) + w2*(x<0.7?1:-1) + w3*(y<0.4?1:-1) + w4*(x>0.6?1:-1)
【Boosting算法存在问题】
• 要求事先知道弱学习算法学习正确率的下 限 • 解决方案:Adaboost
1. 集成学习的概念 2. Adaboost 3. 应用:人脸识别
1
1.集成学习
2
【集成学习:动机】 • 在机器学习中,直接建立一个高性能的分类 器是很困难的。 • 但是,如果能找到一系列性能较差的分类器 ,并把它们集成起来的话,也许就能得到更 好的分类器。 • 日常生活中,所谓的民主决策,便是部分的 利用了这种想法。 • 譬如选总统,每个人都以自己的考虑,投下 自己的一票,但最后由多数人选出的总统, 似乎应该好于由一个人指定的总统。
相关文档
最新文档