决策树

决策树一种if-then规则的集合,具有较好的可解读性,一种分类/回归方法

决策树模型与学习

模型定义

构成

  1. 节点:
    (1)内部节点:特征/属性/条件
    (2) 叶节点:类
  2. 有向边

if-then规则集合

从根节点到叶节点,一条路径构成一条规则
要求: 互斥且完备
每一个实例可以也仅可以被一条规则覆盖

决策树与条件概率分布

决策树将空间划分为不相交的单元,每个单元对应一个条件概率分布,每条路径对应一个单元,每个叶节点强行分类到概率较大的那类

决策树学习

给定训练集:
T = { ( x 1 , y 1 ) , ⋯   , ( x n , y n ) } T=\{(x_1,y_1),\cdots,(x_n,y_n)\} T={(x1,y1),,(xn,yn)}
x特征向量,y分类

目标
构建决策树模型,正确分类

决策树生成

  1. 构建根节点,把所有数据放在根节点
  2. 选择最优特征,对数据集进行划分
  3. 递归选择特征,按特征将数据集进行分类

决策树剪枝
避免过拟合,提高泛化能力

特征选择

特征选择问题

目的:选择具有分类能力的特征
分类能力:如果用这个特征分类后,分类前后差距不大,则该特征没有分类能力
分类准则:信息增益比,信息增益


随机变量不确定性的度量,熵越大,随机变量的不确定越大
随机变量的熵
H ( P ) = H ( X ) = − ∑ i n p i l o g p i H(P)=H(X)=-\sum_i^np_ilogp_i H(P)=H(X)=inpilogpi
0 ≤ H ( P ) ≤ n l o g n 0\leq H(P)\leq nlogn 0H(P)nlogn
比特/那特

条件熵
H ( Y ∣ X ) = ∑ x 1 H ( Y ∣ X = x i ) P ( X = x i ) H(Y|X)=\sum_{x_1}H(Y|X=x_i)P(X=x_i) H(YX)=x1H(YX=xi)P(X=xi)

经验熵/经验条件熵
如果出现 0 l o g 0 0log0 0log0的情况,那么规定 0 l o g 0 = 0 0log0=0 0log0=0

信息增益

得知特征 X X X的信息,让类 Y Y Y的不确定性减少的程度

定义
特征 A A A对数据集 D D D的信息增益 g ( D , A ) g(D,A) g(D,A)
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 ∣ X ) H(Y)-H(Y|X) H(Y)H(YX)称为互信息

计算方式
在这里插入图片描述

  1. 计算数据集的经验熵
    H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g ( ∣ C k ∣ ∣ D ∣ ) H(D)=-\sum_{k=1}^K\frac{|C_k|}{|D|}log(\frac{|C_k|}{|D|}) H(D)=k=1KDCklog(DCk)
  2. 计算特征A对数据集D的条件经验熵
    H ( D | A ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ l o g ( ∣ D i k ∣ ∣ D i ∣ ) H(D|A)=-\sum_{i=1}^n\frac{|D_i|}{|D|}\sum_{k=1}^K\frac{|D_{ik}|}{|D_i|}log(\frac{|D_{ik}|}{|D_i|}) H(DA)=i=1nDDik=1KDiDiklog(DiDik)
  3. 计算信息增益
    g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)H(DA)

信息增益比

信息增益,倾向于选择类别较多的特征,可以用信息增益比进行矫正
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 ) H_A(D) HA(D):用 A A 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=1nDDilog(DDi)

决策树生成

ID3算法

在决策树各个节点用信息增益准则选择特征,递归构建决策树
输入: 数据集D,特征集A,阈值 ϵ \epsilon ϵ
输出: 决策树T
过程:
在这里插入图片描述

C4.5 算法

用信息增益比作为选择准则
避免ID3对于分枝较多的属性的倾向性
分枝多 H A D H_AD HAD

决策树剪枝

降低决策树复杂度,防止过拟合

损失函数
在这里插入图片描述

