1、信息熵
信息熵是度量样本集合纯度最常用的一种指标。假设样本集合D中第
k
k
个类所占的比例为,一共有
K
K
个类,则D的信息熵定义为
信息熵Ent(D)的值越小,则D的纯度越高,即集合D中几乎全部是某个类别,其他类别几乎为0.
观察公式(1),可知 pk∈[0,1] p k ∈ [ 0 , 1 ] ,所以 log2pk l o g 2 p k 最大值为0,且单调递增,而公式(1)右边有负号,所以 Ent(D) E n t ( D ) 最小值是0,且单调递增。实际上,当所有 pk p k 都取相等值的时候, Ent(D) E n t ( D ) 取得最大值,此时集合D中的纯度是最低的,即所有类别的个数均等。
假设样本只有2个类别,其中正样本所占的比例 p1=817 p 1 = 8 17 ,负样本所占的比例为 p2=917 p 2 = 9 17 ,根据公式(1)有
2、信息增益
假设数据的属性(即特征,且特征的取值是离散的值)a有V个可能的取值
{a1,...,aV}
{
a
1
,
.
.
.
,
a
V
}
,每个特征a取值为v的样本集合记为
Dv
D
v
,那么可以将集合D划分为v的子集
{D1,..,DV}
{
D
1
,
.
.
,
D
V
}
,信息增益(特征a对于样本集合D进行划分获得的信息增益)定义如下:
如公式(3)所示, Ent(Dv) E n t ( D v ) 的值越小,代表特征在取值为 v1 v 1 的时候,对各个样本而言,其纯度越大,即某个类别占有很高的比例,这意味着 v1 v 1 对该特征取值的时候对数据具有较高的区分度,所以应该选择 Ent(Dv1) E n t ( D v 1 ) 较小的结果,同理我们也希望取值为 v2,v3,... v 2 , v 3 , . . . 时候也是如此,公式(2)表明加权后的结果,即最终 Gain(D,a) G a i n ( D , a ) 的属性作为划分数据的依据,这实际上就是 ID3决策树学习算法(以信息增益为准则划分属性)
假设特征a为”色泽”特征,取值有3种 {青绿,乌黑,浅白} { 青 绿 , 乌 黑 , 浅 白 } ,对该特征划分分别是 {D1,D2,D3} { D 1 , D 2 , D 3 } ,子集 D1={1,4,6,10,13,17} D 1 = { 1 , 4 , 6 , 10 , 13 , 17 } 共6个样本,其中正样本所占的比例 p1=36 p 1 = 3 6 ,负样本所占的比例为 p2=36 p 2 = 3 6 ,子集 D2={2,3,7,8,9,15} D 2 = { 2 , 3 , 7 , 8 , 9 , 15 } 共6个样本,其中正样本所占的比例 p1=46 p 1 = 4 6 ,负样本所占的比例为 p2=26 p 2 = 2 6 ,子集 D3={5,11,12,14,16} D 3 = { 5 , 11 , 12 , 14 , 16 } 共5个样本,其中正样本所占的比例 p1=15 p 1 = 1 5 ,负样本所占的比例为 p2=45 p 2 = 4 5 ,而 |D|=17 | D | = 17 ,一共有17个样本。代入公式(2)可得
同理可得 Ent(D2)=0.918,Ent(D3)=0.722 E n t ( D 2 ) = 0.918 , E n t ( D 3 ) = 0.722
所以,根据特征a划分得到的信息增益为
假设样本集合D还有其他特征,则依次计算所有特征的信息增益,选择信息增益最大特征作为树的划分结果,决策树的构建则是依次递归直到划分所有的属性,完成树的构建。(即把 |Dv| | D v | 当成|D|下一个未划分的属性继续成为 |Dv| | D v | )