简单的理解熵的概念

通常我们为了量化分类效果的好坏,会引入信息增益(ID3)、信息增益率(C4.5)、基尼系数(CART)等。一般采用熵(Entropy)来度量信息增益。

ID3算法的核心思想就是以信息增益度量属性的选择,选择分裂后能够获得最大信息增益的属性进行分裂。信息增益(Information Gain)是用来衡量给定的属性区分训练样例的能力。先了解一下信息增益相关联的一个名词“熵”(entropy),熵是信息论中广泛使用的一个名词,刻画任意数据集的纯度。假设一个二分类的问题,正反样例集为S,那么这个数据集S相对于这个二分类的熵为:

Entropy(S)\equiv -p_{\oplus}log_{2}p_{\oplus}-p_{\ominus}log_{2}p_{\ominus}\equiv -p_{\oplus}log_{2}p_{\oplus}-(1-p_{\oplus})log_{2}(1-p_{\oplus})

其中p_{\oplus}代表正样例的先验概率(统计概率,占比),p_{\ominus}代表负样例的先验概率,在熵的计算中任务0log_{2}0= 0

举个例子对于人脸特征区分男女的例子,样本集S一共15个样本,其中包括7个男生、8个女生,我们把样本集S记为:

S=[7_{\oplus}, 8_{\ominus}],那么熵为:

Entropy(S)=Entropy([7_{\oplus}, 8_{\ominus}]) \\\\=-\frac{7}{15}log_{2}\frac{7}{15}-\frac{8}{15}log_{2}\frac{8}{15} \\\\=-\frac{7}{15}log_{2}\frac{7}{15}-(1-\frac{7}{15})log_{2}(1-\frac{7}{15}) \\\\=0.9967

根据上面公式可以很容易得到如下结论:

1. 如果S所有的成员都属于一类,那么Entrop(S)=0

2. 如果S所有成员的正负例个数相等,那么Entrop(S)=1

3. 如果S的正反例数量不等,那么0 < Entropy(S) < 1

可以根据上面公式的正例和entropy的关系简单画出示意图。

泛化一下,如果目标属性包含n个不同的值,那么S相对于n个状态的分类熵定义为:

Entropy(S)=\sum_{i=1}^{n}-p_{i}log_{2}p_{i},其中p_{i}为第i个状态的比率(统计概率)

发布了83 篇原创文章 · 获赞 18 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/lwc5411117/article/details/101700266