机器学习算法(六)——集成学习一

在这之前已经介绍了不少机器学习回归和分类的方法,今天将整理一下集成学习也可以说是组合学习算法。
集成学习ensemble learning是通过构建并结合多个学习器来完成学习任务。其一般结构为:
先产生一组“个体学习器”(individual learner) 。个体学习器通常由一种或者多种现有的学习算法从训练数据中产生。
如果个体学习器都是从某一种学习算法从训练数据中产生,则称这样的集成学习是同质的homogenerous。
此时的个体学习器也称作基学习器base learner,相应的学习算法称作基学习算法。
如果个体学习器是从某几种学习算法从训练数据中产生,则称这样的集成学习是异质的heterogenous 。
再使用某种策略将它们结合起来。集成学习通过将多个学习器进行组合,通常可以获得比单一学习器显著优越的泛化性能。
通常选取个体学习器的准则是:
个体学习器要有一定的准确性,预测能力不能太差。
个体学习器之间要有多样性,即学习器之间要有差异。
通常基于实际考虑,往往使用预测能力较强的个体学习器(即强学习器,与之对应的为弱学习器)。
强学习器的一个显著的好处就是可以使用较少数量的个体学习器来集成就可以获得很好的效果。
根据个体学习器的生成方式,目前的集成学习方法大概可以分作两类:
个体学习器之间存在强依赖关系、必须串行生成的序列化方法,每一轮迭代产生一个个体学习器。其中以Boosting为代表。
个体学习器之间不存在强依赖关系、可同时生成的并行化方法。其中以Bagging和随机森林Random Forest为代表。

一、集成学习误差
机器学习算法(六)——集成学习一_第1张图片
二、Boosting

1.提升方法(boosting) 是一种常用的统计学习方法。在分类问题中,它通过改变训练样本的权重学习多个分类器,并将这些分类器们进行线性组合来提高分类的能力。

2.提升方法的基本思想是:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断要好。类似于”三个臭皮匠顶一个诸葛亮“。

3.提升方法的理论基础是:强可学习与弱可学习是等价的。

在概率近似正确(probably approximately correct,PAC)学习的框架下:

强可学习:一个概念(或一个类别),若存在一个多项式的学习算法能够学习它并且正确率很高,那么称这个概念是强可学习的。
弱可学习:一个概念(或一个类别),若存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,那么称这个概念是弱可学习的。
可以证明:强可学习与弱可学习是等价的。

即:若在学习中发现了 ”弱学习算法“ ,则可以通过某些办法将它提升为 ”强学习算法“。

4.对于分类问题而言,求一个比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)要容易得多。

5.Boosting 就是一族可以将弱学习器提升为强学习器的算法。

这族算法的工作原理类似:

先从初始训练集训练出一个基学习器。
再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注。
然后基于调整后的样本分布来训练下一个基学习器。
如此重复,直到基学习器数量达到事先指定的值M 。
最终将这M个基学习器进行加权组合。

你可能感兴趣的:(机器学习)