使用场景
常用于解决二分类或多分类问题。
- 二分类
比如给定西瓜的纹理、敲声等特征后,将西瓜分为好瓜和坏瓜 - 多分类问题
比如给定学号,将学生分为不同年级
决策树模型
对实例进行分类的树形结构,内部节点表示特征或属性,叶节点表示分类。决策树的路径对应分类的规则,路径的划分要互斥且完备,即给定特征之后只有一条确定的分类路径,对应唯一的分类结果。
现实情况中满足条件的分类可能也不会完全把类别分开,比如认为开玛莎拉蒂进出高档会馆的人可以被分类为富人,但也有可能出现司机的情况。但这不影响分类结果,我们会将分类结果强行划分到条件概率大的一类。开玛莎拉蒂进出高档会馆的人大概率是富人,那我认为满足这一条件的就分类为富人。
决策树的学习过程
- 生成树(局部选择)
决策树的学习的本质就是归纳出分类规则。通过递归的选择最优特征,根据特征对训练数据进行分割,直至数据被很好的分类,或没有合适的特征为止。 - 剪枝(全部选择)
从下至上的去掉细分的叶节点,退回到父节点或跟高节点。
特征选择
- 什么是特征选择?
哪个特征作为父节点向下分类最好呢?如果根据该特征能将数据分成子集,且子集有比较好的分类结果,就选择这个特征。如果根据某个特征分成子集后,分类结果不明显,它是没有分类能力的。 - 怎么度量比较好的分类呢?
采用信息论中的信息熵。熵是描述混乱程度的。含有的类别越混乱,熵越大;反之分类越清晰,熵越小。- 信息熵:
H
(
Y
)
=
−
∑
i
=
1
n
p
i
l
o
g
p
i
H(Y)=-\sum_{i=1}^{n}p_{i}logp_{i}
H(Y)=−∑i=1npilogpi。这里的
p
i
p_{i}
pi指的是各类别数据占全部数据的比例。
【举例】有两类数据,一类好瓜(6个),一类坏瓜(4个),那么信息熵是 H ( Y ) = − ( 6 10 l o g 6 10 + 4 10 l o g 4 10 ) H(Y)=-(\frac{6}{10}log\frac{6}{10}+\frac{4}{10}log\frac{4}{10}) H(Y)=−(106log106+104log104)
例子中,熵值是用频率而非概率计算的。当熵的概率是由数据估计(特别是极大似然估计)得到的,把它称为经验熵。 - 条件熵:
H
(
Y
∣
X
)
=
∑
i
=
1
n
p
i
H
(
Y
∣
X
=
X
i
)
H(Y|X)=\sum_{i=1}^{n}p_{i}H(Y|X=X_{i})
H(Y∣X)=∑i=1npiH(Y∣X=Xi),给定各条件下的信息熵的期望。
【举例】还是上面的两类瓜,给定瓜的大小条件后,在大瓜的条件下,有6个好瓜,0个坏瓜;小瓜条件下,有4个坏瓜,0个好瓜。
大瓜条件下,好坏瓜的混乱程度 H ( Y ∣ 大 瓜 ) = − ( 6 6 l o g 6 6 + 0 6 l o g 0 6 ) = 0 H(Y|大瓜)=-(\frac{6}{6}log\frac{6}{6}+\frac{0}{6}log\frac{0}{6})=0 H(Y∣大瓜)=−(66log66+60log60)=0
小瓜条件下,好坏瓜的混乱程度 H ( Y ∣ 小 瓜 ) = − ( 4 4 l o g 4 4 + 0 4 l o g 0 4 ) = 0 H(Y|小瓜)=-(\frac{4}{4}log\frac{4}{4}+\frac{0}{4}log\frac{0}{4})=0 H(Y∣小瓜)=−(44log44+40log40)=0
给定大小条件下的条件熵 H ( Y ∣ X ) = 6 10 H ( Y ∣ 大 瓜 ) + 4 10 H ( Y ∣ 大 瓜 ) = 0 H(Y∣X)=\frac{6}{10}H(Y|大瓜)+\frac{4}{10}H(Y|大瓜)=0 H(Y∣X)=106H(Y∣大瓜)+104H(Y∣大瓜)=0
同理,根据估计得到的条件熵也叫经验条件熵。
- 信息熵:
H
(
Y
)
=
−
∑
i
=
1
n
p
i
l
o
g
p
i
H(Y)=-\sum_{i=1}^{n}p_{i}logp_{i}
H(Y)=−∑i=1npilogpi。这里的
p
i
p_{i}
pi指的是各类别数据占全部数据的比例。
- 怎么进行特征选择?
利用信息增益进行特征选择。- 信息增益
g ( D , A ) = H ( D ) − H ( D , A ) g(D,A)=H(D)-H(D,A) g(D,A)=H(D)−H(D,A),信息熵与特征A给定条件下条件熵之差。
信息增益越大,代表根据当前条件划分的子集划分的越干净,即 同一个子集内部更多的是同类数据 - 选择最大信息增益作为分类节点
数据中可能有很多特征,比如瓜的大小,比如色泽深浅…,将这些特征的信息增益都计算出来,选择信息增益大的特征进行分支。 - 信息增益比
g R ( D , A ) = g ( D , A ) H A ( D ) g_{R}(D,A)=\frac{g(D,A)}{H_{A}(D)} gR(D,A)=HA(D)g(D,A)信息增益与特征的信息熵之比,其中 H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ l o g ∣ D i ∣ ∣ D ∣ H_{A}(D)=-\sum_{i=1}^{n}\frac{|D_{i}|}{|D|}log\frac{|D_{i}|}{|D|} HA(D)=−∑i=1n∣D∣∣Di∣log∣D∣∣Di∣
信息增益比常用于矫正选择值较多的特征。可以极端的设想,如果根据一个特征的每个选择值对应一个决策树的分支,数据细分成以一个样本为一类的结果,虽然信息增益很大,但是这样的分类毫无意义。如果加入特征的信息熵,当分类较多时,特征的信息熵值大,在选择特征时有效的平衡了决策树过于细分的缺点。
- 信息增益
——未完——