sgr-interview-300

第 1 题:交叉熵损失的梯度推导,为什么在类别不平衡时会导致模型偏向多数类?

题目

交叉熵损失的梯度推导,为什么在类别不平衡时会导致模型偏向多数类?


完整讲解

一、二分类交叉熵与 softmax 交叉熵

二分类:设标签 $y \in {0,1}$,模型输出概率 $p = \sigma(z)$(sigmoid),交叉熵损失为 \(\mathcal{L} = -y \ln p - (1-y)\ln(1-p).\) 对 logit $z$ 求导:$\frac{\partial p}{\partial z} = p(1-p)$,链式法则得 \(\frac{\partial \mathcal{L}}{\partial z} = p - y.\) 即梯度 = 预测概率 − 真实标签;预测越准,梯度越小。

多分类:设 $C$ 类,标签 one-hot 为 $\boldsymbol{y}$,softmax 输出 $\boldsymbol{p}$,则 \(\mathcal{L} = -\sum_c y_c \ln p_c = -\ln p_{y^*},\quad \frac{\partial \mathcal{L}}{\partial z_i} = p_i - y_i.\) 同样有「梯度 = 预测 − 标签」的形式;对正确类 $y^$,$\frac{\partial \mathcal{L}}{\partial z_{y^}} = p_{y^*} - 1$。

二、为什么类别不平衡会导致偏向多数类?

设正类样本数 $N_+ \ll N_-$(负类多)。总损失 = 所有样本损失之和,梯度 = 所有样本梯度之和。

三、常见缓解手段


面试要点


记忆要点

返回模块 返回总览