[机器学习]决策树(decision tree)--3.信息熵

本篇文章我们介绍信息熵。

信息熵(information entropy)是度量样本集合纯度最常用的一种指标。信息熵的公式为:Ent(D) = -\sum_{1}^k p_{k}\log_x p_{k}

怎么理解这句话呢?

比如:现在有一个样本D,里面都是西瓜,但是西瓜的质量有好坏之分。假如样本里面都是好瓜,那么第k类样本的概率,即p_{k} 为多少呢?因为这个例子中,只有一类样本:好瓜,所以p_{k} =1。所以Ent(D)=0。

比如:现在有一个样本,里面也都是西瓜,但是西瓜质量有好有坏。好瓜和坏瓜各占一半,那么这个样本的信息熵为:-(\frac{1}{2} \log_2 \frac{1}{2} + \frac{1}{2} \log_2 \frac{1}{2}  ),这个表达式的结果为:1.0。如果我们不想用计算器计算,也可以参考下面的代码:

# a代表正样本,不代表负样本

# 在本例中正样本为好瓜,负样本为坏瓜

import math

a = 1/2

b = 1/2

Ent = -(a*math.log(a, 2) + b*math.log(b, 2))

print(Ent)

那么我们再重新理解一下上面的定义,度量样本集合纯度最常用的一种指标,是不是大概有点感觉了。纯度越高(比如都是好瓜),信息熵就越低。

我们拿到一个样本之后,如何降低信息熵,也就是如何提升纯度呢?比如:样本中好瓜和坏瓜各占一半,如果,有一个属性,比如说颜色,颜色绿的都是好瓜,其他颜色都是坏瓜。那么,这个属性是不是可以帮助我们更好的判断?

这个问题的答案是肯定的,颜色肯定可以帮助我们更好的判断。对于属性带来的帮助,用更加专业的术语来说,就是用属性去划分样本所获得的“信息增益”。

下一篇文章我们将继续介绍信息增益。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容