对于决策树,有点像 i f . . . e l s e if...else if...else语句。最重要的点就是找到合适的属性来划分类别。对于那个用来划分类别的属性要符合一个条件,那就是划分后,集合的纯度提高了。所以我们往往是在一堆属性中,找到一个属性,该属性最能提高集合的纯度。本文将重点解释信息熵的数学含义。
一、信息熵
信息熵 E n t ( D ) Ent(D) Ent(D)是用来度量样本集合纯度的最常用指标。
E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k log 2 p k Ent(D)=-\sum_{k=1}^{|y|}p_k\log_2p_k Ent(D)=−k=1∑∣y∣pklog2pk
(注:D代表当前样本集合, p k p_k pk代表当前样本中第k类样本所占的比例,|y|代表类别总数。)
西瓜书上直接给出了结论
(1) log 2 ∣ y ∣ ≥ E n t ( D ) ≥ 0 \log_2|y|≥Ent(D)≥0 log2∣y∣≥Ent(D)≥0
(2)当 E n t ( D ) Ent(D) Ent(D)的值越小,则样本的纯度越纯。
那么我们现在开始证明:
这两个结论是一起证明出来的。
对于信息熵的公式,我们发现只有一个自变量 p k p_k pk,所以我们可将信息熵的公式转换一下,变成 f ( x 1 , x 2 , x 3 , … , x n ) = − ∑ k = 1 n x k log 2 x k , 0 ≤ x k ≤ 1 , ∑ k = 1 n x k = 1 f(x_1,x_2,x_3, \dots ,x_n)=- \sum_{k=1}^{n}x_k \log_2x_k,0≤x_k≤1, \sum_{k=1}^{n}x_k=1 f(x1,x2,x3,…,xn)=−k=1∑nxklog2xk,0≤xk≤1,k=1∑nxk=1
这样第一个结论就变成了多元函数求最值的问题了。
看到多元函数求最值的问题,我们似乎熟悉又陌生,熟悉因为这是考研数学的题型,陌生是因为考研数学的题型一般只有二元或三元,并且有好多情况是不需要分析的一股脑计算即可。
1.1 最大值求解
f ( x 1 , x 2 , x 3 , … , x n ) f(x_1,x_2,x_3, \dots ,x_n) f(x1,x2,x3,…,xn)的最大值也就是求 ∑ k = 1 n x k log 2 x k \sum_{k=1}^{n}x_k \log_2x_k ∑k=1</