普通 RV 上的 Matlab 'entropy()'

标签 matlab entropy

如果我使用 Matlab entropy() 函数估计标准正态随机变量向量的熵,我得到的答案在 4 左右,而 actual entropy应该是 0.5 * log(2*pi*e*sigma^2) 大约等于 1.4。

有谁知道差异来自哪里?

注:为了节省时间这里是Matlab代码

for i = 1:1000
  X(i) = randn();
end

'The entropy of X is'

entropy(X)

最佳答案

请阅读帮助(help entropy)或documentation对于 。您会看到它是为图像设计的,并使用直方图技术而不是分析计算。如果您想要来自维基百科的公式,则需要创建自己的函数,但由于公式非常简单,所以应该没问题。

我认为您得到如此不同答案的原因是 entropy 按元素数量缩放直方图的 bin。如果你想使用这样的估计技术,你会想要使用 hist并按区域缩放垃圾箱。参见 this StackOverflow question .

关于普通 RV 上的 Matlab 'entropy()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19881707/

相关文章:

machine-learning - Weka 用于评估连续值熵的 InfoGainAttributeEval 公式是什么?

python - 如何在Python中找到连续变量的熵?

matlab - 具有交叉熵误差的修正线性单元激活的反向传播

matlab - 在 MATLAB 中创建两个向量之间的关联映射

matlab - 如何在 matlab 中根据文本文件中的索引和值重新创建矩阵

matlab:如果 x > 1 可以产生 NaN 的快速函数

matlab - 如何使用Matlab的bsxfun求解累加和

python - 训练后所有权重都变为负数

c++ - 如何确定二进制字符串的统计随机性?

c++ - 交叉熵误差计算