tf.distributions.Categorical 工作原理

一般用法

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

你可能感兴趣的:(tensorflow)