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

周志华《机器学习导论》第8章 集成学习 Ensemble Learning

目录

8.1 个体与集成

8.2 Boosting

Ada(Adaptive)Boost

8.3 Bagging

8.4 随机森林

8.5 结合策略

8.5.1 平均法

8.5.2 投票法

8.5.3 学习法

8.6 多样性

8.6.1 误差-分歧分解 error-ambiguity

8.6.2 多样性度量

8.6.3 多样性增强


8.1 个体与集成

 同质集成“学习器” 如决策树、神经网络;异质集成中的个体学习器由不同的学习算法生成

个体学习器的“准确性”和“多样性”   对“好而不同”的个体学习器 投票“少数服从多数”

T 个基分类器 错误率为€        整体错误率为错半数以上 随着T增大收敛到0

个体学习器间存在强依赖关系、必须串行生成的序列化方法 Boosting

不存在强依赖关系、可同时生成的并行化方法 Bagging和“随机森林"

8.2 Boosting

每轮样本的权重不同  上轮分类错误的样本  权重被调大  在下一次学习中被关注  进而调高准确度

Ada(Adaptive)Boost

 伪代码如下 下方主要是对于样本分布 D_t+1 调整的数学推导

训练分类器h 算出误差ε   更新样本分布Dt+1和Dt 关系

   

理想的基学习器   能纠正之前叠加形态分类器的所有错误

(但如果新的分类错误多到超过一半 那也不合适)

最后的分布调整 D_t+1 和 D_t的关系

8.3 Bagging

重叠采样思想

基学习器尽可能具有较大的差异 可使得训练数据不同

对训练样本进行采样,产生出若干个不同的子集,每个子集训练出一个基学习器.

希望个体学习器不能太差 使每个学习器使用更多数据:使用相互有交叠的采样子集.

bootstrap sampling 自助采样法  m个样本采样m次  没被采样到的概率收敛为

T轮采样 每轮采m个数据作为训练集 用基学习算法训练出模型 

对这T个训练出来的集成模型  回归问题则把T个结果平均一下   分类问题则把T个结果投票一下

包外估计:把没被采样到的数据作为验证集

8.4 随机森林

以决策树为基学习器构建Bagging 在决策树的训练过程中

先随机选取一些特征  再选这几个中最优的几个 (数据随机+特征随机)

scikit-learn 随机森林

class 参数的中文说明可参考这篇

8.5 结合策略

相对单学习器的优势:

1.学习任务假设空间很大 若很多假设在训练集效果相近

但单学习器不能确定在总体空间做的好不好

2.学习算法陷入局部最优解 泛化性不强       3.结合有利于扩大 原样本的假设空间

8.5.1 平均法

      

8.5.2 投票法

分类为N种中一种    1.超过半数则确定      2.选票最多的(票的权重 平均或加权)

8.5.3 学习法

Stacking 训练出的学习器 生成一些样本 与原样本混合 训练下一个学习器

8.6 多样性

8.6.1 误差-分歧分解 error-ambiguity

 加权分歧 加权误差加权分歧=加权误差-总误差

总误差=加权误差-加权分歧

误差越小 分歧(多样性)越大    总误差越小

8.6.2 多样性度量

两两的 相似/不相似性

不合度量(b和c为结果不一样的)  

相关系数  

8.6.3 多样性增强

1.数据样本扰动(不同采样方式)      2.输入属性扰动(属性集中选取使用属性)

3.输出表示扰动(把分类问题转化为回归问题  拆解原问题)    4.算法参数改动(调参)

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

相关文章:

  • 2025开源组件安全工具推荐OpenSCA
  • LVS(Linux virtual server)
  • AWS Lambda 最佳实践:构建高效无服务器应用的完整指南
  • 多维动态规划题解——最长公共子序列【LeetCode】记忆化搜索翻译成递推
  • CCS缺陷|冻干/灌装10大缺陷暴露无菌生产系统性漏洞:气流流型缺陷
  • 【android bluetooth 协议分析 03】【蓝牙扫描详解 3】【Bluetooth 中 EIR、IR、BLE 普通广播与扩展广播详解】
  • 数仓建设中,系统数据录入错误或者延迟,如何对历史数据修复或补入?
  • 安装物理机ubuntu系统
  • 初试Spring AI实现聊天功能
  • PyCharm 高效入门指南(引言 + 核心模块详解)
  • ubuntu22 npm install electron --save-dev 失败
  • 基于Rust游戏引擎实践(Game)
  • 智能体开发工具链全景图:IDE、调试器与监控平台
  • 营业执照识别-营业执照文字识别API-营业执照真伪
  • Flutter状态管理篇之ChangeNotifier(一)
  • 什么是协变(Covariant)与逆变(Contravariant)?
  • 在 Windows Server RDS 上配置用户配置文件磁盘查找对应的用户名
  • 第2章通用的高并发架构设计——2.5 高并发读场景总结:CQRS
  • 【计算机网络】第四章:网络层(上)
  • Spring中事务失效的情况深度分析
  • 深入理解 KVM 子系统:从虚拟化核心到内核实现的全景解析
  • 7.18 note
  • 第十八节:第三部分:java高级:反射-获取构造器对象并使用
  • 【参数初始化】——深度学习.全连接网络
  • Cadence SPB 2024软件下载及安装教程|Cadence软件安装详细步骤附下载链接
  • Spring IoCDI_2_使用篇
  • Anime.js 超级炫酷的网页动画库详解
  • 【图像质量评价指标】信噪比(Signal-to-Noise Ratio,SNR)
  • Linux 基础指令
  • makefile missing separator. Stop.问题