news 2026/1/15 5:14:56

[模式识别-从入门到入土] 组合分类器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[模式识别-从入门到入土] 组合分类器

[模式识别-从入门到入土] 组合分类器

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

  • [模式识别-从入门到入土] 组合分类器
  • 分类法的准确性评估
        • 一、分类法准确率的评估方法
        • 二、提高分类法准确率的基本思想
  • 分类器组合评价
        • 1.泛化误差(Generalization Error)
        • 2.计算复杂度
        • 3.其他评价标准
  • 采样方法 -> Bootstrap(自举法)
  • 集成学习方法
        • 1.Bagging(Bootstrap Aggregating)
        • 2.随机森林(Random Forest, RF)
        • 3.Boosting
        • 4.AdaBoost(Adaptive Boosting)
        • 5.XGBoost(eXtreme Gradient Boosting)
        • 6.Stacking 方法
  • Bagging 与 Boosting 的对比

分类法的准确性评估

一、分类法准确率的评估方法

1. 留出法(Holdout)

  • 将数据集划分为两个相互独立的部分:训练集和测试集
  • 使用训练集训练模型,使用测试集评估分类准确率

2. k 折交叉验证(k-fold Cross Validation)

  • 将数据集划分为 k 个大小大致相等的子集(folds)
  • 每次使用其中k−1 个子集作为训练集1 个子集作为测试集
  • 重复 k 次,取平均性能作为最终评估结果
二、提高分类法准确率的基本思想
  • Arcing(Adaptive Reweighting and Combining,自适应加权与组合)
  • Bagging(Bootstrap Aggregating)
  • Boosting

核心思想: 通过组合多个分类器,降低单一模型的偏差或方差,从而提高整体预测性能

分类器组合评价

1.泛化误差(Generalization Error)

定义:学习到的模型在**新样本(未参与训练的数据)**上的预测误差

常见估计方法

  • 留出法(Holdout)

    • 将数据集随机划分为两个互不重叠的部分
  • 交叉验证估计(Cross Validation)

    • 将数据集分成k 个大小大致相等的子集(folds)
  • 自举法(Bootstrap)

    • 从原始数据集中有放回地随机抽样,生成若干重采样数据集
2.计算复杂度

分类器组合方法的总体复杂度可以看作以下三部分之和:

  • 产生一个新的分类器的计算复杂度
  • 更新一个分类器的计算复杂度
  • 将一个新样本进行分类的计算复杂度
3.其他评价标准
  • 鲁棒性
  • 稳定性
  • 可解释性
  • 大规模数据的可扩展性(可测量性)

采样方法 -> Bootstrap(自举法)

