交叉熵计算的对数基差

机器算法验证 张量流 交叉熵
2022-03-27 00:12:28

我已经开始阅读这里的 TensorFlow 教程,并且我有一个关于交叉熵计算的小问题。我见过的大多数地方都使用以 2 为底的 log 计算交叉熵,但tf.log是以 e 为底的。在什么条件下使用一个对数库比另一种更受欢迎?

1个回答

log base e 和 log base 2 只是一个常数因子:

logenlog2n=loge2logee=loge2

因此,使用一个比另一个来按常数因子缩放熵。当使用以 2 为底的对数时,熵的单位是比特,而对于自然对数,熵的单位是 nats。

一个并不比另一个好。这有点像使用公里/小时和米/秒之间的区别。

以 2 为底的对数可能比对数的计算速度更快。然而,在实践中,计算交叉熵几乎从来都不是算法中成本最高的部分,因此不必过度关注。