softmax 概率归一化 作者:马育民 • 2026-01-17 08:34 • 阅读:10001 # 介绍 softmax 的可实现 **“概率归一化”** **提示:**与 “普通归一化(如 min-max 归一化)”有本质区别 >softmax **激活函数** 用于解决 **多分类** 问题,详见[链接](https://www.malaoshi.top/show_1EF43MehJmCw.html "链接")。 # 公式 softmax 的数学定义如下(以 PyTorch 中的一维张量为例): 对于输入张量: $$x = [x\_1,x\_2,\ldots,x\_n] $$ softmax 计算每个元素的输出: $$\text{softmax}(x\_i) = \frac{e^{x\_i}}{\sum\_{j=1}^n e^{x\_j}}$$ $$ \text{j} = 1,2,3, \ldots ,n$$ **特征:** - 所有输出值都在 `(0, 1)` 区间内; - 所有输出值的 **总和为 1**。 这完全符合 **“概率归一化”** 的要求——将数据映射到特定范围,且满足特定约束,即:**总和为1** ### 代码验证(PyTorch 实现) ```python import torch import torch.nn.functional as F # 定义一个任意一维张量(模拟分类模型的logits输出) logits = torch.tensor([1.0, 2.0, 3.0]) # 应用softmax归一化 softmax_out = F.softmax(logits, dim=0) print("softmax输出:", softmax_out) # 输出:tensor([0.0900, 0.2447, 0.6652]) print("输出总和:", softmax_out.sum()) # 输出:tensor(1.0)(完美归一化到总和为1) print("每个值的范围:", (softmax_out.min(), softmax_out.max())) # 输出:(tensor(0.0900), tensor(0.6652))(都在0~1之间) ``` # softmax 归一化 vs 普通归一化 虽然都叫“归一化”,但 softmax 和 min-max 归一化、L2 归一化等场景不同,核心差异如下: | 特性 | softmax 归一化 | min-max 归一化([0,1])| L2 归一化 | |---------------------|------------------------------|---------------------------|---------------------------| | 输出约束 | 总和=1(概率分布)| 范围=[0,1] | 向量模长=1 | | 数值敏感性 | 放大差异(指数特性)| 线性映射,保留原始差异 | 仅调整尺度,保留方向 | | 典型应用 | 多分类任务(输出类别概率)| 特征预处理(统一量纲)| 相似度计算(如余弦相似度)| ### 对比 softmax 和 min-max 归一化 ```python # 同一组数据,两种归一化方式 x = torch.tensor([1.0, 2.0, 3.0]) # softmax归一化(概率分布) softmax_x = F.softmax(x, dim=0) # min-max归一化(线性映射到0~1) min_max_x = (x - x.min()) / (x.max() - x.min()) print("softmax归一化:", softmax_x) # [0.09, 0.24, 0.67](差异被放大) print("min-max归一化:", min_max_x) # [0.0, 0.5, 1.0](线性保留差异) ``` # 注意事项 1. **softmax 的“指数放大”特性**: 指数运算会让大值更大、小值更小,比如输入 `[1,2,10]`,softmax 输出会接近 `[0,0,1]`,这适合分类任务(突出最可能的类别),但不适合需要保留原始数值关系的场景。 ### 总结 1. **softmax 是归一化的一种**:它将任意实数映射到 (0,1) 区间,且总和为 1,是专为多分类设计的概率归一化函数。 2. **和普通归一化的核心区别**:softmax 是非线性的(指数运算),会放大数值差异;而 min-max 等是线性的,保留原始数值关系。 3. **适用场景**:softmax 仅用于分类任务的输出层(将 logits 转为类别概率),不适合特征预处理;特征预处理优先用 min-max、标准化(Z-score)等。 原文出处:http://malaoshi.top/show_1GW2biBfUWT5.html