Bootstrap 是统计学上的一种估计方法, 属于一种非参数蒙特卡罗方法

  • 避免交叉验证导致的样本减少问题
    ->通过有放回重抽样构造训练集

  • 创造数据的随机性`

  • 当样本量很大时,任一样本被抽中的概率约为0.632 0.6320.632

集成学习方法

1.Bagging(Bootstrap Aggregating)

基本流程

  • 从初始训练集中随机有放回地抽取n 个样本,构成一个数据集
  • 构造T 个这样的数据集,分别训练得到T 个分类器

结果融合方式

  • 分类问题 → 投票
  • 回归问题 → 平均

特点

  • 对不稳定的学习算法(如决策树)能提高预测的准确度
2.随机森林(Random Forest, RF)

基本思想

  • 以决策树作为基本的弱分类器

训练方式

  • 初始训练集随机取样本的m 个特征构成一个数据集
  • 构造T 个这样的数据集,训练得到T 个分类器

结果融合方式

  • 分类问题 → 投票
  • 回归问题 → 平均
3.Boosting

核心思想

  • 为每个样本赋予一个权重
  • 进行T 次迭代
  • 每次迭代后对分类错误的样本加大权重(更加关注)

结果融合方式

  • 分类问题 → 投票
  • 回归问题 → 平均
4.AdaBoost(Adaptive Boosting)

AdaBoost 是 Boosting 的一种具体实现方式

1. 初始化训练集的权重D 1 D_1D1
D 1 = ( W 1 , 1 , … , W 1 , i , … , W 1 , m ) , W 1 , i = 1 m , i = 1 , 2 , … , m D_1 = (W_{1,1}, \ldots, W_{1,i}, \ldots, W_{1,m}), \quad W_{1,i} = \frac{1}{m}, \ i=1,2,\ldots,mD1=(W1,1,,W1,i,,W1,m),W1,i=m1,i=1,2,,m

2. 使用D t D_tDt训练,得到基分类器G t ( x ) G_t(x)Gt(x)

3. 计算G t ( x ) G_t(x)Gt(x)在训练集上的分类错误率
e t = P ( G t ( x i ) ≠ y i ) = ∑ i = 1 m w t i I ( G t ( x i ) ≠ y i ) e_t = P(G_t(x_i) \neq y_i) = \sum_{i=1}^{m} w_{ti} I(G_t(x_i) \neq y_i)et=P(Gt(xi)=yi)=i=1mwtiI(Gt(xi)=yi)

4. 更新训练集的权重D t + 1 D_{t+1}Dt+1
W t + 1 , i = W t , i Z t exp ⁡ ( − α t y i G t ( x i ) ) , i = 1 , 2 , … , m W_{t+1,i} = \frac{W_{t,i}}{Z_t} \exp(-\alpha_t y_i G_t(x_i)), \quad i=1,2,\ldots,mWt+1,i=ZtWt,iexp(αtyiGt(xi)),i=1,2,,m

其中规范化因子为
Z t = ∑ i = 1 m W t , i exp ⁡ ( − α t y i G t ( x i ) ) Z_t = \sum_{i=1}^{m} W_{t,i} \exp(-\alpha_t y_i G_t(x_i))Zt=i=1mWt,iexp(αtyiGt(xi))

5. 强分类器构建

基本分类器:
f ( x ) = ∑ t = 1 T α t G t ( x ) f(x) = \sum_{t=1}^{T} \alpha_t G_t(x)f(x)=t=1TαtGt(x)

最终分类器:
G ( x ) = sign ⁡ ( f ( x ) ) = sign ⁡ ( ∑ t = 1 T α t G t ( x ) ) G(x) = \operatorname{sign}(f(x)) = \operatorname{sign}\left(\sum_{t=1}^{T} \alpha_t G_t(x)\right)G(x)=sign(f(x))=sign(t=1TαtGt(x))

5.XGBoost(eXtreme Gradient Boosting)

基本思想

  • 对多个回归树进行集成
  • 使树群的预测值尽可能接近真实值且具有泛化能力
  • 能够对单个弱分类器进行优化

训练过程说明

  • 使用训练集训练第一棵树

    • 以标签作为预测目标
    • 得到预测值,与真实值相减得到残差
  • 训练第二棵树

    • 以残差作为新的学习目标
  • 不断迭代,后续树持续学习前面模型尚未拟合好的部分

模型组合形式

两棵树时:
y ^ = f 1 ( x ) + η f 2 ( x ) \hat{y} = f_1(x) + \eta f_2(x)y^=f1(x)+ηf2(x)

三棵树时:
y ^ = f 1 ( x ) + η f 2 ( x ) + η f 3 ( x ) \hat{y} = f_1(x) + \eta f_2(x) + \eta f_3(x)y^=f1(x)+ηf2(x)+ηf3(x)

其中η \etaη为学习率

对比说明

  • XGBoost 是串行组合决策树
  • 随机森林 是并行组合决策树
6.Stacking 方法

基本思想

  • 一种分层模型

流程

  • 多个底层分类器分别输出预测结果
  • 将这些预测结果作为新的输入特征
  • 使用真实标签作为输出,训练高层分类器

Bagging 与 Boosting 的对比

训练集方面

  • Bagging:随机选择样本,各轮训练集相互独立
  • Boosting:各轮训练集并不独立,与前一轮学习结果相关

预测函数方面

  • Bagging:分类器无权重,可以并行生成
  • Boosting:分类器有权重,只能顺序生成

性能结论

  • 在大多数数据集中,Boosting 的准确性高于 Bagging
  • 在部分数据集中,Boosting 可能产生退化
    • 原因是过拟合(学习到了噪声)
BaggingBoosting
构造训练集随机选择样本根据前一轮调整本轮样本权重
训练集关系各轮训练集相互独立各轮训练集并不独立
样本权重各样本权重相同对分类错误样本赋予更大权重
分类器权重各分类器无权重各分类器有权重
生成方式并行生成只能顺序生成
适用学习器不稳定学习算法(如决策树)弱学习器
潜在问题提升有限可能发生过拟合(学习到噪声)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/31 9:02:20

学校图书馆自动化恒温恒湿控制系统技术方案

学校图书馆自动化恒温恒湿控制系统技术方案 一、项目背景与核心目标 (一)项目背景 学校图书馆作为教学辅助核心场所,兼具文献保存与师生阅览双重属性:一方面,教材、图书、特藏资料(如校史档案&#xff0…

作者头像 李华
网站建设 2025/12/26 20:29:15

数据自己掌控!Nextcloud+CPolar 打造灵活私有云

前言 Nextcloud 是一款私有云存储工具,支持文件存储、同步、共享,还能进行在线编辑和权限管理,适合个人用户和企业团队存储重要数据,优点是数据存储在自己的服务器,安全性高,且支持多设备同步。 使用 Nex…

作者头像 李华
网站建设 2025/12/27 5:57:39

Windows系统文件tsgqec.dll丢失损坏问题 下载修复方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/1/4 11:52:20

微信小程序uniapp-vue旅游景点门票预订服务平台

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1万…

作者头像 李华
网站建设 2026/1/12 23:23:44

微信小程序uniapp-vue校园二手商城交易评价系统

文章目录 具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1…

作者头像 李华
网站建设 2026/1/13 8:46:51

代码签名证书:选型与申请全攻略

代码签名的定义 代码签名是一种数字签名技术,用于验证软件或代码的发布者身份及完整性。通过代码签名证书,开发者可以对可执行文件、脚本、驱动程序等文件进行签名,确保用户下载的代码未被篡改且来源可信。 …

作者头像 李华