特征选择
特征选择就是选取对训练数据具有分类能力的特征,这样可以提高决策树学习的效率。通常特征选择的准则是信息增益或信息增益比。
1. 熵和条件熵
在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量。
设
X
X
是一个取有限个值的离散随机变量,其概率分布为
则随机变量 X X 的熵定义为
由于熵只依赖于 X X 的分布,与的取值无关,所以可以将 X X 的熵记作:
熵越大,随机变量的不确定性越大。
设有随机变量
(X,Y)
(
X
,
Y
)
,其联合概率分布为:
条件熵 H(Y|X) H ( Y | X ) 表示在已知随机变量 X X 的条件下随机变量的不确定性。
随机变量 X X 给定的条件下随机变量条件熵(conditional entropy) H(Y|X) H ( Y | X ) 定义为:
其中, pi=P(X=xi),i=1,2,...,n p i = P ( X = x i ) , i = 1 , 2 , . . . , n
条件熵就是 X X 给定条件下的条件概率分布的熵对 X X 的数学期望。
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,对应的熵和条件熵分别称为经验熵(empirical entropy)和条件经验熵(empirical conditional entropy)。
2. 信息增益
信息增益(information gain)表示得知特征的信息而使得类
Y
Y
的信息不确定性减小的程度。
定义:特征对训练数据集
D
D
的信息增益,定义为集合
D
D
的经验熵与特征
A
A
给定条件下的经验熵
H(D|A)
H
(
D
|
A
)
之差,即:
一般地,熵 H(Y) H ( Y ) 与熵 H(Y|X) H ( Y | X ) 之差称为互信息(mutual information)。决策树学习中的互信息等价于训练数据集中类与特征的互信息。
信息增益大的特征具有更强的分类能力。根据信息增益准则的特征选取方法为:对训练数据集(或子集) D D ,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。
设训练数据集为, |D| | D | 表示其样本容量,即样本个数。设有 K K 个类, |Ck| | C k | 为属于类 Ck C k 的样本个数, ∑Kk=1|Ck|=|D| ∑ k = 1 K | C k | = | D | ,设特征 A A 有个不同的取值 a1,a2,...,an a 1 , a 2 , . . . , a n ,根据特征 A A 的取值,将划分为 n n 个子集, |Di| | D i | 为 Di D i 的样本个数,记子集 Di D i 中属于类 Ck C k 的样本的集合为 Dik D i k ,即 Dik=Di⋂Ck D i k = D i ⋂ C k , |Dik| | D i k | 为 Dik D i k 的样本个数。于是信息增益的算法如下:
输入:训练数据集
D
D
和特征;
输出:特征
A
A
对训练数据集的信息增益
g(D,A)
g
(
D
,
A
)
(1)计算数据集
D
D
的经验熵
(2)计算特征 A A 对数据集的经验条件熵 H(D|A) H ( D | A )
(3)计算信息增益
3.信息增益比
信息增益的大小是对训练数据集而言的,并没有绝对意义。在分类问题困难时,也就是说在训练数据集的经验熵比较大时,信息增益值会偏大,反之,信息增益值偏小。使用信息增益比(information gain ratio)可以对这一问题进行校正。
定义:
特征
A
A
对训练数据集的信息增益比
gR(D,A)
g
R
(
D
,
A
)
定义为其信息增益
g(D,A)
g
(
D
,
A
)
与训练数据集的经验熵
H(D)
H
(
D
)
之比: