对比点 | Logistic Regression | Softmax Regression |
任务类型 | Binary classification | Multi-class classification |
输出 | P(y = 1) | P(y = class_k) |
激活函数 | Sigmoid | Softmax |
概率和 | 不要求 | 必须 = 1 |
权重数量 | 一套 weights | 每个 class 一套 weights |
1.先一句话定位它是谁
Softmax Regression 是用线性模型 + Softmax,把一个样本映射成“多类别概率分布”,并选择概率最大的类别作为预测结果。
Softmax Regression = Logistic Regression 的多分类版本
- Logistic Regression:解决 binary classification(0 / 1)
- Softmax Regression:解决 multi-class classification(多于 2 类)
2.为什么 Logistic Regression 不够用?
在 binary classification 中:
- 我们预测的是
👉 P(y = 1 | x)
- 用的是 sigmoid function
- 输出范围:
[0, 1]
但在 多分类问题 中:
- 不是 “是不是 1”
- 而是:
👉 “属于哪一个 class?”
- 并且:
👉 所有类别的概率加起来必须 = 1
所以:
❌ sigmoid 不够
✅ 需要 Softmax function
3.Softmax Regression 在“算什么”
Step 1:每个 class 都有自己的一套权重
假设有 K 个类别:
- 每个 class 都有一组 weights
👉
W₁, W₂, …, W_K对每个 class 都算一个:
z_k = W_k · X
Step 2:把所有 z 丢进 Softmax function
Softmax function 做了两件事:
- 把每个 z 变成正数(用 exponential)
- 做归一化(保证所有概率加起来 = 1)
公式不用死记,只记含义:
Softmax 把一堆 score,变成“概率分布”
输出结果是:
P(y = class_1) P(y = class_2) ... P(y = class_K)
并且:
所有概率之和 = 1
最终怎么给出“预测结果”?
👉 选概率最大的那个 class
ŷ = argmax(probabilities)
4.直观例子(你这节课的动物例子)
分类目标(4 类):
- Dog
- Cat
- Rabbit
- Bear
模型输出:
Dog : 0.80 Cat : 0.05 Rabbit : 0.05 Bear : 0.10
👉 最终预测:Dog
5.Cost Function 用什么?(只记一句)
Softmax Regression 使用:Categorical Cross-Entropy Loss
记忆句:
它会对“把正确类别给很低概率”的情况,惩罚得非常重
(和 Logistic Regression 的 Log Loss 本质一致)
