机器学习 - 决策树 and 信息论基础
-
熵
信息论是运用概率论与数理统计的方法研究问题的应用数学学科。其中 “熵” 的概念是非常重要的,而在机器学习领域,决策树是“熵”可以表演的一个大舞台。
熵,主要研究对一个信号能够提供信息的多少进行量化。主要通过 进行计算,其中,如果 的底数为自然对数 ,那么计算单位为 奈特(nit);如果底数为 2 ,那么计算单位为 比特(bit)。
在生活中,对一个事件,其发生的概率越大,事件的结果越确定,干扰越少,那么其所包含的信息量越少;而发生概率越大,事件越不明朗,干扰越多,那么其包含的信息量越多。
例如:一场国足与巴西的正式足球比赛。巴西队胜的概率非常大,不出意外肯定是巴西队胜,这个结果基本是确定的,所包含的信息非常简单:“巴西队实力强”。对于国足来讲胜的概率太小了,但是,如果是中国队胜了,这当中所包含的信息量就太大了:“卧槽!中国队竟然赢了巴西?肯定是打假球!要不然就是巴西派出了少年队?又或者国足采用的战术太牛逼了?”,最后才可能想到,“国足真的雄起了!”
这例子可能不太恰当,但却可以反映出信息量、概率之间的关系,而熵可以将信息量与概率结合起来。
-
自信息
用来衡量单一事件发生时所包含的信息量。假设事件 发生的概率为 ,那么事件 发生的自信息为:
比特,或 奈特。
(为在本文中统一单位,以后均采用 来计算,并以 简化表示。)
-
香农熵
香农熵是对整个概率分布的衡量,是指服从这个分布的事件所产生的 期望信息总量。对于随机变量 ,香农熵的定义为:
-
交叉熵
交叉熵主要用于度量两个概率分布间的差异性信息。假设对于随机变量 有两个概率分布 ,交叉熵的定义为:
对于机器学习,可以作为损失函数, 作为真实分布, 作为模型预测的分布,交叉熵就可以衡量预测结果与真实标签之间的差异。
对于特征工程,可以衡量两个特征之间的相似性。
-
条件熵
条件熵 表示在已知随机变量 X 的条件下随机变量 Y 的不确定性。可以理解为,在已知事件 X 的情况下,Y 事件此时 包含的信息量。条件熵的定义为:
且,如果 独立,那么:
另外,条件熵 相当于联合熵 减去单独的熵 ,即:
-
互信息(ID3 所使用的信息增益)
互信息可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不确定性。可以理解为在事件 X 发生后,事件 Y 所 包含信息的改变量。
比如刚才国足的例子,假如我们被告知“巴西队全少年队出战”,因为这一条消息国足获胜的概率就大大提高了,不确定性就降低了。那么“巴西队全少年队出战”这一条消息所带来的信息量原本是包含在“国足胜利”这一事件中的,或者说,因为已知这一条消息,国足获胜的不确定性降低了。这条消息所包含的信息就成为互信息。
互信息的定义为:
-
KL 散度(相对熵)
设 p(x)、q(x) 是 离散随机变量 X 中取值的两个概率分布,则 p 对 q 的相对熵是:
如果 和 两个分布相同,那么相对熵等于 0.
另外,
相对熵也可以用来衡量两个概率分布之间的差异。
-