标准回答
核心区别
多分类问题中各类别互斥,一个样本恰好对应一个标签(如手写数字 0–9);多标签问题中各类别相互独立,一个样本可以同时拥有多个标签(如一张图同时含「猫」「沙发」「室内」)。
输出层与损失
多分类用 Softmax 把所有 logit 归一化成一个和为 1 的概率分布,强制类间竞争,配 交叉熵 损失。多标签则对每个类别独立套 Sigmoid,把它当成 \(K\) 个互不影响的二分类问题,配 二元交叉熵(BCE);不能用 Softmax,否则会人为制造类间竞争。预测时多分类取 argmax,多标签对每个类别按阈值(如 0.5)独立判定。
评估指标
多分类常用整体准确率;多标签因为一个样本多个标签,需要更细的指标:per-label 的精确率/召回率/F1(再做 macro/micro 平均)、Hamming loss(错判标签比例),以及检索式任务常用的 mAP。
常见误区
⚠️ 常见踩坑
在多标签任务里误用 Softmax——它会强制各类概率竞争求和为 1,无法表达「同时属于多个类」;应改用每类独立的 Sigmoid + BCE。
追问
追问 1:多标签分类如何处理类别不平衡?
各标签正负比例往往悬殊,可在 BCE 中给正样本加权(pos_weight)、改用 Focal Loss 抑制大量易分负样本,或对每个标签单独调阈值(而非统一 0.5)。评估用 macro-F1 或 mAP 避免被高频标签主导。
追问 2:多分类的类别有层级 / 相关性怎么办?
可用层级分类(先粗后细)、把标签结构编码进损失,或用标签嵌入建模类间相关。若标签其实可共存,则本质上是多标签问题,应改用 Sigmoid 建模而非强行互斥的 Softmax。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。