2014-09-01 80 views
0

为什么这两个图像具有相同的熵?为什么这些图像具有相同的熵?

这些图像在MATLAB创建如下:

N = 50; 
Z1 = randi([0 1],N); 
Z2 = zeros(N); 
Z2(1:2:N,1:2:N) = 1; 
Z2(2:2:N,2:2:N) = 1; 
subplot(1,2,1) 
imshow(Z1,'InitialMagnification',800) 
subplot(1,2,2) 
imshow(Z2,'InitialMagnification',800); 

和他们的 “熵” 被计算为:

entropy(Z1) 
entropy(Z2) 

这导致等于1.0000。

这是说,在帮助中,熵等于-sum(p。* log2(p)),其中p是从imshist返回的计数器。 我发现很难相信这张照片具有相同的“随机性”,因为我们看到其中一张是高度有序的,而另一张完全是随机的。所以呢?

+0

我从来没有使用过这些命令,但'p'是一个从'imhist'派生的数量,听起来好像熵是由颜色决定的。在这种情况下,像素的位置并不重要。如果您不确定我的意思,请查看'imhist'的结果。 – fuesika 2014-09-01 16:01:57

回答

0

这是因为entropy函数计算零阶(经验)熵。这意味着以独立方式查看像素,而无需将其与周围像素进行比较。

因此结构你在第二图像中看到(像素的颜色取决于上的周围像素)没有考虑。相反,计算仅考虑黑白像素的比例(由imhist返回);这两个图像中的比例大致相同。

您也可以这样看:当您计算(零阶)熵时,空间结构会丢失,正如计算图像直方图时像素之间的空间关系丢失一样。

作为一个附注,结果熵实际上略高于Z1中的1,因为当比例恰好为1/2时零级熵最大化。与format long尝试,你会看到类似这样的:

>> format long 
>> entropy(Z1) 
ans = 
    0.999663421925701 
>> entropy(Z2) 
ans = 
    1 

这也可以称为一级熵。由于零阶马尔可夫链产生统计上独立的值,所以将它称为“零阶”从马尔可夫链的角度来看是有意义的。另一方面,从“”的统计分布的角度来看,名称“一阶”是有意义的。随机过程的一阶分布定义了给定时刻/位置的可能值的概率,而不考虑与其他时刻/位置处的值的统计关系。

+0

谢谢!是的,这些图片只是为了解释我的想法。我一直在分析时间序列,熵被认为是一种复杂性度量。它被计算为信号中的“重复某些长度为N + 1的模式”的“重复某些长度为N的模式”的-log的比率。这似乎甚至没有接近(即使它被称为熵),事实上,熵应该帮助我们区分高度(或更高)信息内容中的随机内容;那么,是否有办法考虑空间模式的重复? – 2014-09-01 16:42:14

+0

我只知道1D过程(时间序列)的一般定义,这是您提到的一个定义。 2D的扩展看起来在概念上很简单,但可能很难实现。我不知道任何在1D情况下计算甚至“真”熵的内置Matlab函数 – 2014-09-01 18:42:46

相关问题