机器学习:集成学习之Bagging

1 集成学习基本介绍

1. 工作原理

  1. 生成多个分类器或者模型,各自独立的学习和做出预测
  2. 整合多个学习器预测,最终输出预测

机器学习:集成学习之Bagging_第1张图片
  集成学习中,每一个学习器叫做弱学习器(基学习器),这些弱学习器共同组成的最终的强学习器。

集成学习方法能够带来什么样的好处呢?

  1. 可以提升单个分类器的预测准确性。例如:单个学习器的性能上不来了,我们可以通过整合多个学习器来提升单个学习器的性能上限。
  2. 可以避免模型选择问题。例如:我们训练出的多个模型,要选择哪个呢?干脆我们就不选,将多个模型整合到一起使用。

关于构建一个集成学习系统,我们需要思考几个问题:

  1. 基习器使用不同的学习方法还是相同的?

    1. 基础学习器可以使用不同的学习模型,比如:支持向量机、神经网络、决策树整合到一起作为一个集成学习系统
    2. 也可以使用相同的学习模型,比如,多个基学习器都使用决策树
    3. 一般情况下,我们倾向于使用相同的学习模型
  2. 这些基学习器应该注意哪些?

    1. 基础学习器之间要存在差异性。比如:所有的基础学习器如果都相同的话,只需要一个就可以了,没必要搞这么多。

    2. 基础学习器的能力不需要很强,只需要比随机猜测 0.5 高一点就行。

    例如:
    a、有3个弱学习器,预测正确率是0.6
    则三者预测的正确率是:0.6 * 0.6 * 0.4 * 3 + 0.6 * 0.6 * 0.6 = 0.648

    b、有3个弱学习器,预测正确率是0.48
    则三者预测的正确率是:0.48 * 0.48 * 0.52 * 3 + 0.48 * 0.48 * 0.48 = 0.47

  3. 多个基学习器的集成策略有哪些?

    1. 集成策略主要解决的问题:
      1. 如何训练出具有差异性的多个基学习器
      2. 如何将多个基学习器的预测结果整合成最终的强学习器预测结果
    2. 主要的集成策略:
      1. bagging 集成策略:自主采样,产生不同的数据集,训练出具有差异性的模型。最后通过平权投票,多数表决,输出类别由个别树输出类别的众数决定。
      2. boosting 集成策略:每一个训练器重点关注前一个训练器不足的地方进行训练,通过加权投票,得出预测结果。

机器学习:集成学习之Bagging_第2张图片

2. 随机森林

随机森林是什么?

  1. 随机森林是基于 bagging 集成思想的一种实现
  2. 随机深林通过自助法 + 随机特征子集构建出差异性的弱学习器

随 机 森 林 = B a g g i n g + 决 策 树 随机森林 = Bagging + 决策树 =Bagging+

机器学习:集成学习之Bagging_第3张图片
例如, 如果你训练了5个树, 其中有4个树的结果是True, 1个树的结果是False, 那么最终投票结果就是True

随机森林够造过程中的关键步骤(M表示特征数目):

  1. 一次随机选出一个样本,有放回的抽样,重复N次(有可能出现重复的样本)

  2. 随机去选出m个特征, m <

3 包外估计 (Out-of-Bag Estimate)

  训练每一个基学习器时,使用有放回的采样,有大约 1/3 左右的样本未参与训练,这部分样本叫做包外估计样本集。
未参与训练的概率为:
( 1 − 1 n ) n = 1 ( n n − 1 ) n = 1 ( 1 + 1 n − 1 ) n ≈ 1 e (1-\frac{1}{n})^n=\frac{1}{(\frac{n}{n-1})^n}=\frac{1}{(1+\frac{1}{n-1})^n}\approx \frac{1}{e} (1n1)n=(n1n)n1=(1+n11)n1e1

  由于基分类器是构建在训练样本的自助抽样集上的,只有约 63.2% 原样本集出现在中,而剩余的 36.8% 的数据作为包外数据,可以用于基分类器的验证集,用来辅助树的剪枝或者提升树的泛化性能
机器学习:集成学习之Bagging_第4张图片

你可能感兴趣的:(sklearn,集成学习,人工智能,机器学习,sklearn)