第五章 决策树1

什么是决策树

模型:学习条件概率分布(从训练数据归纳出一组分类规则)
策略:损失函数最小化(正则化的极大似然函数)
算法: 最优决策树NP完全问题,启发式算法(基于直观或经验构造的算法)
递归的选择最优的**(有区分能力的)特征**,数据根据该特征进行分割。
递归终止条件:遇到以下三种情况中的任意一种

  • 数据用完
  • 特征用完
  • 节点包含的样本属于同一类

怎么量化特征的区分能力

根据特征选择方式的不同决策树可以分为:
信息增益-ID3
信息增益比-C4.5
基尼指数-CART

  1. 信息增益
    熵:用于度量随机变量不确定性
    离散随机变量X的概率分布为P(X=xi)=pi,i=1,2,...,nP(X=x_i)=p_i , i= 1,2,...,nP(X=xi)=pii=1,2,...,n
    X的熵记为H(p)H(p)H(p), 熵依赖于X的分布,而与X的取值无关
    H(X)=H(p)=−∑i=1npilogpiH(X) = H(p)=- \sum_{i=1}^np_ilogp_iH(X)=H(p)=i=1npilogpi
    熵满足
    0≤H(p)≤logn0\le H(p) \le logn0H(p)logn
    当X服从均匀分布时熵最大,右边等号成立。
    离散随机变量的取值越多(n越大),最大熵越大。

    条件熵:已知随机变量X的条件下随机变Y的不确定性
    H(Y∣X)=∑i=1npiH(Y∣X=xi)H(Y|X)= \sum_{i=1}^np_iH(Y|X=x_i)H(YX)=i=1npiH(YX=xi)

信息增益定义为:
g(D,A)=H(D)−H(D∣A)g(D,A) = H(D)-H(D|A)g(D,A)=H(D)H(DA)
$ H(D)$:数据集D的熵(离散随机变量为类别)
H(D∣A)H(D|A)H(DA): 根据特征A对数据集D划分得到的熵
(把数据集D根据特征A的取值,分为D1,D2...D_1,D_2...D1,D2...,计算数据集DiD_iDi的熵,然后加权)
信息增益大的特征具有更强大的分类能力。
2. 信息增益比
信息增益,偏向于选择取值较多的特征
假设给数据集增加一列特征,特征为行号(即 1~N),如果按这一列行号进行划分,得到的条件熵为0,信息增益最大。
而这一列特征对于分类没有意义。
信息增益比对这一问题校正。
信息增益比定义为:
gR(D,A)=g(D,A)HA(D)g_R(D,A)=\frac{g(D, A)}{H_A(D)}gR(D,A)=HA(D)g(D,A)

HA(D)H_A(D)HA(D):数据集关于特征A的值的熵(离散随机变量是特征值A)
根据前面熵取值范围公式知,特征值多的最大熵越大。

3.基尼指数
Gini(p)=1−∑i=1npi2Gini(p) = 1-\sum_{i=1}^np_i^2Gini(p)=1i=1npi2
H(p)=−∑i=1npilogpiH(p)=- \sum_{i=1}^np_ilogp_iH(p)=i=1npilogpi
与熵的含义公式类似
基尼指数:用以衡量一个国家或地区居民收入差距的常用指标。
基尼系数介于0-1之间,基尼系数越大,表示不平等程度越高。
熵 越大数据集越混乱(越不纯),随机变量的不确定性越大。

剪枝

递归的划分,有时会造成分支过多。这样产生的树往往对训练数据的分类很准确,但对未知的测试数据的分类却没有那么准确。(即过拟合现象)
决策树通过剪枝的方法来降低过拟合风险。
剪枝分为预剪枝(prepruning)和后剪枝(postpruning)

剪枝方法通过最小化损失函数实现
设树T的叶子节点为∣T∣|T|T个,t是树T的叶子节点,该叶子节点有NtN_tNt个样本,Ht(T)H_t(T)Ht(T)为叶节点t上的熵。
决策树的损失函数可以表示为
Cα(T)=∑t=1TNtHt(T)+α∣T∣C_\alpha(T)=\sum_{t=1}^ TN_tH_t(T)+\alpha|T|Cα(T)=t=1TNtHt(T)+αT
分到同一个叶子节点的样本是根据多数投票表决得到的类别,目标是将相同的类的尽可能分到一起,数据集中越相同越纯,熵越小。
为什么要乘以NtN_tNt
第一项表示模型对训练数据的预测误差。
第二项表示模型的复杂度。
预剪枝
在决策树生成的过程中, 对每个节点在划分前进行估计,若当前节点的划分不能带来决策树性能的提升,则停止划分并将当前的节点标记为叶节点

后剪枝方法

  • 先生成一棵完整的决策树
  • 从叶子节点自底向上回缩到父节点,比较回缩前后两棵树的损失函数值。变小了说明应该剪。
  • 递归直到不能继续

判断决策树泛化性能是否提升: 验证集 评估准确率,带正则的loss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值