问题标签 [entropy]

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 投票
2 回答
8048 浏览

machine-learning - 使用熵的加权决策树

我正在使用互信息增益作为分裂函数来构建二分类树。但由于训练数据偏向少数类,建议通过逆类频率对每个训练示例进行加权。

如何加权训练数据?在计算估计熵的概率时,我是否采用加权平均值?

编辑:我想要一个带有权重的熵的表达式。

0 投票
6 回答
1330 浏览

compression - 数据压缩

我有一个任务以某种方式压缩股票市场数据......数据在一个文件中,其中每天的股票价值在一行中给出,依此类推......所以它是一个非常大的文件。

例如,
123.45
234.75
345.678
889.56
......

现在的问题是如何使用 Huffman 或算术编码或 LZ 编码等标准算法压缩数据(也就是减少冗余)......哪种编码最适合这类数据??......

我注意到,如果我获取第一个数据,然后考虑每个连续数据之间的差异,差异值会有很多重复......这让我想知道是否首先获取这些差异,找到它们的频率和概率,然后使用霍夫曼编码将是一种方式??...

我是对的吗?...谁能给我一些建议。

0 投票
5 回答
210 浏览

c - 我需要一些弱熵。我知道我可以使用一个未初始化的缓冲区,但是如果我只需要一个整数的值,它的地址就足够了吗?

我在 Linux 上,它具有地址空间布局随机化。是否有必要在堆栈上声明一个缓冲区,让它未初始化,并将其用于熵,或者我可以只取堆栈上已经存在的东西的地址,将其转换为整数并且(知道它有点随机,因为解决空间布局随机化)使用该整数代替熵?

指针方法的优势在于它不会像单元化缓冲区那样在您尝试操作它时生成编译器警告,但在我的测试中,似乎只有地址的低位部分(可能是最后一个或两个字节)会改变从调用到调用。熵缓冲区的性能似乎更差,通常什么都没有。

0 投票
3 回答
2342 浏览

linux - urandom有多随机?

在 Linux 中,随机性有多强/dev/urandom/?它被认为是安全的吗?

还有可能得到1的流吗?

0 投票
2 回答
1159 浏览

.net - DPAPI + 熵

我们有一个 WPF 应用程序,允许我们的用户下载加密内容,我们希望提供离线解密此内容的能力。这个想法是下载密钥并使用 DPAPI 存储它们,但我在使用熵参数时遇到了问题。

有没有办法生成熵以始终用于 DPAPI 函数而无需硬编码/存储它们?

谢谢托尼

0 投票
2 回答
4752 浏览

c# - 使用 DPAPI 时安全地存储可选熵

所以我正在尝试使用 DPAPI 存储对称密钥。一切都很好,但是熵怎么办?这里回答的问题确实没有提供足够的洞察力。这似乎是一个滑坡——我可以使用机器商店来存储熵,但是是什么阻止了有人这样做呢?注意:我使用用户范围存储当前密钥。

所以我的问题是 - 使用 DPAPI 存储熵的最佳方法是什么?

0 投票
9 回答
598 浏览

refactoring - 开发人员周转率高的项目真的是一件坏事吗?

我接手了很多开发人员周转率高的 Web 项目。有时,这些网络项目是一个可怕的创可贴解决方案拼凑而成。其他时候,它们可以是一些可维护的半成品功能马赛克,每个功能都采用不同的建筑风格建造。每次我继承这些项目时,我希望以前的开发人员能向我解释为什么事情会变得如此糟糕。

令我困惑的是业主(经理、中间人公司或客户)的反应。他们似乎在想,“好吧,如果你离开,我会找另一个开发人员,因为你是消耗品。” 或者他们会想,“哦,重构系统要花这么多钱?我知道另一个开发人员可以以一半的价格做到这一点。如果我买不起你,我会雇用他。” 我猜开发商的高周转率与业主的心态有关“我的想法总是很棒的想法,如果您不同意,我会找另一个(可能更便宜)同意我的开发商并且做我想要的是”。对于业主来说,这种方法似乎奏效了,因为他们的生意蒸蒸日上。不幸的是,它'

