开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):集成】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/921/detail/15646
集成
内容介绍:
一、集成概念
二、集成技术使用条件
三、集成学习的基本原理
四、常用的集成技术
五、Bagging 集成技术
六、Boosting 集成技术
七、随机森林集成技术
一、集成
1.是集成概念
集成就是首先创建多个基础的分类器。然后将多个基础的分类器。某种策略组合在一起对。对为标志的数据进行分类。
通过集成技术,可以提高单个基础分类器的分类性能。
2.例子
这里通过图片向介绍一下集成。
比如说给定一组训练集。可以得到若干个基础的分类器,在这图片上面就是用一个线画来代表。那么,在集成中,可以通过某样的一些集成策略将多个基础的分类器进行组合,仿佛是得到了一个新的分类器,那么,通过这样的集成,可以提高分类性能的。
二、集成技术使用条件
对于集成这种技术,如果想利用集成提高基础分类器的性能,必须满足一些必要条件,这些必要条件主要是包含两点。
一点就指的是构成集成分类器的所有的基础,分类器必须是彼此独立的。第二点就是所有的基础分类器的分类性能一定要比随机猜测要好,也就是要求错误率是低于0.5。
那么,在上图列出了基础分类器和集成分类器,分类性能随着 Error rate 的变化趋势。在这幅图中,这条斜线代表的是基础分类器,假设基础分类器,认为每一个分类器的 Error rate 都是一致的。当 Error rate date 低于0.5的时候,得到的红色的分配器,也就是集成分类器,它的 Error rate 是要低于基础分类器的。但是如果基础分类器的 Error rate 高于0.5,也就是这个图像的上半部分,会发现,经过集成之后,集成分类其它的 Error rate 会远远的高于基础分类区,所以说在进行集成的时候,必须要求基础的分类器,它的 Error rate 一定是要低于0.5的。
三、集成学习的基本原理
再来了解一下,为什么集成分类器可以提升基础分类器的性能?对于集成分类起来说,它会对一些不稳定的基础分类器进行提升效果比较好。
1.分类过程中的误差
什么是不稳定的分类器呢?首先来分析一下,在分类过程中的误差。
分类过程中的误差主要包含两部分,一部分称之为 Bias 叫做偏差。那还有一部分称之为 Variance 就是方差。
2.所谓的这种不稳定的分类器,指的是它具有比较高的方差的分类器。下面通过一个图片解释一下什么是偏差,什么是方差。
(1)、偏差。所谓的偏差就指的是基础分类器,它的预测值的平均值和目标之间的差异。对于偏差来说,它主要是由分类器决定的,那么比如把分类器分类映射成为一个大炮去打炮,那么也就是说这偏差主要是由于炮的角度来决定。
(2)方差。所谓的方差,就指的是各个基础分类器,它的预测的平均值和每一个基础分类器之间的差距,这个叫做方差。基础分类器的方差越大,就表明这个分类器它是不稳定的,它很容易受到一些噪声的干扰。
(3)、集成方法提高精度
对于集成来说,通过集成技术主要是可以减少方差,那么如果方差减少之后,分类的这样的一个误差就会减少,通过做这样的一个原理分类是可以提升基础分类器的分类性能的,因此集成技术主要是对一些不稳定的分类器是比较有效的,比如说像没有剪枝的决策树模型,就是属于这样一类不稳定的分类器。
四、常用的集成技术
解一下常用的集成技术,常用的集成技术主要是有两种策略,一种叫做 Bagging,一种叫做 Boosting 提升。
1. Bagging 简介
Bagging主要是根据从训练集中采用抽样的方式得到不同的抽样子集。根据每一个抽样,去构建一个基础的分类器。在Bagging构建基础分类器的过程是可以并行的。
2. Boosting 简介
那么,对于提升来说,它是通过调整 training set 中的数据对象的权重,在此基础上进行抽样,得到不同的训练集。然后再用每一个训练集去构建不同的基础分类器,对于 Boosting 来说,它后一个基础分类区的构建是依赖于它前一个分类器,所以说对于 Boosting 来说,它的基础分类器的构建过程是一个创新的过程。
五、Bagging 集成技术
首先介绍一下袋装,也就是 Bagging。在 Bagging 它主要包含两阶段 Training 和 Classification。
1.Training
那么在训练阶段呢,从训练集中采用有放回的抽样,得到一个抽样级。用这个抽样集去训练分类器,得到一个基础的分类器,重复以上过程,可以得到若干个分类器。最后利用这样的一个分类器,对进行组合,对未标记数据进行分类。
在分类的时候,首先用每一个基础的分类器,对于未标记数据进行预测,然后再将多个分类器的预测结果组合。这个时候组合策略往往采用的是最大投票法,那么也就是在各个基础分类其中出现比较多的结果,作为最终的预测结果。
2.Training 例子
可以通过一个例子介绍在该点中所使用的抽样方法,那么在 Bagging 使用的是有放回的抽样。所谓的有放回的抽样,就是一个数据被抽中之后,它会放回到原始数据集中,那么在下一次抽样中,这个数据依然有可能被抽中。
根据有返回的抽样,那么每一个数据元素被抽中的概率是1-(1-1/n)的N次方,也就是约等于0.632,换而言之,也就是整个数据集中大约63.2%的数据会被抽样到用于构建基础分类器。
那这里假设有一个一维数组,那么它的取值分别是0.1一直到1。下面的y代表的是它的列标签。这里采用的分类器是决策树模型,也就是设置一个属性测试条件x小于等于k,那么将数据分为两个类别 yes 和 no。
那么来看一下,下图过程展示的是根据抽样的结果,产生最佳的一个划分条件。
那么一共进行了十次,所以就可以得到十个分类器,那么这里列出了每一个分裂期的分裂条件,那么分裂条件分别是从0.35一直到0.05,
根据这十个分类器对每一个数据进行分类,可以看到,那么每一次分类它的一个结果可能会不同。根据这十次结果,可以把它组合起来,比如对于第一个数据对象x=0.1,把它组合起来,发现在它的预测结果中,1出现的概率是比较高的,所以最后的结果就是一。那么这里采用的是相加的策略,如果类别1出现一次,-1出现一次相加它们的结果为零,那把所有的结果加起来,如果是等于零的,就表明它为正和为负出现的概率是一样的;如果为负就表示-1出现的概率是比较大的,那么类别为负一;如果结果是大于零的,就意味着它的1这个类别出现的比较多,那么预测类别就为1。
那么一次,采用这样的一种组合策略,可以把每一个数据对象的类别都把它预测出来。这个就是利用 Bagging 对数据进行集成分类。
六、Boosting 集成技术
的权重就是0.1,然后第二轮肯定是根据第一个分类器的预测结果进行调整,0.1的数据对象它的第二轮更新后的权重,变成了0.01,下降了,那么就意味着那么在这一轮预测过程中,这个数据对象被预测正确了,那么在得到三个分类器之后,就可以考虑它们的每一个分类器的权重,然后对于分类结果做一个集成。
七、随机森林集成技术
除了 Boosting 和 Bagging,在集成中还常用的一种集成技术,就是随机森林。对于随机森林来说,它其实也是基于Bagging 的,它的 Bagging 主要包含两部分。
1.Data Bagging
一种 Data Bagging,就是通过有放回的抽样去产生不同的训练集的子集,用于构建决策树。
2.Feature Bagging
第二个 Bagging,指的是个 Feature Bagging,它在每次构建决策树的时候,它不仅对它的 Data 进行 Bagging,它还会用有放回的抽样对它的 Feature 进行 Bagging。
然后把这两部组合在一起。构建决策树,那么构建的多个决策树就组成了随机生。