机器学习---集成学习的初步理解

2023-12-13 04:07:39

1. 集成学习

? ? ? ? 集成学习(ensemble learning)是现在非常火爆的机器学习方法。它本身不是一个单独的机器学

习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集

成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有

的机器学习领域都可以看到集成学习的身影。

集成学习通过建立几个模型来解决单?预测问题。它的?作原理是?成多个分类器/模型,各自独

立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何?个单分类的做出预测。?

?只要单分类器的表现不太差,集成学习的结果总是要好于单分类器的。

? ? ? ?对于训练集数据,通过训练若干个个体学习器,通过一定的结合策略,就可以最终形成一个强

学习器,以达到博采众长的目的。集成学习有两个主要的问题需要解决,第一是如何得到若干个个

体学习器,第二是如何选择一种结合策略,将这些个体学习器集合成一个强学习器。

2. 集成学习例子?

对下面实例D1进行分类,得到两个分类结果h1和h2:

对多个分类器的分类结果进行某种组合来决定最终的分类,以取得比单个分类器更好的性能:

定义:集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得

比单个学习器更好的学习效果的一种机器学习方法。如果把单个分类器比作一个决策者的话,集成

学习的方法就相当于多个决策者共同进行一项决策。

在概率近似正确(PAC)学习的框架中,一个概念(一个类),如果存在一个多项式的学习算法能

够学习它,如果正确率很高,那么就称这个概念是强可学习(strongly learnable)的。如果正确率

不高,仅仅比随机猜测略好,那么就称这个概念是弱可学习(weakly learnable)的。后来证明强

可学习与弱可学习是等价的。

3. 解决的问题

3.1 弱分类器之间的关系

第一种就是所有的个体学习器都是一个种类的,或者说是同质的。

第二种是所有的个体学习器不全是一个种类的,或者说是异质的。

个体学习器有两种选择:

第一种就是所有的个体学习器都是一个种类的,或者说是同质的。比如都是决策树个体学习器,或

者都是神经网络个体学习器

第二种是所有的个体学习器不全是一个种类的,或者说是异质的。比如我们有一个分类问题,对训

练集采用支持向量机个体学习器,逻辑回归个体学习器和朴素贝叶斯个体学习器来学习,再通过某

种结合策略来确定最终的分类强学习器

目前而言,同质个体学习器应用最广泛,一般常说的集成学习的方法都是指的同质个体学习器。而

同质个体学习器使用最多的模型是CART决策树和神经网络。同质个体学习器按照个体学习器之间

是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,一系列个体学习器基

本都需要串行生成,代表算法是boosting系列算法,第二个是个体学习器之间不存在强依赖关系,

一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。

3.2 如何选择个体学习器

考虑准确性和多样性:

准确性指的是个体学习器不能太差,要有一定的准确度;

多样性则是个体学习器之间的输出要具有差异性。

3.3 弱分类器的组合策略

平均法:对于数值类的回归预测问题

思想:对于若干个弱学习器的输出进行平均得到最终的预测输出。

简单平均法:
加权平均法:

其中wi是个体学习器hi的权重,通常有wi≥0,

②投票法:对于分类问题的预测

思想:多个基本分类器都进行分类预测,然后根据分类结果用某种投票的原则进行投票表决,按照

投票原则使用不同投票法:一票否决? 、阈值表决 、 少数服从多数。

阈值表决:首先统计出把实例x划分为Ci和不划分为Ci的分类器数目分别是多少,然后当这两者比

例超过某个阈值的时候把x划分到Ci。

③学习法:之前的方法都是对弱学习器的结果做平均或者投票,相对比较简单,但是可能学习误差

较大。代表方法是Stacking。

思想:不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器,分为2层。第一层是用

不同的算法形成T个弱分类器,同时产生一个与原数据集大小相同的新数据集,利用这个新数据集

和一个新算法构成第二层的分类器。

4. 集成学习方法

根据个体学习器的生成方式,目前的集成学习方法大致可分为两类:

Boosting:个体学习器间存在强依赖关系,必须串行生成的序列化方法;串行:下一个分类器只

在前一个分类器预测不够准的实例上进行训练或检验。

Bagging:个体学习器间不存在强依赖关系,可同时生成的并行化方法。并行:所有的弱分类器都

给出各自的预测结果,通过组合把这些预测结果转化为最终结果。

4.1?Boosting

重赋权法:即在训练过程的每一轮中,根据样本分布为每一个训练样本重新赋予一个权重。对无法

接受带权样本的基学习算法,则可以通过重采样法来处理,即在每一轮的学习中,根据样本分布对

训练集重新进行采样,在用重采样而来的样本集对基学习器进行训练。

代表算法:

Adboost,决策树+adboost=提升树

GBDTGradient BoostDecision Tree)梯度提升决策树,决策树+Gradient Boosting=GBDT

其他叫法: Gradient Tree Boosting,GBRT (Gradient BoostRegression Tree) 梯度提升回归树

??????????????????? MART (MultipleAdditive Regression Tree) 多决策回归树,Tree Net决策树网络

4.2?Bagging (bootstrap aggregation )

从样本集中用Bootstrap采样选出n个样本,在所有属性上,对这n个样本建立分类器(CART or

SVM or ...),重复以上两步m次,i.e.build m个分类器(CART or SVM or ...)。将数据放在这m

个分类器上跑,最后vote看到底分到哪一类。

Bootstrap方法是非常有用的一种统计学上的估计方法。 Bootstrap是对观测信息进行再抽样,进而

对总体的分布特性进行统计推断。Bootstrap是一种有放回的重复抽样方法,抽样策略就是简单的

随机抽样。

随机森林:决策树+bagging=随机森林

4.3 两者的区别

从偏差-方差分解的角度:

偏差(bias) 描述的是预测值的期望真实值之间的差距。偏差越大,越偏离真实数据。

方差(variance) 描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。

方差越大,数据的分布越分散。

Boosting主要关注降低偏差:偏差刻画了学习算法本身的拟合能力,Boosting思想,对判断错误的

样本不停的加大权重,为了更好地拟合当前数据,所以降低了偏差,因此Boosting能基于泛化性能

相当弱的学习器构建出很强的集成。Boosting是把许多弱的分类器组合成一个强的分类器。

Bagging主要是降低方差:度量了同样大小的数据集的变动所导致的学习性能的变化。刻画了数据

扰动所造成的影响。 Bagging思想,随机选择部分样本来训练处理不同的模型,再综合来减小方

差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效果更明显。Bagging是对许多

强(甚至过强)的分类器求平均。?

文章来源:https://blog.csdn.net/weixin_43961909/article/details/134887122
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。