- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在研究ID3 机器学习算法使用的统计熵概念
对于以学习集 S(即我用来构建决策树的示例集)为例的域,我对对象进行分类所需的平均信息量由 熵度量给出
所以我有以下公式:
所以,例如:
如果 S 是 14 个示例的集合,其中 9 个是,5 个不是,那么我有:
熵(S) = - (9/14)*Log2(9/14) - (5/14)*Log2(5/14) = 0.940
这很容易计算,我的问题是,在我的书上我也看到了这个注释:
Notice entropy is 0 if all members of S belong to the same class (the data is perfectly classified). The range of entropy is 0 ("perfectly classified") to 1 ("totally random").
这个断言让我感到困惑,因为我试图以这种方式改变前面的例子:
如果 S 是 14 个示例的集合,其中 14 个是,0 个不是示例,那么我有:
熵(S) = - (14/14)*Log2(14/14) - (0/14)*Log2(0/14) = 0 - 无穷
因此,在这种情况下,所有对象都属于同一个类 (YES),没有示例属于 NO 类。
所以我希望这个 S 集合的熵值为 0 并且没有 - infinity
我错过了什么?
谢谢
安德里亚
最佳答案
在计算熵时,您通过迭代相关节点的唯一分类值来进行求和。您可以在每次迭代中通过计算集合中有多少成员具有该值来执行此操作,然后使用对数公式。在您的问题案例中,唯一出现的分类值为 YES,这意味着基于单次迭代的熵为零。您不能迭代 NO 值,因为没有一个示例具有该值。
关于algorithm - ID3机器学习算法中统计熵概念相关的一些疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17147183/
我们有一个 WPF 应用程序,允许用户下载加密内容,并且我们希望提供离线解密该内容的功能。我的想法是下载 key 并使用 DPAPI 存储它们,但我在使用熵参数时遇到了问题。 是否有任何方法可以生成熵
在 php.ini 的 session 部分,有一个名为 session.entropy_length 的指令。 我知道它用于使 session ID 的生成“更加随机”。 它如何使 session
在 php.ini 的 session 部分,有一个名为 session.entropy_length 的指令。 我知道它用于使 session ID 的生成“更加随机”。 它如何使 session
我使用决策树算法来解决二元分类问题,目标是最大限度地减少分类的误报(最大化阳性预测值)(诊断工具的成本非常高) 。 有没有办法在基尼/熵分割标准中引入权重来惩罚误报错误分类? Here例如,修改后的基
我想检查我的 std::random_device 实现是否具有非零熵(即非确定性),使用 std::random_device::entropy() 函数。然而,根据至cppreference.co
我在 tensorflow_decision_forests 文档 ( https://github.com/tensorflow/decision-forests ) ( https://www.t
我是一名优秀的程序员,十分优秀!