[监督学习]决策树

在监督学习中,根据输出是否为概率划分为概率监督学习和非概率监督学习。前面介绍的逻辑回归属于前者,而LDA和支持向量机属于后者,接下来介绍另一种非概率监督学习——决策树。

问题

给定训练集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } D = \{(\boldsymbol{x_1},y_1),(\boldsymbol{x_2},y_2),\cdots,(\boldsymbol{x_N},y_N)\} D={(x1,y1),(x2,y2),,(xN,yN)} ,其中 x i = ( x i 1 , x i 2 , ⋯   , x i n ) T \boldsymbol{x_i} = (x_i^1,x_i^2,\cdots,x_i^n)^T xi=(xi1,xi2,,xin)T 为输入的特征向量, n n n 为特征的个数, y i ∈ { 1 , 2 , ⋯   , K } y_i \in \{ 1,2,\cdots,K\} yi{1,2,,K} 为类的标签, N N N 为样本的数量。我们学习的目标是根据给定的训练集构成一个决策树模型,使它能够对样本进行正确的分类。

决策树模型

决策树是一个类似于流程图的数结构模型,每一个中间节点表示一个特征或属性,每个叶节点表示一个分类。针对如何选择特征作为中间节点,可以将模型分为两类:基于规则的建树和基于模型的建树。

基于规则的建树就是人为的设计选择特征的规则,例如按照特征出现的先后顺序,这种方法主观性太强;而基于模型的建树是采用信息增益这一度量作为选择特征的参考,为什么选择信息增益呢?信息增益又表示了什么呢?

其实回到特征的选择上,我们无非是想找到一个具有最好分类能力的特征,也就是说按照这个特征将训练集分割成子集,使得各个子集在当前条件下有最好的分类,而信息增益就能够很好地表示这一直觉的准则。

实际上,决策树本质上就是某一特征与结果的相关性。

信息增益

为了便于说明,先给出熵与条件熵的定义。

熵是表示随机变量不确定性的度量。若 X X X 是一个取有 n n n 个值的离散随机变量,其概率分布为
P ( X = x i ) = p i , i = 1 , 2 , ⋯   , n P(X=x_i)=p_i,i=1,2,\cdots,n P(X=xi)=pi,i=1,2,,n
则随机变量 X X X 的熵定义为
H ( X ) = − ∑ i = 1 n p i log ⁡ p i H(X) = -\sum_{i=1}^n p_i\log p_i H(X)=i=1npilogpi
由此发现,熵只依赖于 X X X 的分布,而与 X X X 的取值无关,所以也记为 H ( p ) H(p) H(p) ,而且熵越大,随机变量的不确定性就越大,从定义可验证熵具有极大值 0 ≤ H ( p ) ≤ log ⁡ n 0\le H(p) \le \log n 0H(p)logn

设有随机变量 ( X , Y ) (X,Y) (X,Y) ,其联合概率分布为
P ( X = x i , Y = y i ) = p i j , i = 1 , 2 , ⋯   , n ; j = 1 , 2 , ⋯   , m P(X=x_i,Y=y_i) = p_{ij},i=1,2,\cdots,n;j=1,2,\cdots,m P(X=xi,Y=yi)=pij,i=1,2,,n;j=1,2,,m
条件熵 H ( Y ∣ X ) H(Y|X) H(YX) 表示在已知随机变量 X X X 的条件下随机变量 Y Y Y 的不确定性,其定义为
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(YX)=i=1npiH(YX=xi)
定 义 ( 信 息 增 益 ) : 特 征 A 对 训 练 集 D 的 信 息 增 益 g ( D , A ) , 定 义 为 集 合 D 的 经 验 熵 H ( D ) 与 特 征 A 给 定 条 件 下 D 的 经 验 条 件 熵 H ( D ∣ A ) 之 差 , 即 g ( D , A ) = H ( D ) − H ( D ∣ A ) 定义(信息增益):特征A对训练集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D\\的经验条件熵H(D|A)之差,即g(D,A)=H(D)-H(D|A) ()ADg(D,A)DH(D)ADH(DA)g(D,A)=H(D)H(DA)

示例

在这里插入图片描述

问题为例,下面根据信息增益来选择决策树中的第一个特征。