C α ( T ) = ∑ i = 1 ∣ T ∣ N t H t ( T ) + α ∣ T ∣ C_\alpha(T)=\sum_{i=1}^{|T|}N_t H_t(T)+\alpha|T| Cα(T)=i=1TNtHt(T)+αT
其中 H t ( T ) = − ∑ k N t k N t l o g N t k N t H_t(T)=-\sum_{k}\frac{N_{tk}}{N_t}log\frac{N_{tk}}{N_t} Ht(T)=kNtNtklogNtNtk
越大的 α \alpha α意味着越简单的树

CART算法

  1. 决策树生成:训练数据集
  2. 决策树剪枝:验证数据集对已经生成的树进行剪枝

回归树生成

回归树对应着输入空间的划分,将特征空间划分为 M M M个单元 R 1 , ⋯   , R M R_1,\cdots,R_M R1,,RM,每个单元有固定输出值 c 1 , ⋯   , c m c_1,\cdots,c_m c1,,cm
f ( x ) = ∑ m c m I ( x ∈ R m ) f(x)=\sum_m c_m I(x\in R_m) f(x)=mcmI(xRm)

参数估计:
平方误差最小 ∑ x i ∈ R m ( y i − f ( x i ) ) 2 \sum_{x_i\in R_m}(y_i-f(x_i))^2 xiRm(yif(xi))2
因此: c ^ m = a v e ( y i ∣ x i ∈ R m ) \hat c_m=ave(y_i|x_i\in R_m) c^m=ave(yixiRm)

划分依据:
启发式算法,现寻找切分变量j,再寻找切分点s
R 1 ( j , s ) = { x ∣ x ( j ) ≤ s } , R 2 ( j , s ) = { x ∣ x ( j ) > s } R_1(j,s)=\{x|x^{(j)}\leq s\},R_2(j,s)=\{x|x^{(j)}> s\} R1(j,s)={xx(j)s},R2(j,s)={xx(j)>s}
通过求解目标函数寻找切分变量和切分点:
在这里插入图片描述

分类树生成

基尼指数的定义:
G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini(p)=\sum_{k=1}^Kp_k(1-p_k)=1-\sum_{k=1}^Kp_k^2 Gini(p)=k=1Kpk(1pk)=1k=1Kpk2

给定样本集合
G i n i ( D ) = 1 − ∑ k = 1 K ( ∣ C K ∣ ∣ D ∣ ) 2 Gini(D)=1-\sum_{k=1}^K(\frac{|C_K|}{|D|})^2 Gini(D)=1k=1K(DCK)2

在特征A下:
G i n i ( D , A ) = ∣ D 1 ∣ ∣ D ∣ G i n i ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i ( D 2 ) Gini(D,A)=\frac{|D_1|}{|D|}Gini(D_1)+\frac{|D_2|}{|D|}Gini(D_2) Gini(D,A)=DD1Gini(D1)+DD2Gini(D2)
在这里插入图片描述

CART 剪枝

剪枝前的损失函数:
C α ( T t ) = C ( T t ) + α ∣ T t ∣ C_\alpha(T_t)=C(T_t)+\alpha |T_t| Cα(Tt)=C(Tt)+αTt
剪枝后的损失函数:
C α ( t ) = C ( t ) + α C_\alpha(t)=C(t)+\alpha Cα(t)=C(t)+α
存在 α \alpha α
C α ( T t ) = C ( t ) C_\alpha(T_t)=C(t) Cα(Tt)=C(t)
α = g ( t ) = c ( t ) − C ( T t ) ∣ T t ∣ − 1 \alpha=g(t)=\frac{c(t)-C(T_t)}{|T_t|-1} α=g(t)=Tt1c(t)C(Tt)
T 0 T_0 T0所有的t计算 g ( t ) g(t) g(t),选取最小的进行剪枝,且令 α 1 = g ( t ) \alpha_1=g(t) α1=g(t)
那么 T 1 T_1 T1 [ α 1 , α 2 ) [\alpha_1,\alpha_2) [α1,α2)的最优子树,不断增加 α \alpha α的值,产生新的最优区间
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值