1. 从分类问题到Softmax回归
在机器学习的实际应用中,分类问题可以说是最常见也最基础的任务类型。但很多初学者可能没有意识到,分类问题其实存在两种不同的理解方式:
- 硬分类:我们只关心样本最终属于哪个类别。比如判断一张图片是"猫"还是"狗",输出就是一个确定的类别标签。
- 软分类:我们关心样本属于每个类别的概率。比如同一张图片,输出可能是"猫:0.7,狗:0.3"这样的概率分布。
这两种视角看似不同,但在实际应用中往往相互交织。即使我们最终只需要一个确定的类别标签(硬分类),使用能够输出概率分布(软分类)的模型通常效果更好。这就引出了我们今天要讨论的Softmax回归模型。
提示:虽然Softmax回归名字中有"回归",但它实际上是解决分类问题的经典方法,特别适用于多分类场景。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 分类问题的数学表示
2.1 输入特征的表示
假设我们有一个简单的图像分类任务,每张图片是2×2的灰度图。我们可以将每个像素的灰度值作为特征,这样一个图像就可以表示为四个特征值:x₁, x₂, x₃, x₄。假设我们要将这些图片分类为"猫"、"鸡"或"狗"三类。
2.2 标签的编码方式
如何表示这些类别标签呢?最直观的方式可能是用整数编码:
- 1代表"狗"
- 2代表"猫"
- 3代表"鸡"
但这种编码方式暗含了类别之间的顺序关系(1<2<3),而实际上这些类别并没有自然的顺序。更好的方式是使用独热编码(one-hot encoding):
- "猫" → (1, 0, 0)
- "鸡" → (0, 1, 0)
- "狗" → (0, 0, 1)
独热编码是一个与类别数量相同的向量,只有对应类别的位置为1,其他都为0。这种表示方法避免了人为引入的类别顺序关系,更适合分类问题。
3. Softmax回归的网络架构
3.1 从线性回归到分类
在线性回归中,我们使用一个仿射变换(线性变换加偏置)来预测连续值。对于分类问题,我们需要为每个类别都建立一个这样的变换。在我们的例子中:
- 输入特征维度d=4(2×2图像的4个像素值)
- 输出类别数q=3(猫、鸡、狗)
因此我们需要:
- 权重矩阵W ∈ ℝ^(3×4) (共12个参数)
- 偏置向量b ∈ ℝ^3 (共3个参数)
