Softmax函数计算详解
Softmax 函数的组成部分:
σ ( z ⃗ ) i = e z i Σ j = 1 K e z j \sigma(\vec{z})_i = \frac{e^{z_{i}}}{\Sigma^{K}_{j=1}e^{z_{j}}} σ(z )i=Σj=1Kezjezi
输入
softmax 函数的输入是一个包含
K
K
K个元素的向量:
z
⃗
=
[
z
0
,
z
1
,
⋯
,
z
K
]
\vec{z}=[z_{0},z_{1},\cdots,z_{K}]
z
=[z0,z1,⋯,zK]
示例
假设我们有一个向量:
z
⃗
=
[
2
,
4
,
6
]
\vec{z}=[2,4,6]
z
=[2,4,6]
根据softmax函数的定义,计算softmax的步骤如下:
- 对于向量中的每一个元素 z i z_i zi,计算 e z i e^{z_i} ezi。
- 计算所有这些指数值的和,即 Σ j = 1 K e z j \Sigma^{K}_{j=1}e^{z_{j}} Σj=1Kezj,其中 K K K 是向量的长度。
- 对于向量中的每一个元素
z
i
z_i
zi,计算softmax值:
σ ( [ 2 , 4 , 6 ] ) i = e z i Σ j = 1 K e z j \sigma([2,4,6])_i = \frac{e^{z_{i}}}{\Sigma^{K}_{j=1}e^{z_{j}}} σ([2,4,6])i=Σj=1Kezjezi
在这个例子中,向量 z ⃗ \vec{z} z 有3个元素,所以 K = 3 K = 3 K=3。我们需要对每一个元素进行计算:
- 计算 ( e z 1 = e 2 e^{z_{1}} = e^2 ez1=e2),( e z 2 = e 4 e^{z_{2}} = e^4 ez2=e4),( e z 3 = e 6 e^{z_{3}} = e^6 ez3=e6)
- 计算指数和: Σ j = 1 3 e z j = e 2 + e 4 + e 6 \Sigma^{3}_{j=1}e^{z_{j}} = e^2 + e^4 + e^6 Σj=13ezj=e2+e4+e6
- 计算每一个元素的softmax值:
- 对于第一个元素(
i
=
1
i=1
i=1):
σ ( [ 2 , 4 , 6 ] ) 1 = e 2 e 2 + e 4 + e 6 = 0.015876... \sigma([2,4,6])_1 = \frac{e^2}{e^2 + e^4 + e^6}=0.015876... σ([2,4,6])1=e2+e4+e6e2=0.015876... - 对于第二个元素(
i
=
2
i=2
i=2):
σ ( [ 2 , 4 , 6 ] ) 2 = e 4 e 2 + e 4 + e 6 = 0.117310... \sigma([2,4,6])_2 = \frac{e^4}{e^2 + e^4 + e^6}=0.117310... σ([2,4,6])2=e2+e4+e6e4=0.117310... - 对于第三个元素(
i
=
3
i=3
i=3):
σ ( [ 2 , 4 , 6 ] ) 3 = e 6 e 2 + e 4 + e 6 = 0.866813... \sigma([2,4,6])_3 = \frac{e^6}{e^2 + e^4 + e^6}=0.866813... σ([2,4,6])3=e2+e4+e6e6=0.866813...
- 对于第一个元素(
i
=
1
i=1
i=1):
输出概率分布
o u t p u t = [ 0.0158... , 0.1173... , 0.8668... ] output = [0.0158..., 0.1173..., 0.8668...] output=[0.0158...,0.1173...,0.8668...]
相加和为1,最小输入 2 具有最低概率,最大输入 6 具有最高概率。
如果觉得这篇文章有用,就给个赞
标签:...,函数,元素,详解,softmax,e4,e2,Softmax From: https://blog.csdn.net/qq_35229591/article/details/142942022