【笔记】《统计学习方法》(5)决策树

简书:https://www.jianshu.com/p/eb9d50312de8

第5章 决策树

  1. 决策树(decision tree)是一种基本的分类与回归方法。可以认为是互斥且完备的if-then规则的集合优点:模型具有可读性、分类速度快。
  2. 通常包括三个步骤:特征选择、决策树的生成、决策树的修剪
  3. 思想来源主要有ID3算法、C4.5算法、CART算法
  4. 定义:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型,内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性,叶结点表示一个类。
  5. 决策树还表示给定特征条件下类的条件概率分布
  6. 决策树学习的损失函数通常为正则化的极大似然函数
  7. 决策树构建思想:
    - 开始,构建根结点,将所有训练数据都放在根结点
    - 选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个当前条件下最好的分类
    * 如果这些子集已经能够被基本正确分类,那么构建叶结点,并将这些子集分到所对应的叶结点中去
    * 如果还有子集不能基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的结点
    - 如此递归,直至所有训练数据子集被基本正确分类或者没有合适的特征为止
    - 最后,每个子集都被分到叶结点上,都有明确的分类
  8. 特征选择,在于选取对训练数据集具有分类能力的特征,通常准则为信息增益信息增益比
  9. (entropy)是表示随机变量不确定性的度量。设X是一个取有限个书的离散随机变量,概率分布为
    P(X=xi)=pi, i=1,2...,n P ( X = x i ) = p i ,   i = 1 , 2... , n

    则随机变量X的熵定义为
    H(X)=I=1npilogpi0log0=0 H ( X ) = − ∑ I = 1 n p i log ⁡ p i 注 : 0 log ⁡ 0 = 0

    这里写图片描述
  10. 条件熵(conditional entropy)表示在已知随机变量X的条件下随机变量Y的不确定性。定义为X给定条件下Y的条件概率分布的熵对X的数学期望
    H(Y|X)=I=1npiH(Y|X=xi),  pi=P(X=xi), I=1,2,...,n H ( Y | X ) = ∑ I = 1 n p i H ( Y | X = x i ) ,     p i = P ( X = x i ) ,   I = 1 , 2 , . . . , n
  11. 当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)
  12. 信息增益(information gain)表示得知特征X的信息而使得类Y的信息的不确定性减少的程度
    特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差
    g(D,A)=H(D)H(D|A) g ( D , A ) = H ( D ) − H ( D | A )
  13. 一般,熵H(Y)和条件熵H(Y|X)之差称为互信息(mutual information)。决策树学习中的信息增益等价于训练数据集中的类与特征的互信息
  14. 信息增益大的特征具有更强的分类能力。特征选择方法:对训练数据集D计算每个特征的信息增益,选择信息增益最大的特征
  15. 信息增益的算法
    这里写图片描述
    输入:训练数据集D和特征A
    输出:特征A对训练数据集D的信息增益g(D,A)
    (1)计算数据集D的经验熵H(D)
    H(D)=k=1K|Ck||D|log2|Ck||D| H ( D ) = − ∑ k = 1 K | C k | | D | log 2 ⁡ | C k | | D |

    (2)计算特征A对数据集D的经验条件熵H(D|A)
    H(D|A)=i=1n|Di||D|H(Di)=i=1n|Di||D|k=1K|Dik||Di|log2|Dik||Di| 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 |

    (3)计算信息增益
    g(D,A)=H(D)H(D|A) g ( D , A ) = H ( D ) − H ( D | A )
  16. 以信息增益作为划分的训练数据集的特征,存在偏向于选择取值较多的特征的问题。可用信息增益比(information gain ratio)校正。
  17. 定义:特征A对训练数据集D的信息增益比 gR(D,A) g R ( D , A ) 定义为其信息增益 g(D,A) g ( D , A ) 与训练数据集D关于特征A的值的熵 HA(D) H A ( D ) 之比(n为特征A的取值个数)
    gR(D,A)=g(D,A)HA(D)HA(D)=i=1n|Di||D|log2|Di||D| g R ( D , A ) = g ( D , A ) H A ( D ) H A ( D ) = − ∑ i = 1 n | D i | | D | log 2 ⁡ | D i | | D |
  18. ID3算法核心是应用信息增益准则选择特征
  19. ID3算法
    输入:训练数据集D,特征集A,阈值 ε ε
    输出:决策树T
    (1)若D中所有实例同属于一类 Ck C k ,则T为单结点树,并将类 Ck C k 作为该结点的类标记,返回T;
    (2)若 A= A = ∅ ,则T为单结点树,并将D中所有实例数最大的类 Ck C k 作为该结点的类标记,返回T
    (3)否则,计算A中各特征对的的信息增益,选择信息增益最大的特征 Ag A g
    (4)如果 Ag A g 的信息增益小于与之 ε ε ,则设置T为单结点树,并将D中实例数量最大的类 Ck C k 作为该结点的类标记,返回T
    (5)否则,对 Ag A g 的每一可能值 ai a i ,依 Ag=ai A g = a i 将D分割为若干非空子集 Di D i ,将 Di D i 中实例数最大的类作为标记构建子结点,由结点及其子结点构成树T,返回T;
    (6)对第i个子结点,以 Di D i 为训练集,以 AAg A − A g 为特征集,递归地调用步(1)~(5),得到子树 Ti T i ,返回 Ti T i
  20. ID3算法只有树的生成,所以该算法生成的树容易产生过拟合
  21. C4.5算法,标准步骤中与ID3不同的仅将(3)中艺信息增益比选择特征
  22. 剪枝(pruning):在决策树学习中将已生成的树进行简化的过程,通过极小化决策树整体的损失函数来实现
  23. 决策树学习的损失函数定义为
    Cα(T)=t=1|T|NtHt(T)+α|T| C α ( T ) = ∑ t = 1 | T | N t H t ( T ) + α | T |

    结点的经验熵
    Ht(T)=kNtkNtlogNtkNt H t ( T ) = − ∑ k N t k N t log ⁡ N t k N t

    左侧记为C(T),有
    Cα(T)=C(T)+α|T| C α ( T ) = C ( T ) + α | T |

    其中,C(T)表示模型对训练数据的预测误差,即模型与训练数据的拟合程度,|T|表示模型的复杂度, α α 越大模型越简单
  24. 决策树生成只考虑了通过提高信息增益(或信息增益比)对训练数据进行更好的拟合。而决策树剪枝通过优化损失函数还考虑了减小模型复杂度。决策树生成学习局部的模型,决策树剪枝学习整体的模型
  25. 树的剪枝算法
    输入:生成算法产生整个树T,参数 α α
    输出:修剪后的子树 Tα T α
    (1)计算每个结点的经验熵
    (2)递归地从树的叶结点向上回缩
    设一组叶结点会所到其父结点之前与之后的整体树分别为 TB T B TA T A ,其对应的损失函数分别是 Cα(TB) C α ( T B ) Cα(TA) C α ( T A ) ,若 Cα(TA)Cα(TB) C α ( T A ) ≤ C α ( T B ) ,则父结点变为新的叶结点
    (3)返回(2)知道不能继续位置,得到损失函数最小的子树 Tα T α
  26. 分类与回归树(classification and regression tree, CART)模型可用于分类和回归问题,是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。决策树是二叉树
    (1)决策树生成:尽量大
    (2)决策树剪枝:损失函数最小
  27. CART对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则
  28. 最小二乘回归树生成算法P69(不全)
    输入:训练数据集D
    输出:回归树 f(x) f ( x )
    递归将每个区域划分为两个子区域,构建二叉决策树
    (1)选择最优切分变量j与切分点s,使均方误差和最小
    (2)用选定的(j,s)对划分区域并决定相应输出值
    (3)继续对两个子区域调用步骤(1)(2),直至满足停止条件
    (4)将输入空间划分为M个区域,生成决策树
    f(x)=m=1MĉmI(xRm) f ( x ) = ∑ m = 1 M c ^ m I ( x ∈ R m )
  29. 基尼指数表达了集合D的不确定性,基尼指数Gini(D,A)表达了经过A=a分割后的集合D的不确定性。
    Gini(p)=k=1Kpk(1pk)=1k=1Kp2k G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2

    对给定样本集合D,基尼指数为
    Gini(D)=1k=1K(|Ck||D|)2 G i n i ( D ) = 1 − ∑ k = 1 K ( | C k | | D | ) 2

    对由特征A取值a分割的两个子集,特征A条件下,集合D的基尼指数为
    Gini(D,A)=|D1||D|Gini(D1)+|D2||D|Gini(D2) G i n i ( D , A ) = | D 1 | | D | G i n i ( D 1 ) + | D 2 | | D | G i n i ( D 2 )

    这里写图片描述
  30. CART生成算法P70
    输入:训练数据集D,停止条件
    输出:CART决策树
    (1)计算基尼指数
    (2)选择基尼指数最小的特征和切分点
    (3)递归(1)(2),直至满足条件
    (4)生成CART树
  31. 待考证:基尼指数和熵的效果差不多,但是更快
  32. CART剪枝算法P73
    (1)剪枝,形成一个子树序列
    (2)交叉验证的到最优子树
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值