什么是 Softmax
Softmax 函数是机器学习和深度学习中用于多分类问题的标准输出层激活函数。它将一个任意实数的 n 维向量转换为一个 n 维的概率分布,其中每个元素值在 (0, 1) 区间内,且全部元素之和为 1。
数学定义
对于输入向量 z = [z₁, z₂, ..., zₙ],Softmax 对第 i 个元素的定义为:Softmax(zᵢ) = eᶻⁱ / Σⱼ₌₁ⁿ eᶻʲ
核心特性
- ·概率归一化:输出值为正且总和为 1,符合概率公理
- ·指数放大差异:指数运算放大了 logits 之间的差距
- ·可微性:函数处处可导,利于反向传播优化
- ·温度缩放:除以温度参数
T可控制输出概率分布的平滑程度
数值稳定性
直接计算 eᶻⁱ 在 zᵢ 很大时会导致数值溢出。实践中先对输入减去最大值:z'ᵢ = zᵢ - max(z),再计算 Softmax,结果不变但数值稳定。