首先,由训练集 D D D 关于标签的概率分布计算出经验熵 H ( D ) = − 9 15 log ⁡ 9 15 − 6 15 log ⁡ 6 15 H(D) = - \frac{9}{15}\log \frac{9}{15} - \frac{6}{15}\log \frac{6}{15} H(D)=159log159156log156 。然后根据各个特征 A 1 ( 年 龄 ) , A 2 ( 有 工 作 ) , A 3 ( 有 自 己 的 房 子 ) , A 4 ( 信 贷 情 况 ) A_1(年龄),A_2(有工作),A_3(有自己的房子),A_4(信贷情况) A1(),A2(),A3(),A4() 分别计算信息增益。

  1. A 1 A_1 A1 特征对训练集 D D D 的信息增益 g ( D , A 1 ) g(D,A_1) g(D,A1)
    g ( D , A 1 ) = H ( D ) − H ( D ∣ A 1 ) = H ( D ) − ∑ i = 1 3 p i H ( D ∣ A 1 = x i ) = H ( D ) − [ P ( A 1 = 青 年 ) H ( D ∣ A 1 = 青 年 ) + P ( A 1 = 中 年 ) H ( D ∣ A 1 = 中 年 ) + P ( A 1 = 老 年 ) H ( D ∣ A 1 = 老 年 ) ] = H ( D ) − [ 5 15 H ( D ∣ A 1 = 青 年 ) + 5 15 H ( D ∣ A 1 = 中 年 ) + 5 15 H ( D ∣ A 1 = 老 年 ) ] = H ( D ) − [ 5 15 ( − 3 5 log ⁡ 3 5 − 2 5 log ⁡ 2 5 ) + 5 15 ( − 2 5 log ⁡ 2 5 − 3 5 log ⁡ 3 5 ) + 5 15 ( − 4 5 log ⁡ 4 5 − 1 5 log ⁡ 1 5 ) ] = 0.083 \begin{aligned} g(D,A_1) &= H(D) - H(D|A_1) \\ & = H(D)- \sum_{i=1}^3 p_i H(D|A_1=x_i) \\ & = H(D) - [P(A_1 = 青年)H(D|A_1 = 青年) + P(A_1 = 中年)H(D|A_1 = 中年) + P(A_1 = 老年)H(D|A_1 = 老年)] \\ &= H(D)- [\frac{5}{15}H(D|A_1 = 青年)+\frac{5}{15}H(D|A_1 = 中年)+\frac{5}{15}H(D|A_1 = 老年)] \\ &= H(D) - [\frac{5}{15}(-\frac{3}{5}\log \frac{3}{5}- \frac{2}{5}\log \frac{2}{5}) + \frac{5}{15}(-\frac{2}{5}\log \frac{2}{5}- \frac{3}{5}\log \frac{3}{5}) + \frac{5}{15}(-\frac{4}{5}\log \frac{4}{5}- \frac{1}{5}\log \frac{1}{5})]\\ &= 0.083 \end{aligned} g(D,A1)=H(D)H(DA1)=H(D)i=13piH(DA1=xi)=H(D)[P(A1=)H(DA1=)+P(A1=)H(DA1=)+P(A1=)H(DA1=)]=H(D)[155H(DA1=)+155H(DA1=)+155H(DA1=)]=H(D)[155(53log5352log52)+155(52log5253log53)+155(54log5451log51)]=0.083

  2. A 2 A_2 A2 特征对训练集 D D D 的信息增益 g ( D , A 2 ) g(D,A_2) g(D,A2)

g ( D , A 2 ) = H ( D ) − H ( D ∣ A 2 ) = H ( D ) − ∑ i = 1 2 p i H ( D ∣ A 2 = x i ) = H ( D ) − [ P ( A 2 = 是 ) H ( D ∣ A 2 = 是 ) + P ( A 2 = 否 ) H ( D ∣ A 2 = 否 ) ] = H ( D ) − [ 5 15 H ( D ∣ A 2 = 是 ) + 10 15 H ( D ∣ A 2 = 否 ) ] = H ( D ) − [ 5 15 ( − 0 log ⁡ 0 − 1 log ⁡ 1 ) + 10 15 ( − 6 10 log ⁡ 6 10 − 4 10 log ⁡ 4 10 ) ] = 0.324 \begin{aligned} g(D,A_2) &= H(D) - H(D|A_2) \\ &= H(D) - \sum_{i=1}^2 p_i H(D|A_2 = x_i)\\ &= H(D)- [P(A_2 = 是)H(D|A_2=是)+P(A_2 = 否)H(D|A_2=否)] \\ &= H(D) - [\frac{5}{15}H(D|A_2=是) + \frac{10}{15}H(D|A_2=否)] \\ &= H(D)- [\frac{5}{15}(-0\log 0 - 1 \log 1) + \frac{10}{15}(-\frac{6}{10}\log \frac{6}{10} - \frac{4}{10} \log \frac{4}{10})] \\ &= 0.324 \end{aligned} g(D,A2)=H(D)H(DA2)=H(D)i=12piH(DA2=xi)=H(D)[P(A2=)H(DA2=)+P(A2=)H(DA2=)]=H(D)[155H(DA2=)+1510H(DA2=)]=H(D)[155(0log01log1)+1510(106log106104log104)]=0.324

  1. A 3 A_3 A3 特征对训练集 D D D 的信息增益 g ( D , A 3 ) g(D,A_3) g(D,A3)

