Day 108 — 逻辑回归与分类 · 图解
1. Sigmoid 函数与决策过程
Sigmoid 函数 σ(z) = 1 / (1 + e^(-z))
p
1.0 ┤ ●●●●●●●●●●●
│ ●●●●
│ ●●●
0.8 ┤ ●●
│ ●
│ ●
0.6 ┤ ●
│ ●
0.5 ┤·······●··········· ← 决策边界 (p=0.5, z=0)
│ ●
0.4 ┤ ●
│ ●
│ ●
0.2 ┤ ●●
│ ●●●
│●●●●
0.0 ┤●●●●●●●●●●●●●●●●●●
└───┬───┬───┬───┬───┬───→ z
-5 -3 -1 0 1 3 5
z < 0 → p < 0.5 → 负类 (Class 0)
z > 0 → p > 0.5 → 正类 (Class 1)
z = 0 → p = 0.5 → 决策边界
2. 逻辑回归 vs 线性回归
┌─────────────────────────────────────────────────────────┐
│ 线性回归 │
│ 输入 → [w·x + b] → 输出: 连续值 (-∞, +∞) │
│ ↓ │
│ 用于: 房价预测、温度预测等回归任务 │
├─────────────────────────────────────────────────────────┤
│ 逻辑回归 │
│ 输入 → [w·x + b] → [Sigmoid] → 输出: 概率 (0, 1) │
│ ↓ │
│ 阈值判断 │
│ ↓ ↓ │
│ p ≥ 0.5 p < 0.5 │
│ 正类 负类 │
│ │
│ 用于: 垃圾邮件、疾病诊断等分类任务 │
└─────────────────────────────────────────────────────────┘
3. 交叉熵损失函数
损失 L = -[y·log(p) + (1-y)·log(1-p)]
情况 1: y = 1 (实际为正类)
────────────────────────────
L = -log(p)
p → 1 (预测正确) → L → 0 ✅ 损失小
p → 0 (预测错误) → L → ∞ ❌ 损失大
L
↑
∞ │╲
│ ╲
│ ╲
│ ╲
│ ╲
0 │─────╲────────────→ p
0 0.5 1
情况 2: y = 0 (实际为负类)
────────────────────────────
L = -log(1-p)
p → 0 (预测正确) → L → 0 ✅ 损失小
p → 1 (预测错误) → L → ∞ ❌ 损失大
4. 混淆矩阵详解
┌──────────────────┬──────────────────┐
│ │ │
│ 预测: 正类 │ 预测: 负类 │
│ │ │
┌─────────────────┼──────────────────┼──────────────────┤
│ │ │ │
│ 实际: 正类 │ TP (真正例) │ FN (假反例) │
│ │ "抓对了" │ "漏掉了" │
│ │ │ │
├─────────────────┼──────────────────┼──────────────────┤
│ │ │ │
│ 实际: 负类 │ FP (假正例) │ TN (真反例) │
│ │ "误报了" │ "排除了" │
│ │ │ │
└─────────────────┴──────────────────┴──────────────────┘
关键指标:
┌─────────────────────────────────────────────────────┐
│ Accuracy = (TP + TN) / 总数 整体对不对 │
│ Precision = TP / (TP + FP) 预测正的准不准 │
│ Recall = TP / (TP + FN) 实际正的找全没 │
│ F1 = 2 × P × R / (P + R) P 和 R 的平衡 │
└─────────────────────────────────────────────────────┘
5. ROC 曲线
TPR (真正例率 = 召回率)
1.0 ┤ ●●●●●●●● 完美模型
│ ●●●●
│ ●●●
0.8 ┤ ●●
│ ● ← 好模型
│ ● AUC ≈ 0.9
0.6 ┤ ●
│ ●
│ ●
0.4 ┤ ●
│ ●
│ ● ← 随机模型
0.2 ┤ ● AUC = 0.5
│ ●
│●
0.0 ┤●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
└──┬────┬────┬────┬────┬────┬──→ FPR
0.0 0.2 0.4 0.6 0.8 1.0
AUC = 曲线下面积
AUC = 1.0 → 完美模型
AUC = 0.5 → 随机猜测(无价值)
AUC < 0.5 → 比随机还差(可能标签反了)
6. 多分类策略
┌─────────────────────────────────────────────────────┐
│ One-vs-Rest (OvR) │
│ │
│ 3 个类别 → 训练 3 个二分类器: │
│ │
│ 分类器 1: 类别A vs (类别B + 类别C) │
│ 分类器 2: 类别B vs (类别A + 类别C) │
│ 分类器 3: 类别C vs (类别A + 类别B) │
│ │
│ 最终预测: 取概率最高的类别 │
├─────────────────────────────────────────────────────┤
│ Softmax (Multinomial) │
│ │
│ 直接输出 K 个概率,概率和为 1: │
│ │
│ P(y=A) = e^(zₐ) / (e^(zₐ) + e^(z_b) + e^(z_c)) │
│ P(y=B) = e^(z_b) / (...) │
│ P(y=C) = e^(z_c) / (...) │
│ │
│ 最终预测: 取最大概率的类别 │
│ │
│ 优点: 考虑了类别间的相互关系 │
└─────────────────────────────────────────────────────┘
7. 正则化效果
权重大小
↑
│ ●
│ ●
│ ●●
│ ●●
│ ●●●
│ ●●●●
│ ●●●●●●●●
│ ●●●●●●●●●●●
└───────────────────────────────────→ C (正则化强度倒数)
0.001 100
C 小 → 正则化强 → 权重小 → 模型简单 → 可能欠拟合
C 大 → 正则化弱 → 权重大 → 模型复杂 → 可能过拟合
最优 C 在中间某个位置(通过交叉验证确定)