当前位置: 代码迷 >> 综合 >> 集成学习(Ensemble method)
  详细解决方案

集成学习(Ensemble method)

热度:66   发布时间:2023-10-25 11:56:39.0

集成学习(Ensemble method)

主要类型:
  • majority Voting
  • Bagging
  • Boosting
  • Random forest
  • Stacking
majority Voting
  • 采用多个模型进行分类对分类结果进行集合,分为软投票和硬投票,对于分类问题:
    • 硬投票:选取多模型分类中,类别最多的为结果
    • 软投票:对多模型的的输出结果赋予不同的权值,可以人工设置也可以训练得到,最终给出一个结果
bagging
  • 思路:对一个数据集进行n次采样进而训练n个分类器
    • ypre=model((h1(x),h2(x),......,hn(x)))y_{pre}=model((h_1(x),h_2(x),......,h_n(x)))ypre?=model((h1?(x),h2?(x),......,hn?(x)))
  • 有效原因:
    • Bias_Variance
    • Loss = Bias+Variance+Noise
    • 多组不同相关数据训练同一模型可以减少Variance
Boosting
  • Gradient Boosting
    • 训练流程:
      • 1.初始化权重向量
      • 2.循环:
        • 使用带权重的训练数据训练一个新的模型
        • 为预测错误的数据增加权重
Random forest
  • 基于随机森林方法的集成学习
    • 基于随机森林采用Bagging方法训练n个模型
    • 在训练模型的过程中采用随机特征进行输入进行训练
Stacking method
  • 使用训练数据训练多个模型,对多个模型的数据结果进行集成得到最优结果
  • 集成方式可以采用任意极其学习模型进行集成,也可以采用模型数据进行平均、中位数选取等方法
  • 缺点:
    • 由于采用了两层模型的叠加,模型容易过拟合
    • 过拟合问题不容易调试
  相关解决方案