作者回复: 感谢你指出,这里的符号写的不够清晰,H(Y)其实应该写成H_X(Y)。H(Y)是直接用数据的分类结果计算出来的信息熵,H_X(Y)的下标X表示的是以特征X的取值为变量对数据集计算出的信息熵。所以当关注的特征X不同时,H_X(Y)也是不一样的。
信息增益比主要用在决策树当中,作用是消除多个取值的特征导致的偏差,因为多值特征的信息增益很大,但泛化性能却很差。比如,使用姓名作为特征可以得到较大的信息增益,因为它基本可以把每个人区分开来,但这种区分对于分类显然没什么帮助。这时就可以用信息增益比来一定程度上消除对多值属性的偏向性,但也不能完全消除。
作者回复: 最大熵表示的是对未知的部分不做任何多余的假设,所以要选择符合已有知识但不确定性最大,也就是熵最大的分布,通俗说就是不要不懂装懂。对交叉熵的最小化意味着数据训练的模型要尽可能地接近真实模型,而真实模型又是建立在最大熵的前提下的。所以在优化时,要不断地调整训练的模型,以期更接近真实情况。
作者回复: 以2为底计算出的单位就是二进制的比特。
作者回复: 数据集确定了,总体的信息熵H(Y)就是常量,所以两个其实是等效的。之所以选信息增益一方面在于它和信息论一脉相承,意义清晰;另一方面,在取值上信息增益是越大越好,如果选一个越小越好的指标,有些反直觉。
作者回复: 总体熵 - 特征分类之后每个类别的熵的总和 = 特征的信息增益
这里的信息增益表示的是分类之后残留的不确定度。如何一个特征能够将两个类别完全正确地分开,那它的信息增益是最大的,就等于数据集的熵。
作者回复: 可以参考MacKay的《信息论,推理与学习算法》
作者回复: 最大熵考虑的是最随机的情况,不做任何多余假设,所以可以认为它最符合实际。虽然得到的结果有最大的不确定性,但这种不确定性和真实情况是匹配的,真实世界就是这么不确定,我们不能人为地去增加信息。就像拿到一个骰子,我们会默认每个面出现的概率都是1/6,这就是最大熵思想。
作者回复: 分母是训练数据集的信息熵,因为这里把训练集定为Y,所以分母就是H(Y)。
作者回复: 奇迹其实就是小概率事件的发生