在熵计算中添加epsilon

时间:2014-06-06 18:00:44

标签: matlab entropy epsilon

使用一些数学技巧和MATLAB,我们可以轻松计算给定输入的熵。例如

x = [10 25 4 10 9 4 4];
[a,b]=hist(x,unique(x));

x =

    10    25     4    10     9     4     4

a =

     3     1     2     1

b =

     4     9    10    25

我的问题如下:因为我们正在使用log函数,是否建议在对数函数中添加一个小常量以确保正确计算?例如,我们应该使用+eps吗?举个例子:

probbailities=a./numel(x);

probbailities =

    0.4286    0.1429    0.2857    0.1429

-sum(probbailities .*log2(probbailities));

ans =

    1.8424

-sum(probbailities .*log2(probbailities+eps));

ans =

    1.8424

0 个答案:

没有答案