一般用法
tf.distributions.Categorical(logits).log_prob(index)
作为一个离散型分布,一个神经网络会输出分类数量长度的向量。举例,有4类,输出为[1,2,3,4]。我们想知道第三类(index 为 2)的log probability。此时只需将[1,2,3,4]作为参数logits,2作为参数index。
其计算
p
r
o
b
(
i
n
d
e
x
=
2
)
=
e
3
e
1
+
e
2
+
e
3
+
e
4
=
0.23688
l
o
g
_
p
r
o
b
=
l
o
g
(
0.23688
)
=
−
1.4402
prob(index=2)=\frac{e^3}{e^1+e^2+e^3+e^4}=0.23688\\log\_prob=log(0.23688)=-1.4402
prob(index=2)=e1+e2+e3+e4e3=0.23688log_prob=log(0.23688)=−1.4402
因此最后输出为-1.4402