gpt4 book ai didi

wolfram-mathematica - 使用 SameTest 时,熵结果是否与顺序有关

转载 作者:行者123 更新时间:2023-12-04 08:09:14 25 4
gpt4 key购买 nike

Mathematica 的 Entropy使用 SameTest 时,函数依赖于顺序选项。

那是:

Entropy[RandomSample[Range[11]], SameTest->(Abs[#1-#2]>1&) ]

会多次给出不同的结果。

我认为这是因为 Entropy[]实际上是 Union -izing 列表,但是,不像 Union ,它实际上是在替换 SameTest 之一与另一个值,并且此替换是顺序敏感的。

这是一个错误还是预期的行为?

最佳答案

您可以使用 Trace[ ] 查看Entropy[ ]函数最终使用 Tally[ ]用于计算每个状态的频率(在这种情况下是数字)。

所以例如

 Entropy[{1,2,3,4}, SameTest->(Abs[#1-#2]>1&)]  

电话
 Tally[{1,2,3,4}, SameTest->(Abs[#1-#2]>1&)]  

这使
 -> {{1, 3}, {2, 1}}

因为它将 {1,3,4} 和 {2} 分组

但是如果你要求
 Tally[{2,1,3,4}, SameTest->(Abs[#1-#2]>1&)]  

你得到
  -> {{2, 2}, {1, 2}}

因为它将 {2,4} 和 {1,3} 分组

导致之前的状态分布 (2,2) 与 (3,1) 不同,因此熵值不同。

我认为问题的出现是因为您的 SameTest 没有像它应该的那样将域划分为两个等价类。

编辑

只是重新编写最后一句话:

妈妈认为
a === b && b === c  Implies a === c  

这在你的情况下是不正确的。例如
2 === 4 && 4 === 1  but  2 !=== 1

关于wolfram-mathematica - 使用 SameTest 时,熵结果是否与顺序有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6313571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com