[Code]
p <- c(1 / 2, 1 / 4, 1 / 4)
q <- rep(1 / 3, 3)
cross_entropy <- -sum(p * log2(q))
shannon_entropy <- -sum(p * log2(p))
divergence <- sum(p * log2(p / q))
c(
cross_entropy = cross_entropy,
shannon_entropy = shannon_entropy,
divergence = divergence
)
#> cross_entropy shannon_entropy divergence
#> 1.5849625 1.5000000 0.0849625