【问题标题】:Can the value of information gain be negative? [closed]信息增益的值可以为负吗? [关闭]
【发布时间】:2011-03-18 09:41:52
【问题描述】:

有没有机会让信息增益的值为负数?

【问题讨论】:

    标签: machine-learning information-theory


    【解决方案1】:

    IG(Y|X) = H(Y) - H(Y|X) >= 0,因为H(Y) >= H(Y|X)最坏的情况是X和Y是独立的,因此H(Y|X)=H(Y)

    另一种思考方式是,通过观察随机变量 X 取一些值,我们要么没有获得关于 Y 的信息,要么获得了一些关于 Y 的信息(你不会丢失任何信息)。


    编辑

    让我在决策树的上下文中澄清信息增益(实际上我首先想到的是,因为我来自机器学习背景)。

    假设我们有一组实例和标签(离散类)的分类问题。

    在树的每个节点处选择要拆分的属性的想法是选择将类属性拆分为两个最纯粹的可能实例组(即最低熵)的特征。

    这反过来相当于选择了自以来信息增益最高的特征

    InfoGain = entropyBeforeSplit - entropyAfterSplit
    

    其中拆分后的熵是每个分支的熵的总和,按该分支下的实例数加权。

    现在不存在类值的可能拆分,这将产生比拆分前更纯度(更高熵)的案例。

    以这个简单的二元分类问题为例。在某个节点,我们有 5 个正实例和 4 个负实例(总共 9 个)。因此熵(分裂前)为:

    H([4,5]) = -4/9*lg(4/9) -5/9*lg(5/9) = 0.99107606
    

    现在让我们考虑一些拆分的情况。最好的情况是当前属性完美地分割了实例(即一个分支全为正,另一个全为负):

        [4+,5-]
         /   \        H([4,0],[0,5]) =  4/9*( -4/4*lg(4/4) ) + 5/9*( -5/5*lg(5/5) )
        /     \                      =  0           // zero entropy, perfect split
    [4+,0-]  [0+,5-]
    

    然后

    IG = H([4,5]) - H([4,0],[0,5]) = H([4,5])       // highest possible in this case
    

    想象第二个属性是最坏的情况,其中一个创建的分支没有得到任何实例:而是所有实例都向下到另一个分支(例如,如果属性在实例之间是恒定的,则可能发生,因此没用):

        [4+,5-]
         /   \        H([4,5],[0,0]) =  9/9 * H([4,5]) + 0
        /     \                      =  H([4,5])    // the entropy as before split
    [4+,5-]  [0+,0-]
    

    IG = H([4,5]) - H([4,5],[0,0]) = 0              // lowest possible in this case
    

    现在介于这两种情况之间,您会看到任意数量的情况,例如:

        [4+,5-]
         /   \        H([3,2],[1,3]) =  5/9 * ( -3/5*lg(3/5) -2/5*lg(2/5) )
        /     \                       + 4/9 * ( -1/4*lg(1/1) -3/4*lg(3/4) )
    [3+,2-]  [1+,3-]
    

    IG = H([4,5]) - H([3,2],[1,3]) = [...] = 0.31331323
    

    因此,无论您如何拆分这 9 个实例,您总能获得积极的信息增益。我意识到这不是数学证明(请转到 MathOverflow!),我只是认为一个实际的例子会有所帮助。

    (注:所有计算依据谷歌)

    【讨论】:

    • 这并没有太大帮助。您刚刚在没有证据的情况下陈述了直觉,并举了一个例子,即使是真的也不能证明它适用于一般情况。
    • @atulgangwar 信息增益总是非负的。如果您想要更全面的内容,请参阅此处:en.wikipedia.org/wiki/…
    • 如果两个属性的信息增益相等怎么办?
    • @ShajeelAfzal 你的意思是在构建决策树时?好吧,如果两个属性以相同的方式拆分实例,则可以为该子树选择其中的任何一个。毕竟算法是贪心的(只看前面一步)并且不能保证全局最优解。
    【解决方案2】:

    当然可以。

    信息增益只是信息熵从一种状态到另一种状态的变化:

    IG(Ex, a) = H(Ex) - H(Ex | a)

    这种状态变化可以向任何一个方向发展——可以是正面的,也可以是负面的。

    这很容易通过例子看出:

    决策树算法的工作原理如下:在给定节点处,您计算其信息熵(针对自变量)。

    你可以这样想:信息熵是分类/离散变量,正如方差是连续变量)。当然,方差只是标准差的平方。例如,如果我们正在寻找基于各种标准的价格预测,并且我们将我们的数据集任意分为两组,其中 A 组的价格是(50、60 和 70),B 组的价格是是 (50, 55, 60),B 组的方差最小——即它们靠得很近。 当然方差不能是负数(因为在将每个点与均值的距离相加后,将其平方)但方差的差异肯定可以

    要了解这与信息熵/信息增益有何关系,假设我们不是在预测价格,而是在预测其他东西,例如我们网站的访问者将成为注册用户还是高级订阅者,或者两者都不是。这里的独立变量是离散的,不像价格那样连续,因此您无法以有意义的方式计算方差。信息熵是用来代替的。 (如果你怀疑方差和 IE 之间的类比,你应该知道大多数决策树算法能够同时处理离散和连续变量,在后一种情况下,算法将使用方差作为分裂标准,而不是使用 IG。 )

    在任何情况下,在计算给定节点的信息熵之后,然后根据每个变量的每个值拆分该节点的数据(如果您在根节点,则为整个数据集),然后为每次拆分,计算两组的 IE,并取加权平均 IE。接下来采用导致最低加权平均 IE 的拆分,并将其与节点 IE(显然只是一个组)进行比较。如果拆分的加权平均 IE 低于节点 IE,则在该节点拆分数据(形成分支),如果不是,则停止,即,该节点不能进一步分裂——你在底部。

    总而言之,决策树算法的核心是确定是否拆分节点的标准——这就是它们的构造方式。该标准是 IG 是积极的还是消极的。

    【讨论】:

    • 你的说法不正确,信息增益总是非负。和互信息是一回事,就是I(X;Y)>=0en.wikipedia.org/wiki/…
    • 我几乎从来没有在没有证据的情况下被说服过。无论如何,我的观点并不重要,但是 IG 确实同时具有 pos 和 neg 值的实际应用我应该认为是决定性的。 (第三种可能性是 IG 的定义跨学科有多种变化,这不是第一次。OP 的问题在上下文中保持沉默。)
    • 我用一个实际的决策树示例添加了进一步的解释
    【解决方案3】:

    首先,答案是否定的,不能是否定的。绝对最坏的可能性是没有变化,或者 IG 为零。如果您想要证明,请像 Amro 指出的那样在 MathOverFlow 上查找完整证明。

    现在寻求建议。如果你只做决策树的第一层,很明显它永远不会出现负面结果。然而,当我使用信息增益构建我的第一棵树时,我发现我的第三个分支获得了负增益。这似乎没有用或不可能,所以我争先恐后地检查我的数学。数学很好。我错误的部分是基本公式的第一部分。我使用上面级别的答案作为我的起始熵,但这是错误的,因为它包含来自其他数据集的信息。您需要确保为您的起始熵确定仅针对该分支的熵这意味着您的“起始熵”实际上可能高于它之前的水平。

    换句话说,在计算 IG 时,请确保您只使用当前数据集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 2015-09-30
      • 2010-12-27
      • 2011-07-24
      • 2011-06-01
      • 2014-10-17
      • 2021-12-10
      相关资源
      最近更新 更多