1. Softmax 函数的定义
Softmax 函数是一种归一化指数函数(Normalized Exponential Function),通常用于将一组实数(通常是模型的原始输出,称为 logits)转换为一个概率分布。输出值在 [0,1][0, 1][0,1] 范围内,且所有输出值的和为 1。
数学表达式
假设输入是一个向量 z=[z1,z2,...,zn]z = [z_1, z_2, ..., z_n]z=[z1,z2,...,zn],其中 nnn 是类别数,Softmax 函数的输出为一个概率向量 σ(z)\sigma(z)σ(z),其第 iii 个分量的计算公式为:
σ(z)i=ezi∑j=1nezj\sigma(z)_i = \frac{e^{z_i}}{\sum_{j=1}^n e^{z_j}}σ(z)i=∑j=1nezjezi
- ezie^{z_i}ezi:对输入 ziz_izi 取指数,放大差异并确保输出为正。
- ∑j=1nezj\sum_{j=1}^n e^{z_j}∑j=1nezj:所有指数值的和,用于归一化。
- σ(z)i\sigma(z)_iσ(z)i:第 iii 个类别的概率。
直观理解
- Softmax 将任意实数输入映射到 [0,1][0, 1][0,1],并保证输出总和为 1。
- 它会放大较大的输入值,抑制较小的输入值(因为指数函数的非线性特性)。
- 输出的每个值可以看作某个类别的“概率”。
2. Softmax 的作用
Softmax 主要用于以下场景:
-
多分类问题:
- 在多分类任务中(如图像分类、手写数字识别),Softmax 将模型的原始输出(logits)转换为每个类别的概率。
- 例如,在 MNIST 数据集(10个数字类别)中,Softmax 可以将模型的 10 个输出值转换为 10 个概率,表示每个数字的可能性。
-
概率解释:
- Softmax 的输出是一个概率分布,方便解释模型的置信度。例如,模型可能预测一张图片有 80% 是猫,15% 是狗,5% 是其他。
-
损失函数配合:
- Softmax 通常与交叉熵损失(Cross-Entropy Loss)一起使用,用于优化分类模型。交叉熵损失衡量预测概率分布与真实标签分布的差异。
3. Softmax 的数学性质
为了深入理解 Softmax,我们来看它的几个重要数学性质:
3.1 归一化
Softmax 的输出满足概率分布的定义:
∑i=1nσ(z)i=1\sum_{i=1}^n \sigma(z)_i = 1∑i=1nσ(z)i=1
这是因为分母 ∑j=1nezj\sum_{j=1}^n e^{z_j}∑j=1nezj 确保了所有输出值的和为 1。
3.2 非线性
指数函数 ezie^{z_i}ezi 是一个非线性函数,这使得 Softmax 能够放大输入之间的差异。例如:
- 如果 z1=5,z2=2,z3=0z_1 = 5, z_2 = 2, z_3 = 0z1=5,z2=2,z3=0:
- ez1=e5≈148.4e^{z_1} = e^5 \approx 148.4ez1

最低0.47元/天 解锁文章
7016

被折叠的 条评论
为什么被折叠?



