ensemble方法

监督集成学习

引言

  • 主要有bagging、boosting、stacking三种,其中bagging需要基学习器同时具备高性能与高度的数据敏感性,boosting算法在训练有噪声数据时容易产生过拟合问题。

bagging

  • 通过自助采样法得到不同分布的训练子集,然后用不同训练子集训练基学习器,最后采取投票法得到集成学习器的结果。
  • 由于最终预测结果是由多个基学习器投票产生的,所以当基学习器效果越好且它们之间差异越大时,bagging的效果就会越好。由于不稳定的学习算法对于训练集比较敏感,训练集只要产生一些微小的变化,就会导致其预测结果发生很大的变化,因此Bagging算法对于训练集敏感的不稳定学习算法很有效。
  • bagging算法适合解决训练集较小的问题。
  • bagging可以降低模型的方差。

boosting

  • boosting算法将一系列弱学习器转化成强学习器,其中弱学习器是指分类效果只比随即猜测效果稍好的学习器,即分类准确率略高于50%。该算法在第一个分类器之后产生的每一个分类器都是针对前一次未被正确分类的样本进行学习,因此可以有效降低模型的偏差。

stacking

  • 用于组合所有个体学习器,首先训练多个不同的个体学习器,然后以这些个体学习器的输出作为输入训练一个模型。

bagging 降低方差,boosting降低偏差

基学习器组合策略

投票法

  • 绝对多数投票:某类得票数超过基学习器个数一半,则将该类作为预测结果输出。若不存在得票数超过一半的类,则拒绝预测。
  • 相对多数投票:谁票多就输出谁,不需要考虑得票数是否超过了总数的一半,如果最高票数相同,则随机选择一个类输出。
  • 加权投票法:令每个学习器的投票权重与其误差成反比。

平均法

  • 适用于组合连续数值型输出,分为简单平均法和加权平均法。
posted @   肖肖凯  阅读(221)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示