学习目标

  • 了解集成学习中主要解决的两个核心任务
  • 知道bagging集成原理
  • 知道随机森林决策树的建立过程
  • 知道为什么需要随机有放回(Bootstrap)的抽样
  • 应用RandomForestClassifie实现随机森林算法
  • 知道boosting集成原理
  • 知道bagging和boosting的区别
  • 了解gbdt实现过程

    纪要

    5.1 集成学习算法简介

    1.什么是集成学习

    1. 超级个体和弱者联盟对比,后者更优

    2.复习:机器学习两个核心任务

    1.解决欠拟合问题
    1. 弱弱组合变强<br /> boosting
    2.解决过拟合问题
    1. 互相遏制变壮<br /> Bagging

    5.2 Bagging【**】

    1.bagging集成过程

    1.采样
    1. 从所有样本里面,采样一部分
    2.学习
    1. 训练弱学习器
    3.集成
    1. 使用平权投票

    2.随机森林介绍

    1.随机森林定义

    1. 随机森林 = Bagging + 决策树
    2.流程:
    1. 1.随机选取m条数据<br /> 2.随机选取k个特征<br /> 3.训练决策树<br /> 4.重复1-3<br /> 5.对上面的若决策树进行平权投票
    3.注意:
    1. 1.随机选取样本,且是有放回的抽取<br /> 2.选取特征的时候吗,选择m<<M<br /> M是所有的特征数
    4.api
    1. sklearn.ensemble.RandomForestClassifier()

    3.bagging的优点

    1. Bagging + 决策树/线性回归/逻辑回归/深度学习… = bagging集成学习方法<br /> 1.均可在原有算法上提高约2%左右的泛化正确率<br /> 2.简单, 方便, 通用

    5.3 Boosting【**】

    1.boosting集成原理

    1. 随着学习的积累从弱到强

    2.实现过程

    1. 1.初始化训练数据权重,初始权重是相等的<br /> 2.通过这个学习器,计算错误率<br /> 3.计算这个学习期的投票权重<br /> 4.对每个样本进行重新赋权<br /> 5.重复前面1-4<br /> 6.对构建后的最后的学习器进加权投票

    3.bagging集成与boosting集成的区别:

    1. 数据方面:<br /> bagging:重新采样<br /> boosting:对数据进行权重调整<br /> 投票方面:<br /> bagging:平权<br /> boosting:加权<br /> 学习顺序方面:<br /> bagging:并行<br /> boosting:串行<br /> 主要作用:<br /> bagging:过拟合<br /> boosting:欠拟合

    2 GBDT

    1. 梯度提升决策树(GBDT Gradient Boosting Decision Tree)<br /> GBDT = 梯度下降 + Boosting + 决策树

    3.XGBoost

    1. XGBoost= 二阶泰勒展开+boosting+决策树+正则化