Week 15: 深度学习补遗:集成学习初步

文章目录

  • [Week 15: 深度学习补遗:集成学习初步](#Week 15: 深度学习补遗:集成学习初步)
    • 摘要
    • Abstract
    • [1. Ensemble 集成学习](#1. Ensemble 集成学习)
    • [2. Bagging](#2. Bagging)
    • [3. Decision Tree 决策树](#3. Decision Tree 决策树)
    • [4. Boosting](#4. Boosting)
    • 总结

Week 15: 深度学习补遗:集成学习初步

摘要

本周主要继续跟随了李宏毅老师学习了集成学习有关的知识,围绕集成学习的思想、Bagging和Boosting重新组织数据集的基本思想等进行了基本的了解。

Abstract

This week, I primarily continued studying ensemble learning concepts under Professor Hung-yi Lee's guidance. I gained a foundational understanding of the core principles of ensemble learning, including the underlying philosophy, as well as the fundamental approaches to reorganizing datasets for Bagging and Boosting techniques.

1. Ensemble 集成学习

模型通常有两种评价标准:Bias 偏差 与 Variance 方差,Bias代表与目标之间的偏差程度,Variance代表偏差程度的稳定性。Bagging的基本思想是,利用预测结果Variance大但是Bias小的一组模型进行结果的平均,最后给出一个相对准确的结果,虽然每个模型单独拿出来看Variance较大,但在将其集合起来后,Variance会缩小、同时Bias仍然会保持较低的水平。

2. Bagging

Bagging的思想是,在总共的 N N N个训练数据中,每次取 N ′ N' N′笔数据组成一个新的数据集,通常来说使用有放回抽取的方法,因此通常情况下可以使 N = N ′ N=N' N=N′,因为在有放回的情况下,可能会反复抽到同一个数据,因此两个数据集并不会相同。

因此,通过 n n n个数据集,找出了 n n n个函数,在测试的时候,把测试数据输入这 n n n个数据集里,将得出来的结果做平均或者Voting,通常就会使结果更鲁棒、Variance更小,即性能更佳,更不容易过拟合。如果是运用在回归问题,通常采用平均的方法;如果运用在分类问题,则通常采用Voting的方法。

Bagging通常在模型非常复杂,担心模型过拟合时才采用(比如决策树),最终目的是降低Variance。

3. Decision Tree 决策树

决策树简单来说就是一个用测试数据建成的树,在某个参数满足某个条件时进入其中分支。但决策树在训练中实际上有很多的问题,比如到底需要构建多少分支、分支产生的标准是什么、分支终止的标准是什么、决策树构建分支的基本假设都是什么等等。

在决策树上,永远可以构建出一个足够深的树将训练集的错误率降到0,相当于每一个点都在一个很深的树上面的一个节点。

因此提出了随机森林的方法,随机森林是决策树的Bagging方案。可以采用普通的Bagging方法对决策树进行Ensemble,但是会出现生成的树都差不多的问题,因此对某些特征或者问题进行随机限制,让每个树随机的不能使用某种特征/某个问题,最后将每个树的结果都结合起来,就组成了随机森林。

而使用Bagging时,可以不将数据集分割成验证集与训练集,而直接使用Out-of-bag Validation的方法,即是将当前树未使用的数据直接当做测试集来测试当前树,最后将所有树的Out-of-bag (OOB) Error平均,得到一个随机森林的OOB Error。

需要注意的是,随机森林本质上是Bagging,和Bagging一样,它并不能帮助模型拟合训练集,其作用主要是帮助提升模型鲁棒性。

4. Boosting

Boosting在如果你的机器学习算法可以产色会给你错误率小于50%的分类器时,利用Boosting后可以达到0%的错误率。

Boosting的基本步骤是:

  • 找到第一个分类器 f 1 ( x ) f_1(x) f1(x)。
  • 找到第二个分类器 f 2 ( x ) f_2(x) f2(x)用来辅助 f 1 ( x ) f_1(x) f1(x)。前提是, f 2 ( x ) f_2(x) f2(x)不能与 f 1 ( x ) f_1(x) f1(x)过于相似,需要让 f 2 ( x ) f_2(x) f2(x)辅助 f 1 ( x ) f_1(x) f1(x)降低Error Rate。
  • ...
  • 合并所有分类器的结果。

Bagging的分类器是没有顺序的,可以并行处理,但Boosting的分类器是Sequential的,必须按顺序进行训练和预测。训练不同的分类器需要不同的数据集,有一种新的数据集组织方式,就是给每一个数据分配一个权重,在不同的权重下,同一个数据集可以被组织为不同的两个,其损失函数就会经历如下变化。
L ( f ) = ∑ n l ( f ( x n ) , y n ^ ) → L ( f ) = ∑ n u n l ( f ( x n ) , y n ^ ) L(f)=\sum_n l(f(x^n),\hat{y^n})\to L(f)=\sum_n u^nl(f(x^n),\hat{y^n}) L(f)=n∑l(f(xn),yn^)→L(f)=n∑unl(f(xn),yn^)

即权重越高的数据就会被考虑的更多。

总结

本周主要学习了集成学习相关的初级知识,基本了解了Bagging和Boosting技巧的基本思想,同时对决策树以及随机森林的基本理论有了一定的了解。Bagging和Boosting是LLM训练中的重要技巧,下周准备对集成学习相关知识继续进行深入的学习。

相关推荐
美团技术团队1 分钟前
美团 LongCat-Video-Avatar 正式发布,实现开源SOTA级拟真表现
人工智能
SickeyLee2 分钟前
基于Dify智能体开发平台开发一个目标检测智能体
人工智能·计算机视觉·目标跟踪
AI科技星3 分钟前
统一场论框架下万有引力常数的量子几何涌现与光速关联
数据结构·人工智能·算法·机器学习·重构
Coder个人博客10 分钟前
Apollo Canbus 底盘通信模块接口调用流程图与源码分析
人工智能·自动驾驶·apollo
孟祥_成都10 分钟前
前端和小白都能看懂的 LangChain Model 模块核心实战指南
前端·人工智能
玄微云13 分钟前
玄微科技:大健康数智化的 4 个 AI 智能体落地要点
大数据·人工智能·科技·软件需求·门店管理
蓝鲨硬科技14 分钟前
黄仁勋“梭哈”的物理AI,正在被中国企业变成现实
人工智能·chatgpt
Coder个人博客14 分钟前
Apollo Prediction 预测模块接口调用流程图与源码分析
人工智能·自动驾驶·apollo
热爱专研AI的学妹16 分钟前
【搭建工作流教程】使用数眼智能 API 搭建 AI 智能体工作流教程(含可视化流程图)
大数据·数据库·人工智能·python·ai·语言模型·流程图
LYFlied21 分钟前
Spec Coding:AI时代前端开发的范式革新
前端·人工智能·工程化·spec coding