Softmax 函数

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 主要用于以下场景:

  1. 多分类问题

    • 在多分类任务中(如图像分类、手写数字识别),Softmax 将模型的原始输出(logits)转换为每个类别的概率。
    • 例如,在 MNIST 数据集(10个数字类别)中,Softmax 可以将模型的 10 个输出值转换为 10 个概率,表示每个数字的可能性。
  2. 概率解释

    • Softmax 的输出是一个概率分布,方便解释模型的置信度。例如,模型可能预测一张图片有 80% 是猫,15% 是狗,5% 是其他。
  3. 损失函数配合

    • Softmax 通常与交叉熵损失(Cross-Entropy Loss)一起使用,用于优化分类模型。交叉熵损失衡量预测概率分布与真实标签分布的差异。

3. Softmax 的数学性质

为了深入理解 Softmax,我们来看它的几个重要数学性质:

3.1 归一化

Softmax 的输出满足概率分布的定义:

∑i=1nσ(z)i=1\sum_{i=1}^n \sigma(z)_i = 1i=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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱看烟花的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值