问题标签 [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.

0 投票
1 回答
203 浏览

machine-learning - 计算人工神经网络权重矩阵的熵?

有没有人遇到过计算多层感知器权重矩阵熵的方法?

0 投票
1 回答
2070 浏览

python - 在python中计算互信息返回nan

我已经在 python 中使用和实现了互信息公式pandasnumpy

但是,如果一个单元格p的概率为零,np.log2(p.ix[i_y,i_x]/(p_x[i_y]*p[i_x]))则为负无穷大,整个表达式乘以零并返回NaN

解决这个问题的正确方法是什么?

0 投票
2 回答
254 浏览

python - 做一个无前缀的集合

是否有标准或最佳算法可以使给定的一组字符串无前缀?也就是说,给定一组字符串,丢弃所有在该集合中也具有(较短)前缀的字符串。

万一这很重要,我最终将在 Python 2.7 中实现它。

0 投票
1 回答
76 浏览

information-theory - 理解信息内容的概念

我不学习计算机科学,但我对理解信息内容的概念很感兴趣。

我看到了这两个例句:

它说句子 b) 具有更高的信息含量,因为对于句子 a) 只有小于/大于的可能性,对于句子 b) 是无限多的可能性。

我同意 b) 具有更高的信息含量,但我不明白解释。

我会说 b) 具有更高的信息含量,因为它可以准确地告诉您当时的温度。

但我想我的直觉理解是不正确的。如果一条消息没有解释的余地​​,我会说它具有很高的信息含量。

我会自发地说,b) 信息量更大,因为它准确地告诉你谁来拜访。这是正确的吗?

根据我的非科学理解,高信息量会很好,因为它会让你毫无疑问。但我想在信息论中,高信息量是不好的,因为这意味着信息需要大量比特进行编码,而信息并不被视为好的东西,而只是需要传输的东西。这是一个很好的表达方式吗?

0 投票
0 回答
151 浏览

matlab - 估计信号的准平稳部分

我试图在 Matlab 中估计信号的估计准平稳部分。这是属于鸟类的 1 秒长的声音信号。

我正在使用 MFCC 来提取特征,但希望 MFCC 的窗口大小能够保证在统计准平稳部分上运行。

我的问题是:

  1. 如果我通过观察特征的第二时刻的变化并在第二时刻不再变化的情况下做出决定,将窗口大小从 1 秒变为更小的间隔来进行迭代,你认为这是一种可靠的方法吗?
  2. 如果我通过再次改变我的 MFCC 窗口大小来使用香农熵方法,我在熵算法的输出中得到的位数将如何帮助我识别信号的估计准平稳部分

还有其他想法吗?

0 投票
2 回答
2575 浏览

statistics - 比较两个有序列表的相似性

假设我有两个列表:

如何计算这两个列表之间的相似度?

如果这两个列表长度相同,Spearman 和 Kendall 似乎是答案,但这个原则是否也可以扩展到不同长度的列表?

0 投票
3 回答
1492 浏览

ruby - 使用 Ruby,如何将二进制数据转换为高度压缩但可读的格式

我有一些二进制数据,我想将它们转换为更容易阅读和复制/粘贴的东西。

二进制数据显示如下

这很丑陋。我可以将其转换为十六进制:

但是由于十六进制只有 16 个字符,所以它不是很压缩。我最终得到一个数百个字符长的字符串。

我更喜欢使用字母(大写和小写)、数字和基本符号的格式,以充分利用可能的值。我可以使用什么?

我也更喜欢Ruby内置的东西,不需要其他库。不幸的是,我不能需要另一个库,除非它非常知名和流行,或者理想地内置在 Ruby 中。

我尝试了来自http://apidock.com/ruby/String/unpack的东西,但找不到任何东西。

0 投票
2 回答
471 浏览

decision-tree - 对 KL 散度和特征选择的直觉

我很难理解 KL 散度以及如何将其用于特征选择。因此,假设我有一组观察值(例如零和一)和为每个观察生成的 2 个特征。我现在的问题是:为什么功能是“最好的”?

我知道我可以使用 KL 散度(由 $$D_{KL} = \sum_i p(i) \log \frac{p(i)}{q(i)}$$ 给出),但是什么是 P,什么是是Q吗?我的直觉说 P 是例如特征 1,Q 是真实分布(因此是零和一的集合),但我也理解一个好的特征可以最大化 KL 散度。但是,如果 Q 是类的实际分布,那么您希望将其最小化,对吗?那么特征分布在实际分布上不会出错吗?

0 投票
1 回答
1243 浏览

r - logLik.lm():为什么 R 使用 (p + 1) 而不是 p 来表示自由度?

我试图了解 R 中 AIC/BIC 的结果。出于某种原因,R 将要估计的参数数量加了 1。因此,R 使用不同于2 * p - 2 * logLik(在高斯情况下logLik是残差平方和)的公式。实际上它使用:2 * (p + 1) - 2 * logLik.

经过研究,我发现问题与stats:::logLik.lm().

作为一个真实的例子(使用 R 的内置数据集trees),考虑:

这真是令人费解。有谁知道为什么?


Edit1:glm@crayfish44 的示例


编辑2:方法logLik

0 投票
0 回答
68 浏览

bit-manipulation - 2个数字的可逆加法

我遇到了一个理想情况下我想解决的问题,我想将两个数字相加(问题涉及 24 位,但为了便于演示,8 位很好)数字在一起 - 很简单,他们甚至不需要严格添加,异或就可以了。但是,我希望这是可逆的,我知道您可以使用 XOR 密码将已知数字添加到原始数字并能够再次对其进行解码,但我想做类似的事情,但使用 2 个起始数字而不是单人。

截断为 8 位数字以便于演示:

例如,我想将 10010100 添加到 10110110 中。然后我希望能够从结果数字中提取 10010100 以再次获得 10110110。我将添加 n 个 8 位数字,传输结果数字,然后解码回 n 个 8 位数字 + 原始数字。传输的数字可以尽可能大,但越小越好。我对如何实现这一点很灵活,无论是在硬件还是在软件中。这可能吗?希望我已经包含了足够的信息。

提前致谢