Skip to content
清晨的一缕阳光
返回

机器学习速成·分类(4/4):预测偏差与多类别分类

机器学习速成·分类(4/4):预测偏差与多类别分类

本文参考 Google 机器学习速成课程 - 分类:预测偏差(Prediction Bias)多类别分类(Multiclass) 两个模块撰写,作为分类系列的收官:一个快速体检工具(预测偏差)和一个更复杂的分类形态(多类别)。


一、预测偏差(Prediction Bias):模型体检的”快速试纸”

预测偏差 = 模型预测结果的平均值 − 数据中标准答案(ground truth)标签的平均值。

这是一个快速检查,能在早期发现模型或训练数据的问题。

1.1 什么算”零偏差”?

举例:训练数据集中 5% 的邮件是垃圾邮件(标签平均值 = 0.05),那么平均而言,模型的预测平均值也应该是 0.05——此时预测偏差为 0

当然,零偏差不代表模型没问题,只是说”平均预测水平对得上”。

1.2 什么时候说明有问题?

如果模型平均预测垃圾邮件的概率为 50%(而真实比例只有 5%),这两个平均值差异显著,就说明存在预测偏差——问题可能出在训练数据、模型本身或应用环境。


二、预测偏差的四个可能成因

成因说明
数据中的偏差或噪声包括训练集的抽样偏差(样本不能代表真实分布)
正则化过强模型过于简单,丢失了必要的复杂度
训练流水线中的 bug代码/流程错误导致预测系统性偏移
特征集不足提供给模型的特征不足以完成任务

排查思路:发现偏差 → 按以上四项逐一排查(数据 → 正则化 → 流水线 → 特征)


三、多类别分类(Multiclass Classification)

前面讲的是二元分类(两个类别)。多类别分类则是把分类扩展到两个以上类别

3.1 核心做法:拆成多个二元分类

如果每个示例只能属于一个类,可以这样处理:

把问题拆成”这一类 vs 其他所有类”的二元分类,然后对每个原始类别重复。

三类别例子(A、B、C):

  1. 先建一个二元分类器:区分 “A+B”“C”
  2. 再建第二个二元分类器:把标记为 “A+B” 的示例重新分类为 A 或 B

3.2 真实例子:手写数字识别

多类别问题的典型代表是手写数字分类器:输入一张手写数字的图像,输出它代表 0~9 中的哪一个。

3.3 多标签 vs 多类别

多类别分类多标签分类
类成员关系排他(一个示例只能属一个类)非排他(一个示例可属多个类)
示例数字 0~9 选一个一张图同时含”天空+山+水”

多标签场景下,类成员资格不是排他的,一个示例可以同时被分配到多个类。多类别分类的深入内容会在神经网络模块中继续讲。


四、关键术语速查


总结

核心要点关键结论
预测偏差定义预测均值 − 标准答案均值
零偏差的含义平均预测水平对得上真实比例(但可能仍有其他问题)
四大成因数据偏差/噪声、正则化过强、流水线 bug、特征不足
多类别做法拆成”这一类 vs 其他”的多个二元分类
多标签 vs 多类别多类别排他(选一个);多标签可同时属于多个类

一句话:预测偏差是分类模型的”体温计”——平均预测值和真实标签对不上就要警惕;而多类别分类则是把”是/否”问题升级成”是 A、B 还是 C”,靠反复拆成二元分类来解决。


分享这篇文章到:

下一篇文章
机器学习速成·分类(3/4):ROC 曲线与 AUC——看穿所有阈值