当前位置: 首页 > news >正文

大数据管理与应用系列丛书《数据挖掘》读书笔记之集成学习(1)

文章目录

  • 前言
  • 一、集成学习是什么?
    • 1.基本思想
    • 2.集成学习的类型
    • 3. 集成学习的结合策略
      • 3.1 为什么结合策略是集成学习的灵魂?
      • 3.2 经典策略
            • (1)**投票法(Voting)**
            • **(2)平均法(Averaging)**
          • **(3) 学习法**
      • 3.3 关键对比与选择建议
  • 总结


前言

近日,我有幸深入学习了国防科技大学吕欣教授及其团队所著的《数据挖掘》一书,深受启发,收获颇丰。这本书系统性地介绍了数据挖掘的核心理论与经典算法,内容既涵盖基础概念,又深入实战技巧,尤其适合机器学习、数据科学领域的初学者和进阶者阅读。

吕欣教授及其团队以其深厚的学术功底和丰富的实践经验,将复杂的数据挖掘知识讲解得条理清晰、通俗易懂。书中不仅有严谨的数学推导,还配有丰富的案例和代码实现,真正做到了理论与实践相结合。

为更好地消化吸收书中精华,我将持续更新《集成学习》章节的读书笔记,内容包括集成学习的基本思想、常见方法(如Bagging、Boosting、Stacking)、随机森林、AdaBoost、GBDT、XGBoost以及LightGBM等核心算法的原理、实现与调参技巧。希望能帮助更多同学系统掌握集成学习的知识体系,也为大家在学习《数据挖掘》这本书时提供一份参考资料。

如果你对数据挖掘、机器学习感兴趣,或正在寻找一本既能打基础又能提升实战能力的教材,吕欣教授的《数据挖掘》绝对是不可多得的好书。推荐给大家!

下面是我的读书笔记正文,欢迎交流指正👇


提示:以下是本篇文章正文内容,下面案例可供参考

一、集成学习是什么?

1.基本思想

(1)“弱者的联盟”

集成学习(Ensemble learning)是机器学习中的一种思想,通过构建并结合多个个体学习器(Individual learner)形成一个精度更高的机器学习模型。这些个体学习器也是机器学习算法,可以是朴素贝叶斯、决策树、支持向量机和神经网络等。集成学习示意图如图1所示。

传统机器学习算法 (例如:决策树,逻辑回归等) 的目标都是寻找一个最优分类器尽可能的将训练数据分开。集成学习 算法的基本思想就是将多个弱分类器组合,从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话:三个臭皮匠,赛过诸葛亮。

集成学习示意图
(2)“多样性红利”:模型间的差异性比单个模型的精度更重要,这与人类社会团队协作的规律惊人相似。

不同集成结果示例

2.集成学习的类型

在这里插入图片描述

3. 集成学习的结合策略

3.1 为什么结合策略是集成学习的灵魂?

集成学习的核心不是“模型越多越好”,而是“如何让模型间的协作产生超越个体的智
慧”。真正决定集成效果上限的,往往是基学习器的结合策略(Combination Strategy)。

[!NOTE]

我的思考

  • 如果把基模型比作“专家”,结合策略就是“专家委员会”的议事规则;

  • 好的策略能抑制噪声、放大有效信息,甚至让弱模型通过协作达到强模型的效果;

  • 结合策略的设计本质是信息融合的数学建模,背后隐含对数据分布、模型能力的先验假设。

3.2 经典策略

(1)投票法(Voting)
  • 硬投票(Hard Voting):平等对待每个模型,易受“多数暴政”影响(噪声模型可能主导结果)

y^=argmax⁡c∈C∑i=1TI(hi(x)=c)\hat{y}=\operatorname{argmax}_{c\in C}\sum_{i=1}^T\mathbb{I}(h_i(x)=c) y^=argmaxcCi=1TI(hi(x)=c)

​ 其中:

C:类别集合; II(⋅):指示函数(预测为类别 cc 时取1,否则取0)。

