线性模型 - Softmax 回归
Softmax 回归(Softmax Regression),也称为多项(Multinomial)或多类 (Multi-Class)的 Logistic 回归,是 Logistic 回归在多分类问题上的推广。
Softmax函数是用于多分类任务的核心函数,其作用是将一组实数(通常为模型的原始输出)转换为概率分布,使得每个类别的概率在[0,1]范围内,且所有类别概率之和为1。
一、Softmax 函数
定义:
Softmax 函数是一种归一化函数,用来将一个包含任意实数的向量
转换为一个概率分布,其公式为:

特点与直观理解:
-
概率输出:
Softmax 函数将原始得分(logits)转换为介于0和1之间的数值,且所有输出的和为1,这样可以直观地理解为每个类别的概率。 -
放大差异:
指数运算 e^{z_i} 会放大较高的得分,使得最高得分对应的概率更大,帮助模型做出明确决策。 -
应用场景:
例如,在图像分类中,假设模型输出了三个类别的得分 [2.0,1.0,0.1],经过 softmax 处理后,可能得到对应概率 [0.70,0.25,0.05],表示图像属于第一个类别的可能性最高。
二、Softmax 回归
定义:
理解一:
Softmax回归(又称多类Logistic回归)是多分类问题的线性模型,其核心步骤为:
-
线性组合:对输入特征进行加权求和,得到每个类别的原始得分
(wi为第i类的权重向量)。
-
Softmax归一化:通过Softmax函数将得分转换为概率分布。
-
预测输出:选择概率最大的类别作为最终结果。
模型公式为:
理解二:
Softmax 回归是 Logistic 回归在多类别分类问题上的扩展,也称为多项式逻辑回归。它的主要步骤如下:
1、线性组合:
对于输入特征 x,为每个类别 k 计算一个线性组合得分:
2、概率映射:
将所有类别的得分 z_1, z_2, ... , z_K 一起输入 Softmax 函数,得到每个类别的概率:
3、决策:
最终预测类别为使得概率最高的那个:
两种理解,所表达的意思是相同的,这里都列出来,便于理解。
直观理解:
-
多类别输出:
与逻辑回归用于二分类问题不同,Softmax 回归能同时输出多个类别的概率分布,适用于有多个可能类别的情形。
-
线性决策边界:
Softmax 回归仍然是线性模型,它在输入特征上构造多个线性函数,然后用 softmax 函数将这些线性组合转换为概率,因此其决策边界是线性的(或者由多个线性决策边界构成)。
应用示例:
假设你正在构建一个手写数字识别系统,需要将数字 0 到 9 分为10个类别。
-
特征提取:
输入图像通过预处理和特征提取后,得到一个特征向量 x。 -
模型构建:
Softmax 回归为每个数字 k 计算得分: -
概率输出:
通过 softmax 函数得到每个类别的概率,如:
- 分类决策:
模型预测该图像属于数字“7”,因为 P(y=7∣x)=0.60 最大。
三、总结Softmax 函数和Softmax 回归
-
Softmax 函数:
负责将一组任意实数得分转换为归一化的概率分布,强调最高得分对应的概率最大。 -
Softmax 回归:
是多类别分类问题的线性模型,通过计算各类别的线性组合得分,再利用 Softmax 函数得到预测概率,最后根据概率最高的类别做出决策。
四、Softmax回归 vs Logistic回归
维度 | Logistic回归 | Softmax回归 |
---|---|---|
任务类型 | 二分类(如是否患病) | 多分类(如手写数字0~9) |
输出函数 | Sigmoid函数(将单个得分映射到[0,1]) | Softmax函数(将多个得分映射为概率分布) |
参数数量 | 每个特征一个权重(参数向量ww) | 每个类别一组权重(参数矩阵W∈RK×nW∈RK×n) |
损失函数 | 二元交叉熵(Binary Cross-Entropy) | 多类交叉熵(Categorical Cross-Entropy) |
数学关系 | Logistic回归是Softmax回归在 K=2K=2 时的特例 | 当 K=2K=2 时,Softmax回归等价于Logistic回归 |
-
输出函数的区别
-
Logistic回归:使用Sigmoid函数,输出单个概率值 P(y=1),另一类概率为 1−P(y=1)。
-
Softmax回归:使用Softmax函数,直接输出所有类别的概率分布。
-
-
参数设计的区别
-
Logistic回归:只需学习一组参数 w 和偏置 b(二分类中两类参数对称)。
-
Softmax回归:需为每个类别学习独立的参数 wi 和 bi。
-
注意:实际实现中,为避免冗余参数,通常固定其中一个类别的参数为0(如 K 类模型只需 K−1 组参数)。
-
-
-
损失函数的区别
-
Logistic回归:二元交叉熵损失,计算单个类别的概率偏差。
-
Softmax回归:多类交叉熵损失,计算所有类别的概率偏差。
-
-
当 K=2 时的等价性
-
数学证明:
假设类别1的参数为 w1,b1类别2的参数为 w2,b2。
若固定 w2=0,b2=0,则:这正是Logistic回归的Sigmoid函数形式。
-
记忆口诀:
-
Logistic回归:二分类用Sigmoid,参数简单易解释。
-
Softmax回归:多分类用Softmax,概率归一化最直观。
-
两者关系:Softmax是Logistic的多类推广,二类时等价。