【决策树】简单介绍+个人理解(一)

∙ \bullet 分类模型中除了贝叶斯决策规则,SVM,最近邻分类器,还有决策树
∙ \bullet 决策树就是选一个属性,根据属性的不同取值,将样本划分为不同的类,不断重复下去,直到终止。在叶子节点处,通过多数投票,赋予一个标签
在这里插入图片描述
∙ \bullet 对于一个餐馆等餐问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
∙ \bullet 离散属性值天然适合分叉,比如对于性别,男女各为一类;而对于连续的属性值,可以考虑选择一些阈值,将连续值划分为多个取值空间,每个空间为一类,如上面的WaitEstimate
∙ \bullet 每个叶子节点就代表一个分类或者决策,也是一个rule
∙ \bullet 决策树将特征空间划分为一个个与坐标轴平行的矩形
在这里插入图片描述
∙ \bullet 决策树的复杂度高度依赖于特征空间中样本的几何形状
在这里插入图片描述
∙ \bullet 有些样本用线性分类器很容易,用决策树却很费劲;而有些样本线性不可分,用决策树却几步就完成了。决策树分段线性,合起来就是非线性了。
在这里插入图片描述
∙ \bullet 每一个叶子 产生一条规则,规则由根到该叶子的路径上所有节点的条件,规则的结论是叶子上标注的结论(决策,分类,判断)决策树规则 代表实例属性值约束的合取(交集)的析取(并集)式。从树根到树叶的每一条路径对应一组属性测试的合取 树本身对应这些合取的析取。下面给出Yes类的rules
在这里插入图片描述
∙ \bullet 分类树的叶子节点输出离散值,一般通过多数投票得到;回归树的叶子节点输出连续值,一般通过取均值得到
∙ \bullet 一些优缺点

  • 解释性好,也更加符合人的决策方式。深度学习的一个为人诟病的点就是解释不了,你只知道最终分类的结果,但是不知道分类的依据,为什么这么分。在某些领域,如人脸识别,我们只关心是不是人脸,至于怎么分的我们不是很关心;但是如果在医疗诊断领域,机器判断出病人有癌症,但是依据是什么不知道,我们可能就无法接受了。
  • 树可以用图来表示,形象直观,更加容易理解
  • 构建树相对容易
  • 对新样本进行分类时速度很快
  • 分类精度比起其他分类器较低

∙ \bullet 构建树的时候,我们关心在每个节点,选择什么样的属性来进行分叉。我们自然希望选一个“好”点的属性,能将样本尽可能地分开,那么如何衡量一个属性好不好呢?
在这里插入图片描述
∙ \bullet 直觉告诉我们属性 X 1 X_1 X1更好一些,因为分叉后,不确定性减少了。左边的全是正样本,而右边负样本的概率很大。衡量不确定性可以用熵
P ( X = x i ) = p i , i = 1 , 2 , ⋯   , n H ( X ) = − ∑ i = 1 n p i log ⁡ p i P\left(X=x_i\right)=p_i, \quad i=1,2, \cdots, n\\ H(X)=-\sum_{i=1}^n p_i \log p_i P(X=xi)=pi,i=1,2,,nH(X)=i=1npilogpi
∙ \bullet 假如随机变量 X X X只取两个值 0 , 1 0,1 0,1
P ( X = 1 ) = p , P ( X = 0 ) = 1 − p , 0 ⩽ p ⩽ 1 H ( p ) = − p log ⁡ 2 p − ( 1 − p ) log ⁡ 2 ( 1 − p ) P(X=1)=p, \quad P(X=0)=1-p, \quad 0 \leqslant p \leqslant 1\\ H(p)=-p \log _2 p-(1-p) \log _2(1-p) P(X=1)=p,P(X=0)=1p,0p1H(p)=plog2p(1p)log2(1p)

在这里插入图片描述

∙ \bullet 可以想象,当一个随机变量取每一个值的概率都相等,其不确定性最大,熵最大
设有随机变量 ( X , Y ) (X, Y) (X,Y), 其联合概率分布为

条件熵

P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , ⋯   , n ; j = 1 , 2 , ⋯   , m P\left(X=x_i, Y=y_j\right)=p_{i j}, \quad i=1,2, \cdots, n ; \quad j=1,2, \cdots, m P(X=xi,Y=yj)=pij,i=1,2,,n;j=1,2,,m
条件樀 H ( Y ∣ X ) H(Y \mid X) H(YX) 表示在已知随机变量 X X X 的条件下随机变量 Y Y Y 的不确定性. 随机变 量 X X X 给定的条件下随机变量 Y Y Y 的条件熵 (conditional entropy) H ( Y ∣ X ) H(Y \mid X) H(YX), 定义为 X X X 给定条件下 Y Y Y 的条件概率分布的熵对 X X X 的数学期望
H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) p i = P ( X = x i ) , i = 1 , 2 , ⋯   , n H(Y \mid X)=\sum_{i=1}^n p_i H\left(Y \mid X=x_i\right)\\ p_i=P\left(X=x_i\right), \quad i=1,2, \cdots, n H(YX)=i=1npiH(YX=xi)pi=P(X=xi),i=1,2,,n
信息增益(information gain)表示得知特征 X X X 的信息而使得类 Y Y Y 的信息的不 确定性减少的程度.

信息增益

定义 (信息增益): 特征 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 \mid A) H(DA) 之差, 即
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D \mid A) g(D,A)=H(D)H(DA)
一般地, 熵 H ( Y ) H(Y) H(Y) 与条件熵 H ( Y ∣ X ) H(Y \mid X) H(YX) 之差称为互信息 (mutual information). 决 策树学习中的信息增益等价于训练数据集中类与特征的互信息.

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

算法 (信息增益的算法)
输入: 训练数据集 D D D 和特征 A A A;
输出:特征 A A A 对训练数据集 D D D 的信息增益 g ( D , A ) g(D, A) g(D,A).

  1. 计算数据集 D D D 的经验熵 H ( D ) H(D) H(D)
    H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ log ⁡ 2 ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^K \frac{\left|C_k\right|}{|D|} \log _2 \frac{\left|C_k\right|}{|D|} H(D)=k=1KDCklog2DCk

  2. 计算特征 A A A 对数据集 D D D 的经验条件樀 H ( D ∣ A ) H(D \mid A) H(DA)
    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 ∣ H(D \mid A)=\sum_{i=1}^n \frac{\left|D_i\right|}{|D|} H\left(D_i\right)=-\sum_{i=1}^n \frac{\left|D_i\right|}{|D|} \sum_{k=1}^K \frac{\left|D_{i k}\right|}{\left|D_i\right|} \log _2 \frac{\left|D_{i k}\right|}{\left|D_i\right|} H(DA)=i=1nDDiH(Di)=i=1nDDik=1KDiDiklog2DiDik

  3. 计算信息增益
    g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D \mid A) g(D,A)=H(D)H(DA)

∙ \bullet H ( D ) H(D) H(D)代表原来的不确定性, H ( D ∣ A ) H(D|A) H(DA)代表用属性 A A A进行分叉后的不确定性,两个相减就是用属性 A A A进行分叉可以减少的不确定性,也叫信息增益。条件熵我是这么理解的,属性将样本分为几个类,每个类都有一个概率(类样本除总样本),每一类都有一个熵(计算方法和 H ( D ) H(D) H(D)一样),条件熵是每个类的熵乘每个类的概率,最后求和

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

果壳小旋子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值