特点:直接统计类别票数,多数决制;可能受“多数噪声模型”干扰(若多个弱模型预测错误)。


  • 软投票(Soft Voting):引入概率权重,但对置信度的校准敏感(模型输出概率未必可靠)。

y^=argmax⁡c∈C1T∑i=1TPi(c∣x)\hat{y}=\operatorname{argmax}_{c\in C}\frac{1}{T}\sum_{i=1}^TP_i(c|x) y^=argmaxcCT1i=1TPi(cx)

​ 其中:

  • Pi(c∣x)表示第i个模型对样本x属于类别c的预测概率。P_i(c|x)表示第i个模型对样本x属于类别c的预测概率。 Pi(cx)表示第i个模型对样本x属于类别c的预测概率。

特点:要求基模型能输出概率(如逻辑回归、带概率校准的SVM);对模型校准敏感,若概率未校准可能效果下降。


  • 加权投票(Weighted Voting)

​ 以软投票为例:
y^=argmax⁡c∈C∑i=1TwiPi(c∣x)\hat{y}=\operatorname{argmax}_{c\in C}\sum_{i=1}^Tw_iP_i(c|x) y^=argmaxcCi=1TwiPi(cx)

  • 权重wi可基于模型性能或领域知识设定(如AUC值高的模型权重更大)。

[!NOTE]

  • 是否所有模型的“投票权”应该平等?
  • 如何量化模型在不同样本区域的置信度?
  • 改进思路:动态权重分配(如基于样本局部密度的加权投票)。
(2)平均法(Averaging)
  • 简单平均(Simple Averaging)
    y^=1T∑i=1Thi(x)\hat{y}=\frac{1}{T}\sum_{i=1}^Th_i(x) y^=T1i=1Thi(x)
    其中:T:基模型数量;h_i(x):第 i 个模型对样本 x 的预测值;y^:最终预测结果。

特点:所有模型权重相等,假设模型误差服从独立同分布;对异常值敏感(可通过截断平均改进)。

  • 加权平均(Weighted Averaging)
    y^=∑i=1Twihi(x),其中∑i=1Twi=1\hat{y}=\sum_{i=1}^Tw_ih_i(x),\quad\text{其中}\sum_{i=1}^Tw_i=1 y^=i=1Twihi(x),其中i=1Twi=1
    wi:第i个模型的权重,通常根据模型性能(如验证集准确率)动态分配。

    特点:高性能模型获得更高权重;需注意权重分配的合理性(避免过拟合验证集)。

[!TIP]

  • 算术平均假设误差服从高斯分布,但现实任务中误差可能呈现偏态或重尾分布。

  • 案例:在金融风险预测中,少数极端值的预测误差可能对简单平均产生灾难性影响。

  • 解决方案

    截断平均(Trimmed Mean):去掉最高/最低的预测值;

    分位数融合(Quantile Blending):直接集成不同分位数的预测结果。

(3) 学习法
  • 传统Stacking用基模型的输出训练元模型,但可能引入过拟合风险(尤其在基模型高度相关时)。
  • 我的实验发现
    • 使用低复杂度的元模型(如线性回归)反而比深度网络更稳定;
    • 对基模型输出做特征工程(如加入原始特征、交互项)比直接拼接更有效;
    • 对抗验证技巧:通过检测元模型是否过拟合基模型的噪声来调整训练策略。

3.3 关键对比与选择建议

方法适用场景优点缺点
简单平均模型性能相近的回归任务计算简单,抗过拟合对异常值和低质量模型敏感
加权平均模型性能差异显著的回归任务灵活利用模型差异性需额外计算权重,可能过拟合验证集
硬投票类别标签明确的分类任务无需概率输出,实现简单忽略模型置信度,易受多数噪声影响
软投票模型输出可靠概率的分类任务利用概率信息,结果更平滑依赖概率校准,计算复杂度略高

总结

