决策树

决策树

决策树模型与学习

  • 决策树由节点(内部节点+叶节点)和有向边组成。内部节点表示一个特征或属性,叶节点 - 表示一个
  • 决策树对应的if-then规则有一个重要的性质:互斥并且完备
  • 决策树是给定特征条件(特征空间中互不相交的单元或区域)下的一种条件概率分布
  • 决策树学习的步骤:
    • 特征选择
    • 递归生成
    • 剪枝泛化
  • 决策树学习常用算法有:ID3、C4.5、CART

特征选择

  • 信息增益
    特征选择是决定用哪个特征来划分特征空间。信息增益是一种选择特征的准则。
    • 熵的定义
      X 是一个离散随机变量,其概率分布为P(X=xi)=pi,i=1,2,...,n. 随机变量 X 的熵定义为
      H(X)=i=1npilogpi

      熵与 X 的取值无关,只与X的分布有关,熵也可记作 H(p) 熵越大,随机变量的不确定性越大。可以证明 0H(p)logn
    • 条件熵
      H(Y|X) 定义为 X 给定条件下Y的条件概率分布的熵对 X 的数学期望
      H(Y|X)=i=1npiH(Y|X=xi)

      概率由数据估计(特别是极大似然估计)得到时,熵和条件熵分别称为经验熵经验条件熵
    • 信息增益表示得知特征 X 的信息而使得类Y的信息不确定性减少的程度。特征 A 对训练数据集D的信息增益,定义为
      g(D,A)=H(D)H(D|A)

      根据信息增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,选择信息增益最大的特征。
    • 信息增益的算法
      1、计算数据集D的经验熵,其中K是总类数
      H(D)=k=1K|Ck||D|log2|Ck||D|

      2、计算特征A对数据集D的经验条件熵,其中n表示根据特征A可以将D分类成n类
      H(D|A)=i=1n|Di||D|H(Di)=i=1n|Di||D|k=1K|Dik||D|log2|Dik||D|

      3、计算信息增益
      g(D,A)=H(D)H(D|A)
  • 信息增益比
    以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。使用信息增益比可以对这一问题进行校正,这是特征选择的另一准则。
    gR(D,A)=g(D,A)HA(D)

    其中, HA(D) 是数据集D关于特征A的值的熵 HA(D)=ni=1|Di||D|log2|Di||D| ,n是特征A取值的个数

决策树的生成

  • ID3算法
    输入:训练数据集D,特征集A,阈值ε;
    输出:决策树T。
    (1)若D中所有实例属于同一类 Ck ,则T为单节点树,并将类 Ck 作为该节点的类标记,返回T;
    (2)若A是空寂,则T为单节点树,并将D中实例数最大的类 Ck 作为该节点的类标记,返回T;
    (3)否则,计算A中各特征对D的信息增益,廁信息增益最大的特征 Ag
    (4)如果 Ag 的信息增益小于阈值ε,则置T为单节点树,并将D中实例数最大的类 Ck 作为该节点的类标记,返回T;
    (5)否则,对 Ag 的每一可能值 ai ,依 Ag=ai 将D分割为若干非空子集 Di ,将 Di 中实例数最大的类作为标记,构建子节点,由节点及其子节点构成数T,返回T;
    (6)对第i个子节点,以 Di 为训练集,以 AAg 为特征集,递归地调用(1)到(5)步,得到子树 Ti ,返回 Ti
  • C4.5算法
    C4.5在生成的过程中,用信息增益比来选择特征。

决策树的剪枝

  • 剪枝算法
    输入:生成算法产生的整个树T,参数α;
    输出:修剪后的树 Tα
    (1)计算每个节点的经验熵;
    (2)递归地从树的叶节点向上回缩,设一组叶节点回缩到其父节点之前与之后的整体树分别为 TBTA ,损失函数分别是 Cα(TB)Cα(TA) ,如果 Cα(TB)>Cα(TA) ,则进行剪枝,即将父节点变为新的叶节点。
    (3)返回(2),直到不能继续为止,得到损失函数最小的子树 Tα

CART算法

  • 回归树的生成
    平方误差最小化准则
  • 分类树的生成
    基尼指数最小化准则
    基尼指数
    Gini(D)=1k=1K(|Ck||D|)2

    其中, Ck 是D中属于第k类的样本子集,K是类的个数
    如果样本集合D根据特征A是否取某一可能值a被分割成 D1D2 ,则在特征A条件下,集合D的基尼指数定义为
    Gini(D,A)=|D1||D|Gini(D1)+|D2||D|Gini(D2)

    Gini(D)表示集合D的不确定性,Gini(D, A)表示经A = a分割后集合D的不确定性
  • CART剪枝
    剪枝形成一个子树序列;然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。

参考文献:李航《统计学习方法》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值