所以我的问题如下:

项目的以下症状对企业来说真的是一件坏事吗?

  • 高开发人员周转率

  • 糟糕的技术——通常是不同且使用不当的建筑风格的拼凑

  • 没有明确的 Web 项目路线图的所有者,他们一时兴起请求功能

我已经看到许多企业因上述症状而繁荣。 所以作为一个程序员,即使我的直觉告诉我以上几点很糟糕,我还是需要退后一步问:“事情真的那么糟糕吗?” 如果没有,我将重新评估我对这些项目的方法......即。我是建立长期解决方案还是创可贴解决方案?

** 冒着这篇文章因与编程无关而被关闭的风险,我想说我认为它与编程有关,因为对这个问题的回答会影响开发人员处理项目的方式。他会更好地了解自己应该提前多长时间计划他的发展(即建立短期或长期解决方案),因为他知道他可能随时退出。

0 投票
1 回答
1985 浏览

computer-science - 互信息/熵计算帮助

希望有人能给我一些关于这个熵问题的指示。

假设 X 是从均匀整数分布 0-32(含)中随机选择的。

我计算熵,H(X) = 32 位,因为每个 Xi 具有相同的发生概率。

现在,假设执行以下伪代码。

int r = rand(0,1); // 一个随机整数 0 或 1

r = r * 33 + X;

我将如何计算两个变量 r 和 X 之间的互信息?

互信息定义为 I(X; Y) = H(X) - H(X|Y) 但我真的不明白如何将条件熵 H(X|Y) 应用于这个问题。

谢谢

0 投票
7 回答
46313 浏览

encryption - 如何计算位串的近似熵?

有没有标准的方法来做到这一点?

谷歌搜索—— “近似熵”位——发现了多篇学术论文,但我只想找到一段伪代码,为给定的任意长度的位串定义近似熵。

(如果说起来容易做起来难,并且取决于应用程序,我的应用程序涉及 16,320 位加密数据(密文)。但加密是一个谜题,并不是不可能破解的。我想我先检查一下熵,但不容易找到一个好的定义。所以这似乎是一个应该在 StackOverflow 上的问题!也欢迎从哪里开始解密 16k 随机看似位的想法......)

另请参阅此相关问题:
熵的计算机科学定义是什么?

0 投票
4 回答
5086 浏览

c++ - 如何确定二进制字符串的统计随机性?

如何确定二进制字符串的统计随机性?

Ergo,我如何编写自己的测试,并返回一个与统计随机性相对应的值,一个介于 0 和 1.0 之间的值(0 不是随机的,1.0 是随机的)?

该测试需要处理任何大小的二进制字符串。

当你用笔和纸做这件事时,你可能会探索这样的字符串:
  0(任意随机性,唯一的其他选择是 1)
  00(不是随机的,它是重复并匹配大小)
  01(更好,两个不同的值)
  010 (更少随机,回文)
  011(更少随机,更多 1,仍然可以接受)
  0101(更少随机,模式)
  0100(更好,更少,但任何其他分布都会导致模式)

案例示例:

大小:1,可能性:2
  0:1.0(随机)
  1:1.0(随机)

尺寸:2,P:4
  00:?
  01:1.0(随机)
  10:1.0(随机)
  11:?

S:3,P:8
  000:?非随机
  001: 1.0 (随机)
  010: ? 少随机
  011: 1.0 (随机)
  100: 1.0 (随机)
  101: ? 少随机
  110 1.0(随机)
  111:?非随机

等等。

我觉得这对于将字符串分解为所有可能的子字符串和比较频率可能起到了很大的作用,但似乎这种基础工作应该在计算机科学的早期就已经完成了。