机器学习05——多分类学习与类别不平衡(一对一、一对其余、多对多)

发布于:2025-09-10 ⋅ 阅读:(24) ⋅ 点赞:(0)

上一章:机器学习04——决策树
下一章:机器学习06——支持向量机
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备

一、多分类学习

多分类学习旨在解决类别数大于2的分类问题,核心思路是通过任务拆分将多分类问题转化为多个二分类问题,再集成二分类器的结果得到最终分类。常见的拆分策略包括一对一、一对其余和多对多。
在这里插入图片描述

(一)一对一(One vs. One, OvO)
  • 任务拆分:将N个类别两两配对,生成 N ( N − 1 ) / 2 N(N-1)/2 N(N1)/2个二分类任务(如类别 C 1 C_1 C1 C 2 C_2 C2 C 1 C_1 C1 C 3 C_3 C3等),每个任务仅使用对应两个类别的样本训练分类器,最终得到 N ( N − 1 ) / 2 N(N-1)/2 N(N1)/2个分类器。
  • 测试阶段:将新样本输入所有分类器,每个分类器会判定样本属于两个类别中的一个,通过“投票”机制确定最终类别——被预测次数最多的类别即为结果。
  • 特点:每个分类器的训练仅使用两个类的样本,训练时间较短,但需训练和存储的分类器数量多(如10个类别需45个分类器),存储和测试开销较大。
(二)一对其余(One vs. Rest, OvR)
  • 任务拆分:为每个类别构建一个二分类任务,将该类别视为“正例”,其余所有类别视为“反例”,共生成N个二分类任务,训练得到N个分类器。
  • 测试阶段:将新样本输入所有分类器,每个分类器会输出样本属于其对应“正例”类别的置信度,选择置信度最大的类别作为最终结果。
  • 特点:分类器数量少(N个),存储和测试开销小,但每个分类器的训练需使用全部样本(正例少、反例多),训练时间较长,且可能因类别不平衡影响单个分类器性能。
(三)两种策略的比较
  • 性能:在多数情况下,OvO和OvR的预测性能相近,具体取决于数据分布。
  • 效率:OvO的训练时间更短(单个分类器样本少),但存储和测试开销更大;OvR则相反,适合类别数较多的场景。
(四)多对多(Many vs. Many, MvM)
  • 核心思想:通过预设的“类别子集”划分任务,每个任务将一部分类别作为正例,另一部分作为反例(如利用纠错输出码机制,为每个类别分配唯一的二进制编码,通过多个二分类器学习编码的每一位)。
  • 特点:能更好地利用类别间的关联信息,抗噪声能力较强,但任务设计较复杂,实际应用中不如OvO和OvR广泛。

二、类别不平衡问题

类别不平衡指训练集中不同类别的样本数量相差悬殊(如正例仅占10%,反例占90%),可能导致分类器偏向多数类,忽视少数类。常见解决方法包括再缩放、采样和阈值移动。

(一)再缩放(Rescaling)
  • 原理:基于贝叶斯决策理论,调整分类阈值。对于二分类问题,若正例先验概率为 p + p_+ p+、反例为 p − p_- p,最优决策应满足 y 1 − y > p − p + \frac{y}{1-y} > \frac{p_-}{p_+} 1yy>p+p(其中 y y y为样本属于正例的预测概率)。当训练集类别不平衡时(如正例样本数 m + m^+ m+、反例 m − m^- m),可用 m − m + \frac{m^-}{m^+} m+m近似 p − p + \frac{p_-}{p_+} p+p,调整决策阈值。
(二)采样方法
  1. 欠采样(Undersampling):通过移除部分多数类(反例)样本,使正反例数量接近。例如EasyEnsemble算法,多次随机采样多数类样本与少数类组成训练集,训练多个分类器后集成,避免因单次采样丢失重要信息。
  2. 过采样(Oversampling):通过增加少数类(正例)样本,平衡类别比例。例如SMOTE算法,基于少数类样本的近邻生成“虚拟样本”,避免简单复制样本导致的过拟合。
(三)阈值移动(Threshold-moving)
  • 原理:不改变训练数据,直接调整分类器的决策阈值。例如,当正例样本少而反例多时,降低正例的判定阈值(如将默认的0.5调整为0.3),使分类器更“容易”将样本判定为正例,从而平衡对少数类的识别率。
(四)方法选择
  • 小规模数据集优先考虑过采样(避免信息丢失);
  • 大规模数据集可采用欠采样(减少计算开销);
  • 阈值移动常与采样结合使用,进一步优化分类器对少数类的敏感性。

上一章:机器学习04——决策树
下一章:机器学习06——支持向量机
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备


网站公告

今日签到

点亮在社区的每一天
去签到