题目重点:多选题问 logistic regression loss;从 Bernoulli 似然推交叉熵,并区别概率、logit、正则项与平方误差。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 标签 y∈{0,1},logit z=w·x+b,p=σ(z)=1/(1+e^(−z))。
- 每样本 Bernoulli 负对数似然为 -y log p-(1-y)log(1-p);是否加 L1/L2 正则、sum/mean 聚合取决于题面。
- 不把 multi-class softmax cross-entropy 强行当此二分类原题。
解题路线
- 用 Bernoulli 似然 P(y|x)=p^y(1-p)^(1-y),取负 log 得 y=1 时 -log p、y=0 时 -log(1-p),合成二元交叉熵。
- 多样本常取平均,并可加 λ||w||² 或 λ||w||₁;截距是否正则化需明确。
- 数值实现用 softplus(z)-y·z(或稳定 BCE-with-logits)避免 p 接近 0/1 时 log(0);softplus(z)=max(z,0)+log1p(exp(-|z|))。
- 训练例 z=0→p=0.5,无论 y=0/1 loss=log2≈0.693;若 y=1 且 z 大正,loss 趋近 0。
- 若选项出现 MSE、hinge、cross-entropy、KL 等,按模型概率假设及题面是否带正则判断,不能从帖文推定原选项。
手动走一遍
y=1,p=0.8 的 loss=-log0.8≈0.223;y=0,p=0.8 的 loss=-log0.2≈1.609。同一预测概率对相反真实标签惩罚显著不同,体现错误高置信预测代价。
规模与取舍
D 维单样本 logit 与 loss O(D) 时间、O(1) 额外空间;N 样本一轮 O(ND),参数存储 O(D)。
易错点与追问
容易失分的边界
- 把 sigmoid 本身当 loss。
- 把 cross-entropy 符号写反,优化时最大化错误方向。
- 先算浮点 p 再直接 log(1-p),极端 z 数值下溢。
- 不说明题面是否有正则或 mean/sum。
继续深挖
- 为什么 BCE-with-logits 比先 sigmoid 再 log 稳定?
- L2 正则如何改梯度?
- 类不平衡时加权 BCE 如何定义?
