数据挖据技术集成学习方法ensemblelearnig
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判别 ? Step4: 计算对此次的弱学习机的权重 ? Step5: 转到Step2, 直到循环到达一定次数或者某度量标
准符合要求 ? Step6: 将弱学习机按其相应的权重加权组合形成强学习
? 样本的权重
? 没有先验知识的情况下,初始的分布应为等概分布,也就是训练集 如果有N个样本,每个样本的分布概率为1/N
只要能用到机器学习的地方,就能用到 集成学习
【如何构建好的集成】
期望结果
个体 1 (精度33.3%)
期望结果
个体 1 (精度33.3%)
个体 2 (精度33.3%)
集成(精度33.3%) 个体 2 (精度33.3%)
集成 (精度0%)
个体 3 (精度33.3%)
投票
个体 3 (精度33.3%)
投票
王磊 (副教授) 经济信息工程学院
? 基本概念 ? bagging ? boosting ? 随机森林 ? 选择性集成方法
22
集成学习的基本概念
? 在机器学习中,直接建立一个高性能的分类器是很困难的。 ? 但是,如果能找到一系列性能较差的分类器(弱分类器),
并把它们集成起来的话,也许就能得到更好的分类器。
? 更大的存储开销,因为有更多的个体需要保存
个体的增加将使得个体间的差异越来越难以获得
? 有多种策略可以将q个弱分类器组合成集成分类器。
集成策略
【Bagging算法】
1. 从大小为n的原始数据集D中独立随机地抽取n'个数据 (n' <=n),形成一个自助数据集;
2. 重复上述过程,产生出多个独立的自助数据集; 3. 利用每个自助数据集训练出一个“分量分类器”; 4. 最终的分类结果由这些“分量分类器”各自的判别结果
? 每次循环一后提高错误样本的分布概率,分错样本在训练集中所占 权重增大, 使得下一次循环的弱学习机能够集中力量对这些错误 样本进行判断。
? 弱学习机的权重 ? 准确率越高的弱学习机权重越高
+
-
+
+
-
+
loop1 Weak learner1
(y=0.5)
training set 等概分布
+ -
+
loop2 Weak learner2
给出相应的假设P(,x , y应)? 该D t 满[y足?强h于t ( 随x )机] ?猜21测?:?
…… …… 问题
问题
… ...
… ...
【集成学习的重要性】
问题:对20维超立方体空间中的 区域分类
左图中纵轴为错误率
从上到下的四条线分别表示:
平均神经网络错误率
最好神经网络错误率
两种神经网络集成的错误率
[L.K. Hansen & P . Salamon, TPAMI90]
令人惊奇的是,集成的错误率比
x Input vector
集成学习:如何构造?
? 我们一般选定加权平均的方法来构造集成学习的最终 学习器。
? 但是里面的每一个 弱分类器(i)怎样构造呢 ?
? 有一些研究,是针对每个学习器都不同构的情况,比如识 别一个人,一个学习器考虑脸,另一个考虑步态,另一个 考虑指纹。这种研究通常称为Information Fusion,不 在我们今天讨论的范畴。
? 在原来的训练集上随机采样,可以得到新的训练集 。
集成学习的定义
集成学习(Ensemble Learning)是一种机器学习方法,它使用多个(通常是同 质的)学习器来解决同一个问题
集成学习中使用的多个学习器称为个体学习器
当个体学习器均为决策树时,称为“决策树集成”
当个体学习器均为神经网络时,称为“神经网络集成”
(x=0.7)
loop3 Weak learner3
(y=0.4)
+
-
+
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)
loop4 Weak learner4
(x=0.6)
+
-
+
+
-
个体必须有差异
个体精度不能太低
E ? E ? A [A.ห้องสมุดไป่ตู้Krogh & J. Vedelsby, NIPS94]
个体学习器越精确、差异越大,集成越好
【个体越多越好吗?】
既然多个个体的集成比单个个体更好,那么是 不是个体越多越好 ?
更多的个体意味着:
? 在预测时需要更大的计算开销,因为要计算更多的个体预测
? 日常生活中,“三个臭皮匠,胜过诸葛亮”,便是体现了这 种思想。
集成学习:图示
Output
Σαihi(x) Classifier ensemble
Combine Classifiers
h1(x)
h2(x)
Classifier 1 Classifier 2 ……
hn(x) Classifier N
由于集成学习技术可以有效地提高学习系统的泛最化好能的力个,体因还此低它成为国际
机器学习界的研究热点,并被国际权威 T.G. Dietterich 称为当前机器学习四
大研究方向之首[T.G. Dietterich, AIMag97]
【集成学习的应用】
集成学习技术已经在行星探测、地震波分析、 Web信息过滤、生物特征识别、计算机辅助医疗 诊断等众多领域得到了广泛的应用
投票决定。
基本思想: 对训练集有放回地抽取训练样例,从而为每 一个基本分类器都构造出一个跟训练集相当大小但各不 相同的训练集,从而训练出不同的基本分类器;该算法 是基于对训练集进行处理的集成方法中最简单、最直观 的一种。
【Bagging算法】
【Boosting算法】
? Step1: 原始训练集输入 ? Step2: 计算训练集中各样本的权重 ? Step3: 采用已知算法训练弱学习机,并对每个样本进行
+
? 训练集 { (x1,y1), (x2,y2),…, (xN,yN) } ? xi ? Rm, yi? {-1,+1} ? Dt 为第t次循环时的训练样本分布(每个样本在训练集中所
占的概率, Dt总和应该为1) ? ht:X? {-1,+1} 为第t次循环时的Weak learner,对每个样本
? 狭义的集成学习( ensemble learning ),是用同样 类型的学习算法 来构造不同的弱学习器的方法。
集成学习:如何构造?
? 办法就是改变训练集。
? 通常的学习算法,根据训练集的不同,会给出不同 的学习器。这时就可以通过改变训练集来构造不同 的学习器。然后再把它们集成起来。
【随机采样】
准符合要求 ? Step6: 将弱学习机按其相应的权重加权组合形成强学习
? 样本的权重
? 没有先验知识的情况下,初始的分布应为等概分布,也就是训练集 如果有N个样本,每个样本的分布概率为1/N
只要能用到机器学习的地方,就能用到 集成学习
【如何构建好的集成】
期望结果
个体 1 (精度33.3%)
期望结果
个体 1 (精度33.3%)
个体 2 (精度33.3%)
集成(精度33.3%) 个体 2 (精度33.3%)
集成 (精度0%)
个体 3 (精度33.3%)
投票
个体 3 (精度33.3%)
投票
王磊 (副教授) 经济信息工程学院
? 基本概念 ? bagging ? boosting ? 随机森林 ? 选择性集成方法
22
集成学习的基本概念
? 在机器学习中,直接建立一个高性能的分类器是很困难的。 ? 但是,如果能找到一系列性能较差的分类器(弱分类器),
并把它们集成起来的话,也许就能得到更好的分类器。
? 更大的存储开销,因为有更多的个体需要保存
个体的增加将使得个体间的差异越来越难以获得
? 有多种策略可以将q个弱分类器组合成集成分类器。
集成策略
【Bagging算法】
1. 从大小为n的原始数据集D中独立随机地抽取n'个数据 (n' <=n),形成一个自助数据集;
2. 重复上述过程,产生出多个独立的自助数据集; 3. 利用每个自助数据集训练出一个“分量分类器”; 4. 最终的分类结果由这些“分量分类器”各自的判别结果
? 每次循环一后提高错误样本的分布概率,分错样本在训练集中所占 权重增大, 使得下一次循环的弱学习机能够集中力量对这些错误 样本进行判断。
? 弱学习机的权重 ? 准确率越高的弱学习机权重越高
+
-
+
+
-
+
loop1 Weak learner1
(y=0.5)
training set 等概分布
+ -
+
loop2 Weak learner2
给出相应的假设P(,x , y应)? 该D t 满[y足?强h于t ( 随x )机] ?猜21测?:?
…… …… 问题
问题
… ...
… ...
【集成学习的重要性】
问题:对20维超立方体空间中的 区域分类
左图中纵轴为错误率
从上到下的四条线分别表示:
平均神经网络错误率
最好神经网络错误率
两种神经网络集成的错误率
[L.K. Hansen & P . Salamon, TPAMI90]
令人惊奇的是,集成的错误率比
x Input vector
集成学习:如何构造?
? 我们一般选定加权平均的方法来构造集成学习的最终 学习器。
? 但是里面的每一个 弱分类器(i)怎样构造呢 ?
? 有一些研究,是针对每个学习器都不同构的情况,比如识 别一个人,一个学习器考虑脸,另一个考虑步态,另一个 考虑指纹。这种研究通常称为Information Fusion,不 在我们今天讨论的范畴。
? 在原来的训练集上随机采样,可以得到新的训练集 。
集成学习的定义
集成学习(Ensemble Learning)是一种机器学习方法,它使用多个(通常是同 质的)学习器来解决同一个问题
集成学习中使用的多个学习器称为个体学习器
当个体学习器均为决策树时,称为“决策树集成”
当个体学习器均为神经网络时,称为“神经网络集成”
(x=0.7)
loop3 Weak learner3
(y=0.4)
+
-
+
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)
loop4 Weak learner4
(x=0.6)
+
-
+
+
-
个体必须有差异
个体精度不能太低
E ? E ? A [A.ห้องสมุดไป่ตู้Krogh & J. Vedelsby, NIPS94]
个体学习器越精确、差异越大,集成越好
【个体越多越好吗?】
既然多个个体的集成比单个个体更好,那么是 不是个体越多越好 ?
更多的个体意味着:
? 在预测时需要更大的计算开销,因为要计算更多的个体预测
? 日常生活中,“三个臭皮匠,胜过诸葛亮”,便是体现了这 种思想。
集成学习:图示
Output
Σαihi(x) Classifier ensemble
Combine Classifiers
h1(x)
h2(x)
Classifier 1 Classifier 2 ……
hn(x) Classifier N
由于集成学习技术可以有效地提高学习系统的泛最化好能的力个,体因还此低它成为国际
机器学习界的研究热点,并被国际权威 T.G. Dietterich 称为当前机器学习四
大研究方向之首[T.G. Dietterich, AIMag97]
【集成学习的应用】
集成学习技术已经在行星探测、地震波分析、 Web信息过滤、生物特征识别、计算机辅助医疗 诊断等众多领域得到了广泛的应用
投票决定。
基本思想: 对训练集有放回地抽取训练样例,从而为每 一个基本分类器都构造出一个跟训练集相当大小但各不 相同的训练集,从而训练出不同的基本分类器;该算法 是基于对训练集进行处理的集成方法中最简单、最直观 的一种。
【Bagging算法】
【Boosting算法】
? Step1: 原始训练集输入 ? Step2: 计算训练集中各样本的权重 ? Step3: 采用已知算法训练弱学习机,并对每个样本进行
+
? 训练集 { (x1,y1), (x2,y2),…, (xN,yN) } ? xi ? Rm, yi? {-1,+1} ? Dt 为第t次循环时的训练样本分布(每个样本在训练集中所
占的概率, Dt总和应该为1) ? ht:X? {-1,+1} 为第t次循环时的Weak learner,对每个样本
? 狭义的集成学习( ensemble learning ),是用同样 类型的学习算法 来构造不同的弱学习器的方法。
集成学习:如何构造?
? 办法就是改变训练集。
? 通常的学习算法,根据训练集的不同,会给出不同 的学习器。这时就可以通过改变训练集来构造不同 的学习器。然后再把它们集成起来。
【随机采样】