目录
给定如下表所示训练数据。假设个体学习器由x(输入)和y(输出)产生,其阈值v(判定正反例的分界线)使该分类器在训练数据集上分类误差率最低。(y=1为正例,y=-1为反例)
什么是集成学习?
集成学习(ensemble learning):通过构建并结合多个学习器来完成学习任务,是一大类模型融合策略和方法的统称。
1.学习器相关的基本定义:
弱学习器:
对于二分类而言,弱分类器的准确率可能比较低,例如60%,65%等等,但它们的最低要求是一定要大于50%即随机预测的准确率。
强学习器:…
识别准确率很高并能在多项式时间内完成的学习算法
同质集成: ( 集成中包含同一类型的学习器)
基学习器
对应的算法基学习算法
异质集成: (继承中包含不同的类型的学习器)
组件学习器
2 .集成学习的方法
串行集成方法:
这种方法串行地生成基础模型(如AdaBoost)。串行集成的基本动机是利用基础模型之间的依赖。通过给错分样本一个较大的权重来提升性能。
并行集成方法:
这种方法并行地生成基础模型(如Random Forest,bagging)。并行集成的基本动机是利用基础模型的独立性,因为通过平均能够较大地降低误差。
3 .并行计算 :
1. 实例 bagging的基本过程:
A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)
B)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
C)对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)
为了让更好地理解bagging方法,这里提供一个例子:
X 表示一维属性,Y 表示类标号(1或-1)测试条件:当x<=k时,y=?;当x>k时,y=?;k为最佳分裂点
下表为属性x对应的唯一正确的y类别,现在进行5轮随机抽样,结果如下:
每一轮随机抽样后,都生成一个分类器然后再将五轮分类融合:
对比符号和实际类,我们可以发现:在该例子中,Bagging使得准确率可达90%.
2.随机森林
随机森林:bagging + 决策树(基学习器):
随机+森林:
随机主要体现在两个方面:一个是样本抽取随机,另一个是每棵树的M个特征的随机选取。
森林:多个决策树进程学习形成森林
每棵树的按照如下规则生成:
1)如果训练集大小为N(总样本为M,N<M) ,对于每棵树而言,随机且有放回地从训练集中的抽取N个训练样本(这种采样方式称为bootstrap sample方法),作为该树的训练集
2)如果每个样本的特征维度为M,指定一个常数m<<M,随机地从M个特征中选取m个特征子集,每次树进行分裂时,从这m个特征中选择最优的;
3)每棵树都尽最大程度的生长,并且没有剪枝过程。
思考题:
为什么要随机抽样训练集?
如果不进行随机抽样,每棵树的训练集都一样,那么最终训练出的树分类结果也是完全一样的,这样的话完全没有bagging的必要;
为什么要有放回地抽样?
有放回地抽样才能保证每次抽取时可能的概率时一样的,即为了达到独立同分布,可保证每一颗决策树都是相互独立的,而随机森林最后分类取决于多棵树(弱分类器)的投票表决,这种表决应该是"求同",因此使用完全不同的训练集来训练每棵树这样对最终分类结果是没有帮助的,这样无异于是"盲人摸象"。
随机的好处?
随机森林中的“随机”就是指的上述的两个随机性,即二重随机性。两个随机性的引入对随机森林的分类性能至关重要。由于它们的引入,使得随机森林不容易陷入过拟合,并且具有很好得抗噪能力(比如:对缺省值不敏感。
填空题:
Bagging属于______集成的基本动机是利用基础模型的(__独立性___)
A 串行 B 并行
4 .串行计算 :
1.Boosting
boosting是一族可将弱学习器提升为强学习器的算法,这族算法的工作机制类似:
1,先从初始训练集训练出一个基学习器;
2,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注;
3,基于调整后的样本分布来训练下一个基学习器;
4,重复进行上述步骤,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。
boosting实例:
给定如下表所示训练数据。假设个体学习器由x(输入)和y(输出)产生,其阈值v(判定正反例的分界线)使该分类器在训练数据集上分类误差率最低。(y=1为正例,y=-1为反例)
具体过程可以看(太长了懒~~~):
https://www.zhihu.com/collection/213299143
思考题:
试述随即森林为什么比决策树Bagging集成的训练速度快?(首先理解决策树Bagging与随机森林的区别)
随机森林不仅会随机样本,还会在所有样本属性中随机几种出来计算。这样每次生成分类器时都是对部分属性计算最优,速度会比Bagging计算全属性要快。
Bagging,Boosting二者之间的区别?
1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根 据上一轮的分类结果进行调整。
2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。
3)预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果