以上就是今天要讲的内容,通过对吕欣老师《数据挖掘》教材中“集成学习”章节的系统学习与梳理,我对这一强大机器学习范式的核心思想和方法论有了更深刻的认识。

  1. 核心思想:协作优于单干
    集成学习的魅力在于其朴素而深刻的哲学:“弱者的联盟”。它通过构建并结合多个性能尚可的“弱学习器”,最终形成一个预测更精准、泛化能力更强的“强学习器”。这完美印证了“三个臭皮匠,赛过诸葛亮”的古老智慧。其成功的核心关键并非个体模型的极致性能,而在于模型之间的“多样性”,即模型误差的差异性和互补性。

  2. 方法论的三大支柱:
    集成学习主要围绕三大策略展开,各有其独特的工作机制与适用场景:
    (1) Bagging (如随机森林):通过并行 Bootstrap 抽样构建多个基学习器,并采用投票/平均法结合结果。其核心是降低方差,通过“民主决策”来平滑噪声、避免过拟合。
    (2) Boosting (如AdaBoost, GBDT):通过串行方式训练基学习器,每个新模型都专注于修正前序模型的错误,并动态调整样本权重。其核心是降低偏差,体现“知错能改”,逐步逼近复杂问题。
    (3) Stacking:引入“元学习器”来学习如何最优地组合多个基学习器的预测结果,如同一个“专家委员会”的决策机制,灵活性最高,但需谨慎防止过拟合。

  3. 结合策略是灵魂:
    如何将多个模型的输出转化为最终决策,是集成学习的精髓。投票法(硬投票、软投票)和平均法(简单平均、加权平均)是直观的策略,而其背后蕴含的是对模型置信度、性能差异以及误差分布的深刻考量。

总而言之,集成学习不仅是数据挖掘工具箱中一套高效且实用的算法集合,更是一种解决问题的系统性思维——通过协作与组合,将有限的个体能力汇聚成强大的集体智慧。吕欣教授的《数据挖掘》一书对此进行了极为清晰和富有洞见的阐述,极大地帮助我构建了系统性的知识框架,特此推荐给每一位对机器学习感兴趣的朋友。

作者:栗子同学、李同学

http://www.dtcms.com/a/347923.html

相关文章:

  • 基于PHP服装租赁管理系统/基于php的服装管理系统的设计与实现
  • 基于电磁频谱地图的辐射源定位算法复现
  • 算法训练营day60 图论⑩ Bellman_ford 队列优化算法、判断负权回路、单源有限最短路(修改后版本)
  • [两数之和](哈希表做法)
  • priority_queue和仿函数
  • Trip Footprint旅行足迹App技术架构全解析
  • 题解:P13754 【MX-X17-T3】Distraction_逆序对_前缀和_Ad-hoc_算法竞赛C++
  • GECP高程控制点数据集进行展示
  • 视觉革命:云渲染如何让创意不再受限于硬件
  • RustFS的边缘计算优化方案在5G MEC场景下的实测数据如何?
  • 迭代器模式与几个经典的C++实现
  • 双目密集匹配(stereo dense matching)
  • 从人工巡检到智能监测:工业设备管理的颠覆性变革
  • 97. 小明逛公园,Floyd 算法,127. 骑士的攻击,A * 算法
  • [Redis进阶]---------持久化
  • std::uncaught_exceptions 详解
  • 大模型——深度评测智能体平台Coze Studio
  • 【Cmake】cmake_minimum_required,project,include,install,add_executable
  • 关于链式二叉树的几道OJ题目
  • 【Java SE】抽象类与Object类
  • 什么是正态分布
  • Mysql InnoDB 底层架构设计、功能、原理、源码系列合集【五、InnoDB 高阶机制与实战调优】
  • Manus AI 与多语言手写识别技术文章大纲
  • 夜间跌倒漏报率↓78%!陌讯多模态算法在智慧养老院的精准监测方案
  • Python 地理空间分析:核心库与学习路线图
  • 【三维重建】第二章 Python及Pytorch基础
  • 关于说明锂电池充电芯片实际应用
  • Python Excel
  • C++项目实战——高性能内存池(四)
  • Nacos-11--Nacos热更新的原理