1.信息熵
(1).熵
熵代表随机分布不确定程度,熵越大,不确定越大。随机变量X熵的定义如下:
H(X)=−i=1∑np(xi)logp(xi)=−∫xp(x)logp(x)dx
注:
熵只依赖于随机变量的分布,与随机变量取值无关;
定义0log0=0(因为可能出现某个取值概率为0的情况);
熵越大,随机变量的不确定性就越大,分布越混乱,随机变量状态数越多。
(2)联合熵
推广到多维随机变量的联合分布,其联合信息熵为:
H(X,Y)=−i=1∑nj=1∑mp(xi,yj)logp(xi,yj)
(3)条件熵
在X给定条件下,Y的条件概率分布的熵对X的数学期望,(X,Y)发生所包含的熵,减去X单独发生包含的熵:在X发生的情况下,Y发生“新”带来的熵。
H(Y∣X)======H(X,Y)−H(X)−x,y∑p(x,y)logp(x,y)+x∑p(x)logp(x)−x,y∑p(x,y)logp(x,y)+x∑(∑p(x,y))logp(x)−x,y∑p(x,y)logp(x,y)+x,y∑p(x,y)logp(x)−x,y∑p(x,y)logp(x)p(x,y)−x,y∑p(x,y)logp(y∣x)
根据条件熵的定义式,可以得到
H(Y∣X)======−x,y∑p(x,y)logp(y∣x)−x∑y∑p(x,y)logp(y∣x)−x∑y∑p(y∣x)p(x)logp(y∣x)−x∑p(x)y∑p(y∣x)logp(y∣x)x∑p(x)(−y∑p(y∣x)logp(y∣x))x∑p(x)H(Y∣X=x)
(4)互信息
一个随机变量由于已知另一个随机变量而减少的不确定性。
I(X,Y)==H(X)−H(X∣Y=y)=H(Y)−H(Y∣X=x)H(X)+H(Y)−H(X,Y)
2.决策树学习算法
(1) 决策树
决策树是一种树形模型,其中每一个内部节点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一个类别。
决策树采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一颗熵值下降最快的树,到叶子节点处熵值为0,此时在每个节点中的实例都属于同一个类别。
决策树特点:可以自学习,不需要使用者了解过多背景知识,只需要对训练数据做好标记,是一个有监督学习,从一类无序无规则的事务中推断出决策树表示的规则。决策树示意图如下:
(2) 决策树生成算法
建立决策数的关键是在当前状态下选择哪个属性作为分类依据。根据不同的目标函数,决策树主要有三种算法:ID3,C4.5,CART。
(3)信息增益
概念:表示得知特征A的信息而使得类X的不确定性减少的程度。当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。
数学定义:特征A对训练数据集D的信息增益
g(D,A),定义为集合D的经验熵
H(D)与特征A给定条件下D的经验条件熵
H(D∣A)之差,即:
g(D,A)=H(D)−H(D∣A)
信息增益计算方法:
记号:训练数据集D,
∣D∣表示样本个数;设有K个类
Ck(k=1,2,⋯,K),
∣Ck∣属于类
Ck的样本个数,则有
∑k∣Ck∣=∣D∣;设特征A有n个不同的取值
{a1,a2,⋯,an},根特征A将D划分为n个子集
D1,D2,⋯,Dn,
∣Di∣为
Di的样本个数,有
∑i∣Di∣=∣D∣;记子集|D_i|中,属于类
Ck的样本的集合为
Dik,
∣Dik∣为
Dik的样本个数。
计算方法:
(i)计算数据D的经验熵
H(D)=−∑k=1K∣D∣∣Ck∣log∣D∣∣Ck∣
(ii)遍历所有特征,对特征A有:
计算特征A对数据集D的经验条件熵
H(D∣A);
计算A的特征增益
g(D,A)=H(D)−H(D∣A);
选择信息增益最大的特征作为当前的分裂特征。
经验条件熵:
H(D∣A)=====−i,k∑p(Dk,Ai)logp(Dk∣Ai)−i,k∑p(Ai)p(Dk∣Ai)logp(Dk∣Ai)−i=1∑nk=1∑Kp(Ai)p(Dk∣Ai)logp(Dk∣Ai)−i=1∑np(Ai)k=1∑Kp(Dk∣Ai)logp(Dk∣Ai)−i=1∑n∣D∣∣Di∣k=1∑K∣Di∣∣Dik∣log∣Di∣∣Dik∣
(4)信息增益率
gr(D,A)=H(A)(D,A)
(5)Gini系数
Gini(p)=k=1∑Kpk(1−pk)=1−k=1∑Kpk2=1−k=1∑K(∣D∣∣Ck∣)2
(6)三种决策树学习算法
ID3使用信息增益进行选择,取值多的属性,更容易使数据更纯,其信息增益更大,训练得到一颗庞大且深度较浅的树:不合理;
C4.5使信息增益率;
CART使用基尼系数。