10、决策树算法

1 介绍与定义

  • 输入:训练数据 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i = ( x i ( 1 ) , x i ( 2 ) , . . . , x i ( n ) ) x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(n)}) xi=(xi(1),xi(2),...,xi(n)) n n n是属性个数, y i ∈ { 1 , 2 , . . . , K } y_i\in \{1,2,...,K\} yi{ 1,2,...,K};。
  • 输出:构建决策树模型,正确对实例 x x x进行分类。

决策树基于树的结构进行决策,决策树的起始点为根节点,中间决策流程为“内部节点”,分类结果为“叶节点”。

  • “内部结点”:有根结点和中间结点,在某个属性上进行决策;

  • 分支:该测试的可能结果,属性有多少个取值,就有多少个分支;

  • “叶节点”:分类结果。

    在这里插入图片描述

决策树的基本流程

在这里插入图片描述

  1. 首先从开始位置,将所有数据划分到一个节点,即根节点。
  2. 然后经历橙色的两个步骤,橙色的表示判断条件:
    • 若数据为空集,跳出循环。如果该节点是根节点,返回null;如果该节点是中间节点,将该节点标记为训练数据中类别最多的类;
    • 若样本都属于同一类,跳出循环,节点标记为该类别;
  3. 如果经过橙色标记的判断条件都没有跳出循环,则对该节点选择当前条件下的最优属性进行划分。
  4. 经历上步骤划分后,生成新的节点,然后循环判断条件,不断生成新的分支节点,直到所有节点都跳出循环。
  5. 结束,生成一棵决策树。

2 特征选择

特征选择——选择当前条件下的最优属性

2.1 信息增益

在信息论与概率统计中,(entropy) 是表示随机变量不确定性的度量。设 X X X 是一个取有限个值的离散随机变量,其概率分布为
P ( X = x i ) = p i , i = 1 , 2 , . . . , n P(X=x_i)=p_i,i=1,2,...,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}^np_i\log p_i H(X)=i=1npilogpi
由定义可知,熵只依赖于 X X X 的分布,而与 X X X 的取值无关,所以也可将 X X X 的熵记作 H ( p ) H(p) H(p) ,即
H ( p ) = − ∑ i = 1 n p i log ⁡ p i H(p)=-\sum_{i=1}^np_i\log p_i H(p)=i=1npilogpi
熵越大,随机变量的不确定性就越大。从定义可验证 0 ≤ H ( p ) ≤ log ⁡ n 0 \leq H(p) \leq \log n 0H(p)logn

下图是一个只有2个取值的随机变量,假如取值只有 0 0 0 1 1 1,则 P ( X = 0 ) = p , P ( X = 1 ) = 1 − p P(X=0)=p,P(X=1)=1-p P(X=0)=p,P(X=1)=1p。信息熵为 H ( p ) = − p log ⁡ p − ( 1 − p ) log ⁡ ( 1 − p ) H(p)=-p\log p-(1-p)\log (1-p) H(p)=plogp(1p)log(1p),我们画一个 p p p在0-1的变过过程, H ( p ) H(p) H(p)随着变化的曲线:

在这里插入图片描述

由上图可以看出,当 p = 0.5 p=0.5 p=0.5的时候, H ( p ) H(p) H(p)达到最大值。因为 p = 0 p=0 p=0 p = 1 p=1 p=1的时候, X X X只有一种可能性,也就是 X X X是确定的,因此熵最小,而随着 p p p接近 0.5 0.5 0.5的过程中,变量 X X X的不确定性就越来越大,我们计算出来的熵也是越来越大,与实际相符。

信息增益:特征 A A A 对训练数据集 D D D 的信息增益 g ( D , A ) g(D,A) g(D,A) , 定义为集合 D D D 的经验熵 H ( D ) H(D) H(D) 与给定条件特征 A A A D D D 的经验条件熵 H ( D ∣ A ) H(D|A) H(DA) 之差,即
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)H(DA)
一般地,熵 H ( Y ) H(Y) H(Y) 与条件熵 H ( Y ∣ X ) H(Y|X) H(YX) 之差称为互信息 (mutual information) 。决策树学习中的信息增益等价于训练数据集中类与特征的互信息。

根据信息增益准则的特征选择方法是:对训练数据集(或子集) D D D , 计算其每个特征的信息增益,井比较它们的大小,选择信息增益最大的特征。

设训练数据为 D D D ∣ D ∣ |D| D 表示其样本容量,即样本个数 。 设有 K K K 个类 C k C_k Ck k = 1 , 2 , . . . , K k =1,2,.. . ,K k=1,2,...,K , ∣ C k ∣ |C_k| Ck为属于类 C k C_k Ck 的样本个数, ∑ k = 1 K ∣ C k ∣ = ∣ D ∣ \sum_{k=1}^K |C_k| = |D| k=1KCk=D 。设特征 A A A m m m 个不同的取值 { a 1 , a 2 , … , a m } \{a_1,a_2,…,a_m\} { a1,a2,,am},根据特征 A A A 的取值将 D D D 划分为 m m m 个子集 D 1 , D 2 , … , D m D_1,D_2,…, D_m D1,D2,,Dm ∣ D i ∣ |D_i| Di D i D_i Di 的样本个数, ∑ i = 1 m ∣ D i ∣ = ∣ D ∣ \sum_{i=1}^m |D_i| = |D| i=1mDi=

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

healed萌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值