• 机器学习基础—集成学习Bagging 和 Boosting


    集成学习 就是不断的通过数据子集形成新的规则,然后将这些规则合并。bagging和boosting都属于集成学习。集成学习的核心思想是通过训练形成多个分类器,然后将这些分类器进行组合。

    所以归结为(1)训练样本数据如何选取?

                      (2)分类器如何合并?

    一、bagging

    bagging 通过将全部数据集中均匀随机有放回的挑选部分数据,然后利用挑选出的数据训练模型,然后再随机挑选部分数据训练一个新的模型,经过多次选择,形成多个模型,把每一个模型的值加权取平均就是bagging。

    所以baging (1)样本数据均匀随机有放回的选取。

                       (2)分类器取均值。

    左边这幅图,随机有放回的取5个数据,取五次,用三阶多项式拟合出5条曲线,看以看出这五条曲线基本上符合图像上点的走势。右边这幅图红色的曲线是用bagging实现的,蓝色的曲线是用四阶多项式实现的。在训练集上蓝色的拟合度优于红色,但是在测试集上红色要由于蓝色。可以看出baggin方法有很强的泛化能力。

    二、boosting

    boosting 不再均匀随机的挑选数据了,而是把重点放在那些不易进行分类的数据上或者是分错的数据上,增加分错样本的权值,然后再进行训练,经过多次样本数据选择,哪些最难分类的权值会不断增大,直到被分类正确。将形成的多个分类器进行投票,分类类别选择票数最多的那个。

    boosting (1)调整权值,选择分错的样本。

                   (2)分类器合并采取投票的方式。

    要理解boosting中如何增加分错样本的权重必须了解“误差”的概念。

    误差:在已知样本分布的情况下,某一个样本x上的假设和真实值间不一致的概率。

    如上面这幅图,有四个点,分别出现的频率是1/2,1/20,4/10,1/20,所以由上面误差的概念,分错的概率为1/10。

    所以样本出现的频率会影响误差,也就是样本的分布会随着权值的变化而变化。相比我们已经分对的样本,分错的样本获得正确结果的概率就越高。

  • 相关阅读:
    Tensorflow实战系列之三:
    Tensorflow实战系列之二:
    scala映射和元组
    scala函数
    scala基础
    Hadoop Eclipse 插件制作以及安装
    理解HBase
    理解HDFS
    Hadoop入门学习路线
    日志框架Log4j
  • 原文地址:https://www.cnblogs.com/fuhang/p/8573450.html
Copyright © 2020-2023  润新知