g ( D , A 3 ) = H ( D ) − H ( D ∣ A 3 ) = H ( D ) − ∑ i = 1 2 p i H ( D ∣ A 3 = x i ) = H ( D ) − [ P ( A 3 = 是 ) H ( D ∣ A 3 = 是 ) + P ( A 3 = 否 ) H ( D ∣ A 3 = 否 ) ] = H ( D ) − [ 6 15 ( − 0 log ⁡ 0 − 1 log ⁡ 1 ) + 9 15 ( − 6 9 log ⁡ 6 9 − 3 9 log ⁡ 3 9 ) ] = 0.420 \begin{aligned} g(D,A_3) &= H(D) - H(D|A_3)\\ &= H(D) - \sum_{i=1}^2 p_iH(D|A_3=x_i) \\ &= H(D) - [P(A_3=是)H(D|A_3=是)+P(A_3=否)H(D|A_3=否)]\\ &= H(D) - [\frac{6}{15}(-0\log 0-1\log1)+\frac{9}{15}(-\frac{6}{9} \log \frac{6}{9} - \frac{3}{9}\log \frac{3}{9})] \\ &= 0.420 \end{aligned} g(D,A3)=H(D)H(DA3)=H(D)i=12piH(DA3=xi)=H(D)[P(A3=)H(DA3=)+P(A3=)H(DA3=)]=H(D)[156(0log01log1)+159(96log9693log93)]=0.420

  1. A 4 A_4 A4 特征对训练集 D D D 的信息增益 g ( D , A 4 ) g(D,A_4) g(D,A4)

g ( D , A 4 ) = H ( D ) − H ( D ∣ A 4 ) = H ( D ) − ∑ i = 1 3 p i H ( D ∣ A 4 = x i ) = H ( D ) − [ P ( A 4 = 非 常 好 ) H ( D ∣ A 4 = 非 常 好 ) + P ( A 4 = 好 ) H ( D ∣ A 4 = 好 ) + P ( A 4 = 一 般 ) H ( D ∣ A 4 = 一 般 ) ] = H ( D ) − [ 4 15 ( − 0 log ⁡ 0 − 1 log ⁡ 1 ) + 6 15 ( − 2 6 log ⁡ 2 6 − 4 6 log ⁡ 4 6 ) + 5 15 ( − 4 5 log ⁡ 4 5 − 1 5 log ⁡ 1 5 ) ] = 0.363 \begin{aligned} g(D,A_4) &= H(D) - H(D|A_4)\\ &= H(D) - \sum_{i=1}^3 p_iH(D|A_4=x_i) \\ &= H(D) - [P(A_4=非常好)H(D|A_4=非常好)+P(A_4=好)H(D|A_4=好)+P(A_4=一般)H(D|A_4=一般)]\\ &= H(D) - [\frac{4}{15}(-0\log 0-1\log1)+\frac{6}{15}(-\frac{2}{6} \log \frac{2}{6} - \frac{4}{6}\log \frac{4}{6}) + \frac{5}{15}(-\frac{4}{5} \log \frac{4}{5} - \frac{1}{5}\log \frac{1}{5})] \\ &= 0.363 \end{aligned} g(D,A4)=H(D)H(DA4)=H(D)i=13piH(DA4=xi)=H(D)[P(A4=)H(DA4=)+P(A4=)H(DA4=)+P(A4=)H(DA4=)]=H(D)[154(0log01log1)+156(62log6264log64)+155(54log5451log51)]=0.363

通过比较各个特征的信息增益,可以发现第一个节点的最优特征是 A 3 ( 有 自 己 的 房 子 ) A_3(有自己的房子) A3()

ID3算法

ID3算法的核心是在决策树各个节点上应用信息增益准则选择特征,递归地构建决策树。具体方法是:从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为节点的特征,由该特征的不同取值建立子节点;再对子节点递归地调用以上方法,构成决策树,直至所有的特征的信息增益均很小或没有特征可以选择为止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值