逻辑回归
逻辑回归先计算线性分数 z=w·x+b,再用 sigmoid σ(z)=1/(1+e^(−z)) 得到 (0,1) 内的正类概率 p。默认以 p≥0.5 判正类。训练常最小化交叉熵,也叫对数损失。
边界位置与概率的陡峭程度是两回事。同时把 w,b 加倍,判定边界不动,但两侧概率更靠近 0 和 1。交叉熵用真实标签判断这种“更确信”是否有益。
工作原理
线性分数可以是 1 或 −3,本身不是概率。Sigmoid 将大正值映到接近 1,大负值映到接近 0,z=0 对应 p=0.5。因此阈值 p≥0.5 等价于 z≥0,边界仍是直线 w·x+b=0。
非零 w 下,p 只取决于到边界的有符号距离与 ‖w‖。同一侧等距点概率相同,镜像两点得到 p 和 1−p。p∈[0.25,0.75] 的“不确定带”宽度为 2 ln3/‖w‖。增大范数会缩窄它。
正类点的交叉熵为 −ln p,负类点为 −ln(1−p)。正确且确信时损失小,错误且确信时损失可无限增长。平均损失是 NLL。这里的概率是模型估计,不自动获得校准或数据覆盖保证。
逐步演示
默认十个标注点,正负各五个。w=(1,1),b=0,查询 x=(1,0)。正类点 (−1,−2) 被放在负类点围成的三角形内部,用来显示线性模型无法全部分对的冲突。
- 显示十点和查询。本课除类别外还显示估计概率。
z=1×1+1×0+0=1。p=σ(1)≈0.73,小图标出 sigmoid 上的位置。p≥0.5判正类。73% 是模型输出,是否可信须另查校准。- 绘制
x₁+x₂=0,这里 p 恰为 0.5。 - 按概率着色。不确定带约宽
1.55。冲突正类点(−1,−2)的p(+)≈0.05,标上错误圈。 - 正类点
(2,−1)的z=1,p≈0.73,损失约0.31。 - 冲突点损失约
3.05,约为前者十倍。显示概率经过舍入,损失用未舍入值计算。 - 十点平均
NLL=0.374,其中大部分来自冲突点。 - 同时将
w,b乘 2。所有 z 加倍,零集合不变,不确定带减半为约0.78。各点沿固定 sigmoid 移向两端。 - 重新计价。九点损失降低,普通正类点
0.31→0.13,查询概率0.73→0.88;冲突点却3.05→6.00,平均损失升为0.617。类别判定相同,损失不同。 - 用凸组合解释冲突:
(−1,−2)=¼(−3,1)+¼(1,−3)+½(−1,−3)。仿射分数也服从这个组合。若三个负类点都在负侧,内部正类点不可能在正侧,因此总有错误。一般而言,要断言无正则逻辑回归存在有限最优参数,还须排除准分离与不可识别;仅“不能严格分开”不够。
“可分”预设把冲突点移到 (1,1)。同样实验的 NLL 从 0.082→0.019,四倍时到 0.002。此时每个有符号间隔都为正,继续放大总会改善损失;最优下确界只在参数趋于无穷时接近,没有有限的最小点。画面概率趋近 0/1、窄带几乎消失,边界却不动。
缩放为何不移动边界
用正数 k 同时缩放 (w,b),得分变成 kz,符号与零集合不变。只缩放 w 而不缩放非零 b 则没有这个保证。默认数据的准确率无法区分一倍、两倍;交叉熵能区分它们如何对待错分点。
严格可分且无正则时,损失会奖励沿分离方向继续增大参数。对参数幅值加正则可在合适条件下得到有限最优点;这与数值求解器何时停止是两个问题。梯度下降课解释训练如何沿损失面移动。
“远角”查询 (5,5) 远离训练点,却得到约 p=1.00。Sigmoid 看到的是线性分数,不知道附近有多少训练证据,也不会自动返回“未知”。
边界情况
- 查询
(0,0)在边界:z=0,p=0.50,判正类只是≥的约定,不能读成有正类证据。 w=(0,0):所有点概率为σ(b),没有通常可绘制的方向边界,面板拒绝。‖w‖很小:不确定带可能比可见平面更宽,边线被裁切是有效状态。- 任意使所有有符号间隔为正的参数都会触发可分结尾,不仅是某个预设名称。默认冲突数据不可能满足此条件。
- 错侧且远离边界的点可主导损失;默认冲突点展示了这种影响。
常见错误
- 以为非线性 sigmoid 会产生弯曲边界。0.5 阈值仍对应线性 z=0。
- 把 p 当作附近数据充足的证明。固定模型的 p 只由分数决定,高值不保证校准。
- 只靠准确率训练。准确率在多数参数小变化下不变,也不区分正比例缩放;平滑损失提供梯度。
- 对饱和 sigmoid 输出使用 MSE 却忽略梯度。MSE 的分数梯度多一个
p(1−p),错误且确信时可能很小;交叉熵对此有不同的梯度行为。不能据此说 MSE 在任何分类任务中都不可用。 - 对可分数据忽略正则和停止条件。权重可持续增大,即使边界没有改善。