Q:信息增益是什么?
特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即
g
(
D
,
A
)
=
H
(
D
)
−
H
(
D
∣
A
)
(5.6)
g(D,A) = H(D) - H(D|A) \tag{5.6}
g(D,A)=H(D)−H(D∣A)(5.6)
一般地,熵H(Y)与条件熵H(Y|X)之差成为互信息(mutual information)。决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
Q:信息增益的意义是?
信息增益g(D,A)代表由于特征A而使得对数据集D的分类的不确定性减少的程度。信息增益依赖于特征,不同的特征往往具有不同的信息增益。信息增益大的特征具有更强的分类能力。
Q:决策树中根据信息增益准则的特征选择方法是什么?
核心思想:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。
设训练数据集为D,|D|表示其样本容量,即样本个数。设有K个类$C_k,k=1,2,\ldots,K,|C_k|
为
属
于
类
为属于类
为属于类C_k
的
样
本
个
数
,
的样本个数,
的样本个数,\sum_{k=1}^K |C_k|=|D|
。
设
特
征
A
有
n
个
不
同
的
取
值
。设特征A有n个不同的取值
。设特征A有n个不同的取值 {a_1, a_2, \ldots, a_n}
,
根
据
特
征
A
的
取
值
将
D
划
分
为
n
个
子
集
,根据特征A的取值将D划分为n个子集
,根据特征A的取值将D划分为n个子集D_1, D_2, \ldots, D_n, |D_i|
为
为
为D_i$的样本个数,
∑
i
=
1
n
∣
D
i
∣
=
∣
D
∣
\sum_{i=1}^n |D_i|=|D|
∑i=1n∣Di∣=∣D∣。记子集
D
i
D_i
Di中属于类
C
k
C_k
Ck的样本的集合为
D
i
k
D_{ik}
Dik,即
D
i
k
=
D
i
∩
C
k
,
∣
D
i
k
∣
D_{ik} = D_i \cap C_k, |D_{ik}|
Dik=Di∩Ck,∣Dik∣为
D
i
k
D_{ik}
Dik的样本个数。
于是信息增益算法如下:
输入:训练数据集D和特征A
输出:特征A对训练数据集D的信息增益g(D,A)。
(1)计算数据集D的经验熵H(D)
H
(
D
)
=
−
∑
k
=
1
K
∣
C
k
∣
∣
D
∣
log
2
∣
C
k
∣
∣
D
∣
(5.7)
H(D) = - \sum^K_{k=1}\frac{|C_k|}{|D|}\log_2\frac{|C_k|}{|D|} \tag{5.7}
H(D)=−k=1∑K∣D∣∣Ck∣log2∣D∣∣Ck∣(5.7)
(2)计算特征A对数据集D的经验条件熵H(D|A)
H
(
D
∣
A
)
=
∑
i
=
1
n
∣
D
i
∣
∣
D
∣
H
(
D
i
)
=
−
∑
i
=
1
n
∣
D
i
∣
∣
D
∣
∑
k
=
1
K
∣
D
i
k
∣
∣
D
i
∣
log
2
∣
D
i
k
∣
∣
D
i
∣
(5.8)
H(D|A) = \sum_{i=1}^n\frac{|D_i|}{|D|} H(D_i) = -\sum_{i=1}^n\frac{|D_i|}{|D|} \sum_{k=1}^K\frac{|D_{ik}|}{|D_i|} \log_2 \frac{|D_{ik}|}{|D_i|} \tag{5.8}
H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)=−i=1∑n∣D∣∣Di∣k=1∑K∣Di∣∣Dik∣log2∣Di∣∣Dik∣(5.8)
在这里,
∣
D
i
∣
|D_i|
∣Di∣是该子集的数目,
∣
D
i
k
∣
|D_{ik}|
∣Dik∣是该子集中取某一类的数目。
(3)计算信息增益
g
(
D
,
A
)
=
H
(
D
)
−
H
(
D
∣
A
)
(5.9)
g(D,A) = H(D) - H(D|A) \tag{5.9}
g(D,A)=H(D)−H(D∣A)(5.9)
Q:使用信息增益作为划分训练集特征的问题是什么?以及纠正的方法?
会存在偏向于取值较多的特征的问题,使用信息增益比可以纠正
Q:信息增益比(information gain ratio)的定义是什么?
特征A对训练数据集D的信息增益比
g
R
(
D
,
A
)
g_R(D,A)
gR(D,A)定义为其信息增益g(D,A)与训练数据集D关于特征A的值的熵
H
A
(
D
)
H_A(D)
HA(D)之比,即
g
R
(
D
,
A
)
=
g
(
D
,
A
)
H
A
(
D
)
(5.10)
g_R(D,A) = \frac{g(D,A)}{H_A(D)} \tag{5.10}
gR(D,A)=HA(D)g(D,A)(5.10)
其中,
H
A
(
D
)
=
−
∑
i
=
1
n
∣
D
i
∣
∣
D
∣
log
2
∣
D
i
∣
∣
D
∣
H_A(D) = -\sum_{i=1}^n\frac{|D_i|}{|D|}\log_2 \frac{|D_i|}{|D|}
HA(D)=−∑i=1n∣D∣∣Di∣log2∣D∣∣Di∣,n是特征A的取值的个数。
Q:决策树的剪枝是什么意思?
剪枝是对已生成的树进行简化的过程
Q:决策树的剪枝的实现方式是?
通过极小化决策树整体的损失函数(loss function)或代价函数(cost function)来实现
Q:CART的回归树用什么最小化准则,分类树用什么最小化准则?
回归树用平方误差最小化准则,分类树用基尼指数(Gini index)最小化准则
Q:基尼指数的定义是什么?
在分类问题中,假设有K个类,样本点属于第k类的概率为
p
k
p_k
pk,则概率分布的基尼指数定义为
Gini
(
p
)
=
∑
k
=
1
K
p
k
(
1
−
p
k
)
=
1
−
∑
k
=
1
K
p
k
2
(5.22)
\text{Gini}(p) = \sum_{k=1}^K p_k(1-p_k) = 1- \sum_{k=1}^K p_k^2 \tag{5.22}
Gini(p)=k=1∑Kpk(1−pk)=1−k=1∑Kpk2(5.22)
对于二分类问题,若样本点属于第1个类的概率是p,则概率分布的基尼指数为
Gini
(
p
)
=
2
p
(
1
−
p
)
(5.23)
\text{Gini}(p) = 2p(1-p) \tag{5.23}
Gini(p)=2p(1−p)(5.23)
对于给定的样本集合D,其基尼指数为
Gini
(
D
)
=
1
−
∑
k
=
1
K
(
∣
C
k
∣
∣
D
∣
)
2
(5.24)
\text{Gini}(D) = 1- \sum_{k=1}^K ( \frac{|C_k|}{|D|} ) ^2 \tag{5.24}
Gini(D)=1−k=1∑K(∣D∣∣Ck∣)2(5.24)
在这里,
C
k
C_k
Ck是D中属于第k类的样本子集,K是类的个数。
Q:在特征A的条件下,集合D的基尼指数定义是什么?
如果样本集合D根据特征A是否可取某一可能值a被分割成
D
1
和
D
2
D_1和D_2
D1和D2两部分,即
D
1
=
{
(
x
,
y
)
∈
D
∣
A
(
x
)
=
a
}
,
D
2
=
D
−
D
1
D_1=\{(x,y)\in D|A(x)=a\}, D_2 = D - D_1
D1={(x,y)∈D∣A(x)=a},D2=D−D1
则在特征A的条件下,集合D的基尼指数定义为
Gini
(
D
,
A
)
=
∣
D
1
∣
∣
D
∣
Gini
(
D
1
)
+
∣
D
2
∣
∣
D
∣
Gini
(
D
2
)
(5.25)
\text{Gini}(D,A) = \frac{|D_1|}{|D|}\text{Gini}(D_1) + \frac{|D_2|}{|D|}\text{Gini}(D_2) \tag{5.25}
Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)(5.25)
Q:基尼指数Gini(D)和Gini(D,A)的意义?基尼指数值越大代表什么?
基尼指数Gini(D)代表集合D的不确定性,基尼指数Gini(D,A)代表经A=a分割后集合D的不确定性。
基尼指数值越大,样本集合的不确定性也就越大。与熵相似