数据挖掘之集成学习

来源:互联网 发布:网络运维工程师招聘 编辑:程序博客网 时间:2024/06/05 16:48
  1. 数据挖掘的主要目标之一是从观察到的样本中预测出新样本的未知值,这样的一个过程分为两个连续的阶段:A:训练阶段—使用某种现有的监督学习方法从训练样本中产生一个预测模型,B:检验阶段—使用未在训练集中用到的检验样本评估训练阶段生成的预测模型
  2. 为了提高模型的准确性,可以使用集成学习的高效算法,他的核心思想是组合训练样本生成的各种预测模型的结果,主要动机就是减少错误率
  3. 集成学习方法论
    在训练阶段,集成方法从训练样本中生成一些不同的预测模型,为了预测一个检验样本的未知值,集成方法聚集每个预测模型的输出结果,通过集成方法生成的集成预测模型与一些预测模型和一个组合规则组成,他还有一些名称作为执行预测任务的同义词使用,其中包括多分类器、分类器融合或聚集等多个名称
    为了使性能优于一个单独的模型,集成应该由几个相互独立的预测模型组成,也即是他们的错误率互不相关,并且准确率都大于0.5,每个预测模型输出结果聚集一起决定检验样本的输出值
    仅当集成方法中每个预测模型的错误率都低于0.5时,集成方法的错误率才远低于一个单独的预测模型
    如果集成中分类器的数量太大或者每个分类器的错误率太小,集成错误率的下降就会变得没那么明显
  4. 生成具有多样性和独立性的学习器的方式
    A: 对不同的学习模型使用不同的学习算法,比如支持向量机、决策树和神经网络
    B: 在相同的算法中使用不同的超参数以便调整不同模型,例如人工神经网络中不同的隐节点数
    C: 使用不同的输入表示,例如使用数据集中输入特征的不同子集
    D: 使用输入数据的不同训练子集和同样的学习方法生成不同的模型
  5. 层叠泛化方法,又称层叠,是可以被划分到第一组中的方法论,层叠算法可能用来组合不同类型的模型,组合多个模型的一种方式是通过引入元学习器的概念,学习过程如下:
    A: 把训练节分成两个不相交的子集
    B: 把第一个子集上训练若干基本学习器
    C: 在第二个子集上检验B中训练出的学习器
    D: 使用C中的预测作为输入,正确的响应作为输出,来训练一个更高级的学习器
  6. 基于手工或自动的特征选择、提取,这样可以使用不同的特征集生成多元分类器,例如,可能使用与不同的传感器相关的子集,或者使用不同的算法计算的特征子集,为了形成数据集,首先需要选择不同的输入特征子集,然后带有选择输入特征的每个训练样本就变成了训练数据集的一个元素,生成其他训练集,主要的要求是,使用互补的不同的特征子集
  7. 随机子空间法(RSM)是一个较近的集成学习方法,它基于随机辨别理论,首先在原始输入空间的随机选择子空间上训练学习集,然后再整合模型的输出,RSM适用于带有冗余特征的大型特征集
  8. 基于输入输入样本的不同训练子集的方法论,相应的技术包括bagging和boosting等广泛应用于不同工具中
  9. 多学习器组合方法
    组合方案包括:
    A: 整体法,通过学习器的融合,每个学习器都会产生一个输出,然后通过投票、平均或堆叠来整合这些输出,这就是集成功能:对于每一种模式来说,所有的分类器都会影响最终的决定
    B: 局部法,基于学习器提取,负责生成输出的一个或多个学习器是依据它们对样本的封闭性而选择的,如果对于模式只有一个分类器(或子集)用于最终的决定,则应用选择功能
    C: 多级组合,使用串行方法,仅在前面的学习器预测结果不精确情况下训练或检验下一个学习器
    投票是在全局层面上组合分类器最简单的方式
  10. bagging 和 boosting
    Bagging和Boosting 是具有坚实理论背景的著名程序,就其本质而言,他们都基于训练数据集的重采样
    Bagging是第一个集成学习的有效方法,也是最简单的方法之一,他最初设计用于分类,通常应用于决策树模型,但也可以用于各种分类或回归模型,该方法可以通过引导程序使用一个训练集的多个版本,即放回抽样,这其中的每一个数据集都用来训练一个不同的模型,最后通过平均或投票来组合这些模型的输出,最终生成一个单一的输出结果
  11. 要使bagging方法有效,必须使用不稳定的非线性模型,训练数据的细微变化会生成显著不同的分类器,并引起准确度的极大变化,bagging方法通过减少不稳定学习器输出结果中的方差来减少错误
    在学习的每一步需要:A:增加不能被弱分类器正确学习的样本的权值B: 减少被弱分类正确学习的样本的权值
  12. Adaboost方法
    Adaboost算法通过把弱学习器组合成一个高度准确的分类器来解决高度非线性的难题,Adaboost不像bagging方法中的一样,他重新对样本分配权值,一遍又一遍的重复使用同一训练集,还可能会不断增加弱分类器,直到达到预测的训练错误
    Adaboost之所以这么流行,主要在于它不仅简单而且容易实现,它几乎可以与任何分类器组合,像神经网络、决策树或最近邻分类器等,此外,它几乎不需要调整任何参数,他甚至对最复杂的分类问题仍然有效,但与此同时,它对噪声和异常点敏感