真实面经题目 · 原创解析
0、1 分类问题应使用什么损失函数,为什么不能用 MSE?
0、1 分类通常使用二元交叉熵或逻辑损失,而不是 MSE。核心原因是分类建模的是伯努利概率,交叉熵梯度和概率解释更合适。
出现于:字节跳动 · 算法
真实面经题目 · 原创解析
0、1 分类通常使用二元交叉熵或逻辑损失,而不是 MSE。核心原因是分类建模的是伯努利概率,交叉熵梯度和概率解释更合适。
二分类一般把模型输出经过 sigmoid 得到正类概率 p,再用二元交叉熵:- y log p - (1-y) log(1-p)。它对应伯努利分布的负对数似然,优化目标和概率分类一致。MSE 更适合回归,虽然也能训练二分类,但和 sigmoid 组合时容易在预测接近 0 或 1 且错得很离谱时梯度变小,优化效率差;同时 MSE 不直接对应分类的最大似然目标。面试里可以补充类别不平衡时会加权 BCE、focal loss 或调整阈值。
二分类标签服从伯努利分布,BCE 是负对数似然;MSE 假设高斯误差,更贴近连续值回归。
sigmoid 加 BCE 的梯度更直接,预测错得越明显惩罚越大;sigmoid 加 MSE 可能因 sigmoid 饱和导致梯度过小。
不平衡分类可用 class weight、focal loss、重采样和阈值移动,评估时看 AUC、PR-AUC、Recall、Precision 等指标。
训练损失优化的是概率估计,不等于最终业务决策阈值。线上分类还要根据召回、误报、成本和业务风险选择阈值,并做概率校准和切片评估。
单标签多分类通常用 softmax 加交叉熵,多标签分类通常用多个 sigmoid 加 BCE。
可以用加权 BCE、focal loss、过采样/欠采样、阈值调整和更合适的 PR-AUC 等指标。
可以训练,但概率解释和优化性质通常不如交叉熵,尤其配合 sigmoid 时更容易梯度低效。