关于Adaboost学习笔记

内容来自B站 老弓的学习笔记

链接:https://www.bilibili.com/video/BV1x44y1r7Zc?spm_id_from=333.999.0.0

【Adaboost】

【视频一】

集成学习:集成学习通过构建并结合多个学习器来完成学习任务

优点:可以多个学习器结合,获得比单一学习器更加显著优越的泛化性能。

需要注意的问题:

1个体学习器如何训练得到 改变训练数据的权值或概率分布

2如何讲个体学习器组合 线性相加还是其他方法?

  • boosting 个体学习器存在强依赖关系,必须串行生成的序列化方法
    • 工作机制:提高前一轮被弱分类器分错的样本的权值,减小哪些在前一轮被弱分类器分对的样本的权值,使误分类的样本在后续受到更多的关注。  
    • 体现了串行
    • 【加法模型】将弱分类器进行【线性组合】
    • 代表算法
      • adaboose
      • GBDT
      • XGBoost
      • LightGBM
  • bagging
    • 个体之间不存在强依赖关系,可同时生成的并行化方法。
    • 工作机制:1从原始样本集抽出k个训练集 。 2 k个训练集分别训练,得到k个模型 体现了并行。 3 将上部分得到的k个模型,通过一定的方式组合起来(自助法,有放回抽样,可能抽到重复的样本。随机森林中还会抽取一定的特征)(分来问题【投票的方式】回归问题【均值】)
    • 代表算法
      • 随机森林

【视频二】

Adaboost解决的问题是二分类问题

 

 相当于改变了样本数量

 

【视频三】

算法流程:

  • 二分类训练数据集

 

  •  定义基分类器G(x)

 

 一般基分类器都是同一种类型,比如都是逻辑回归。定下了基分类器 那么训练方法也确定了 比如说交叉熵损失。

  • 循环M次 每次训练一个
    • 初始化\更新当前【训练数据的权值分布】
      • if初始化
      • if更新

        主要功能就是降低正确分类样本的权重 升高分类错误的权重 

    • 训练当前基分类器Gm(x) 
      • 使用具有权值分布Dm的训练数据集学习 得到基分类器Gm(x)
    • 计算当前基分类器的权值am
      • 由Gm(x)的分类误差率决定。如果分类误差率小,则将系数调大
        • 1.计算Gm(x)在训练数据集上的【分类误差率】
        • 2.根据【分类误差率em】,计算基分类器Gm(x)的权重系数
    • 将amGm(x)更新到加法模型f(x)中
    • 判断是否满足循环退出条件
      • 分类器个数是否达到M
      • 总分类器误差率是否低于设定的精度

【视频四】

【例题】

二分类数据集

 

 定义弱分类器

 

 

加法模型

预测函数:

 

 

损失函数:

 

 

优化方法:

梯度下降的方法是复杂度高

 

posted on 2022-03-30 15:22  nlp如此迷人  阅读(66)  评论(0)    收藏  举报

导航