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训练中的重要技巧,下周准备对集成学习相关知识继续进行深入的学习。

相关推荐
安替-AnTi1 天前
PandaWiki:AI 驱动的开源知识库系
人工智能·embedding·检索增强·知识库·rag·查询优化
迦蓝叶1 天前
JAiRouter v1.0.0 正式发布:企业级 AI 服务网关的开源解决方案
java·运维·人工智能·网关·spring·ai·开源
长空任鸟飞_阿康1 天前
Node.js 核心模块详解:fs 模块原理与应用
前端·人工智能·ai·node.js
可触的未来,发芽的智生1 天前
触摸未来2025-10-18:生成文字的小宇宙矩阵溯源
人工智能·python·神经网络·程序人生·自然语言处理
武子康1 天前
AI-调查研究-106-具身智能 机器人学习数据采集工具和手段:传感器、API、遥操作、仿真与真人示教全流程
人工智能·深度学习·机器学习·ai·系统架构·机器人·具身智能
Python智慧行囊1 天前
图像处理-opencv(一)
人工智能·opencv·计算机视觉
StarPrayers.1 天前
损失函数(Loss Function)、反向传播(Backward Propagation)和优化器(Optimizer)学习笔记
人工智能·笔记·深度学习·学习
IT_陈寒1 天前
Vite 5个隐藏技巧让你的项目构建速度提升50%,第3个太香了!
前端·人工智能·后端
孤廖1 天前
吃透 C++ 栈和队列:stack/queue/priority_queue 用法 + 模拟 + STL 标准实现对比
java·开发语言·数据结构·c++·人工智能·深度学习·算法
麦麦麦造1 天前
有了 MCP,为什么Claude 还要推出 Skills?
人工智能·aigc·ai编程