问题标签 [information-theory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 将 Levenshtein 距离转换为错误率
他们是一种将莱文斯坦距离转换为错误率的方法吗?
错误率是序列中不完全相同的部分。
matlab - 香农熵计算
我有一个概率分布,它定义了n
可能状态发生的概率。
我想计算给定概率分布的香农熵值(以位为单位)。
我可以wentropy(x,'shannon')
用来获取值吗?如果可以,我可以在哪里定义系统可能具有的状态数?
r - 使用 MuMIn 使用 QAIC 对模型进行排名
我需要使用 QAIC 标准对候选模型进行排名。这是我尝试过的:
这将返回此错误:
如何使用 QAIC 对上述模型进行排名?
r - R中连续变量的Tsallis熵
离散变量的Tsallis 熵定义为:
连续变量的 Tsallis 熵定义为:
其中p(x)
是数据的概率密度函数,并且int
是积分的。
我正在尝试在 R 中实现 Tsallis 熵。
假设我有以下数据(由 beta 函数生成,但假设分布未知)
离散变量的 Tsallis 熵为:
我现在想计算连续变量的 Tsallis 熵:
正如我所料,这两个结果是不同的。但为何如此不同?我的主要问题是:计算连续变量的 Tsallis 熵的代码是否正确?请记住,我假设分布是未知的。
matlab - 具有指定概率密度的二进制向量
假设我正在使用二进制向量 {0,1}。我只想将 p=[0,1] 之类的输入参数作为输入参数,并具有与给定概率相对应的确切数量的零(给定向量的长度,例如“N”),我应该将它们按随机顺序排列.
例如,对于 p=0.5 和 N=8,我想要类似 [0 0 1 0 1 1 0 1] 或 [1 1 0 0 1 0 0 1] 的东西,重要的是要有 50% 的零以随机顺序。如有必要,当无法表示时(即 p=0.200034 和 N=8),它应该四舍五入。
我做了 X = (rand(1,N)<=(1-p)); 但显然它并不总是给出确切的密度。另一种解决方案是为 cicle 做一个,并使用累加器以随机顺序访问向量,但我认为应该有一个更好(更快)的解决方案。
谢谢
compression - GZIP 或 DEFLATE 最多可以增加文件大小是多少?
众所周知,GZIP 或 DEFLATE(或任何压缩机制)有时会增加文件大小。文件可以增加的最大值(百分比或常数)吗?它是什么?
如果一个文件是 X 字节,我要压缩它,我需要提前为文件空间做预算——最坏的情况是什么?
更新:有两个开销:GZIP 添加一个标头,通常为 18 个字节,但基本上是任意长的。放气呢?这可以通过乘法因子扩展内容,我不知道。有谁知道它是什么?
image - 两幅图像的互信息和联合熵 - MATLAB
我有两张黑白图像,我需要计算互信息。
我知道互信息可以定义为:
MATLAB 已经内置了计算熵但不计算联合熵的函数。我想真正的问题是:如何计算两张图像的联合熵?
这是我想找到联合熵的图像示例:
python - 如何计算 N 个变量的香农熵和互信息
我需要计算互信息,因此需要计算 N 个变量的香农熵。
我写了一个代码来计算某些分布的香农熵。假设我有一个变量 x,数字数组。按照香农熵的定义,我需要计算归一化的概率密度函数,因此使用 numpy.histogram 很容易得到它。
选择插入 x,并仔细选择此功能起作用的 bin 编号。
但是这个函数非常依赖于 bin 编号:选择这个参数的不同值我得到不同的值。
特别是如果我的输入是一组值常量:
这个变量的熵显然必须为 0,但是如果我选择等于 1 的 bin 编号,我会得到正确的答案,如果我选择不同的值,我会得到奇怪的无意义(否定)答案.. 我的感觉是 numpy .histogram 具有参数 normed=True 或 density= True (如官方文档中所述)它们应该返回归一化的直方图,并且可能在我从概率密度函数切换时出现一些错误(numpy的输出.histogram)到概率质量函数(香农熵的输入),我这样做:
我想找到解决这些问题的方法,我想有一种有效的方法来计算独立于 bin 数的香农熵。
我写了一个函数来计算更多变量分布的香农熵,但我得到了同样的错误。代码是这样的,其中函数 shannon_entropydd 的输入是数组,其中在每个位置都有必须参与统计计算的每个变量
我需要这些数量才能计算某些变量集之间的互信息:
M_info(x,y,z)= H(x)+H(z)+H(y)- H(x,y,z)
其中 H(x) 是变量 x 的香农熵
我必须找到一种方法来计算这些数量,所以如果有人有一种完全不同的代码,我可以打开它,我不需要修复这个代码,而是找到一个正确的方法来计算这个统计函数!
performance - spark中熵的高效计算
给定一个 RDD(数据)和一个要计算熵的索引字段列表。执行以下流程时,在 2MB(16k 行)源上计算单个熵值大约需要 5 秒。
debugString 的输出如下:
如果我收集RDD并再次并行化,则需要大约 150 毫秒来计算(对于一个简单的 2MB 文件来说,这似乎仍然很高)——并且在处理多 GB 数据时显然会带来挑战。正确使用 Spark 和 Scala 我缺少什么?
我最初的实现(表现更糟):