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

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

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

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

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

参考文章:各方资料

文章目录

分类法的准确性评估

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

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.632 0.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_1 D1
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,m D1=(W1,1,...,W1,i,...,W1,m),W1,i=m1, i=1,2,...,m

2. 使用 D t D_t Dt 训练,得到基分类器 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=1∑mwtiI(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,m Wt+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=1∑mWt,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=1∑Tα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=1∑Tα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 可能产生退化
    • 原因是过拟合(学习到了噪声)
Bagging Boosting
构造训练集 随机选择样本 根据前一轮调整本轮样本权重
训练集关系 各轮训练集相互独立 各轮训练集并不独立
样本权重 各样本权重相同 对分类错误样本赋予更大权重
分类器权重 各分类器无权重 各分类器有权重
生成方式 并行生成 只能顺序生成
适用学习器 不稳定学习算法(如决策树) 弱学习器
潜在问题 提升有限 可能发生过拟合(学习到噪声)
相关推荐
做人不要太理性5 小时前
CANN Runtime 运行时组件深度解析:任务下沉执行、异构内存规划与全栈维测诊断机制
人工智能·神经网络·魔珐星云
不爱学英文的码字机器5 小时前
破壁者:CANN ops-nn 仓库与昇腾 AI 算子优化的工程哲学
人工智能
晚霞的不甘5 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
愚公搬代码5 小时前
【愚公系列】《AI短视频创作一本通》016-AI短视频的生成(AI短视频运镜方法)
人工智能·音视频
哈__5 小时前
CANN内存管理与资源优化
人工智能·pytorch
极新5 小时前
智启新篇,智创未来,“2026智造新IP:AI驱动品牌增长新周期”峰会暨北京电子商务协会第五届第三次会员代表大会成功举办
人工智能·网络协议·tcp/ip
island13145 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
艾莉丝努力练剑5 小时前
深度学习视觉任务:如何基于ops-cv定制图像预处理流程
人工智能·深度学习
禁默5 小时前
大模型推理的“氮气加速系统”:全景解读 Ascend Transformer Boost (ATB)
人工智能·深度学习·transformer·cann
User_芊芊君子5 小时前
CANN大模型加速核心ops-transformer全面解析:Transformer架构算子的高性能实现与优化
人工智能·深度学习·transformer