Softmax Regression(多分类逻辑回归)

Softmax Regression(多分类逻辑回归)

对比点
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 做了两件事:
  1. 把每个 z 变成正数(用 exponential)
  1. 做归一化(保证所有概率加起来 = 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 本质一致)