P4501.Softmax计算
题目描述
给定输入向量:
z=[z1,z2,…,zn]⊤
Softmax 的计算公式为:
Softmax(zi)=∑j=1nezjezi
为提升数值稳定性,通常使用如下等价形式:
Softmax(zi)=∑j=1nezj−max(z)ezi−max(z)
Softmax 输出为概率分布向量:
p=[p1,p2,…,pn]⊤
并满足:
i=1∑npi=1
输入参数
返回值
p:长度为 n 的 Softmax 概率输出向量
示例
输入:
z = [1.0, 2.0, 0.0]
输出:
p = [0.2447, 0.6652, 0.0901]
提示
-
输入范围:
−100≤zi≤100
-
输出概率范围:
0≤pi≤1
-
Softmax 总和:
∑i=1npi=1
-
向量长度要求:
n≥1