《统计机器学习》-决策树学习笔记

决策树是基本的分类和回归方法。但是主要用于分类。在分类问题中,表示基于特征对样本进行分类的过程,也可以认为是在特征空间与类空间上的条件概率分布(类空间就是分类的结果,比如有二分类:是否问题)。之所以说是条件概率分布,是因为在给定某个特征A条件下样本的分类。

优点

具有可读性,分类速度快

决策树学习三个步骤

  • 特征选择
  • 决策树生成
  • 决策树修剪

定义

分类决策树是一种对样本进行分类的树形结构。递归地选择最优特征

结点类型

  • 内部结点
    表示一个特征
  • 叶结点
    表示一个类,这个类可能是多个样本的集合

决策树与条件概率分布

这里写图片描述

过拟合

决策树地构建,可能对训练数据集有很好的分类能力,但是对未知的测试数据却未必,可能发生过拟合现象。需要对其进行修剪,使之具有很好的泛化能力,具体讲就是去掉过于细分的叶子结点,使其回退到父结点,甚至更好的结点,然后将回退到的点更改为新的叶子结点。

ID3构建决策树

随机变量

某个不确定性的可能取值,比如抛硬币可以取[正,反]

表示随机变量不确定性的度量,就是对[正,反]的一种度量。在上面的图中,
随机变量X是一个有限个数的离散随机变量,概率分布为
P(X=xi)=pi,i=1,2,3,...n P ( X = x i ) = p i , i = 1 , 2 , 3 , . . . n

  • 随机变量X的墒定义

H(p)=1npilogpi H ( p ) = − ∑ 1 n p i l o g p i

墒越大,随机变量的不确定性就越大。不确定性大,就是X的取值很多样化,而不是几乎只为某个值,就很混乱的意思

  • 条件墒H(Y|X)
    表示已知随机变量X的条件下,随机变量Y的不确定性。
    X给定了,但是X可以取 x1,x2... x 1 , x 2 . . . ,取得那些值是有概率的
    H(Y|X)=i=1npiH(Y|X=xi) H ( Y | X ) = ∑ i = 1 n p i H ( Y | X = x i )

信息增益

利用特征X对样本划分,使得类Y的不确定性的减小程度

  • g(D,A) 特征A对训练数据集D的信息增益
    g(D,A)=H(D)H(D|A) g ( D , A ) = H ( D ) − H ( D | A )
  • H(D) 对训练集D进行分类(是,否)的不确定性减小的程度
  • 根据信息增益进行特征选择
    对训练集D或者其子集,计算每个特征的信息增益,选择最大的作为特征

信息增益算法

  • 训练集D
  • |D|
    训练集D的样本个数
  • C
    训练集有几个分类,就是要预测分类结果的集合,有k个
  • |Ck| | C k |
    属于k类别的样本个数 kk=1|Ck|=|D| ∑ k = 1 k | C k | = | D |
  • A 特征
    有n个不同取值 ,分别是 a1,a2,...an a 1 , a 2 , . . . a n 。因为特征每个取值就会划分一下训练集D,因此A特征对D划分为n个子集 D1,D2,...Dn D 1 , D 2 , . . . D n , |Di| | D i | 就是对应的样本个数
  • Dik D i k
    子集 Di D i 中属于类别 Ck C k 的样本集合
计算H(D)

H(D)=k=1k|Ck||D|log2|Ck||D| H ( D ) = − ∑ k = 1 k | C k | | D | l o g 2 | C k | | D |

计算条件墒H(D|A)

对应定义 H(Y|X)=ni=1piH(Y|X=xi) H ( Y | X ) = ∑ i = 1 n p i H ( Y | X = x i ) 可以知道
H(D|A)=ni=1|Di||D|H(Di)=ni=1|Di||D|kk=1|Cik||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 | C i k | | D i | l o g 2 | D i k | | D i |

计算信息增益

g(D,A)=H(D)-H(D,A)

利用信息增益构建决策树实例

这里写图片描述

信息增益比

在特征有多种取值的时候,信息增益都会比较大,但这种切分有时可能会没有意义,比如根据日期,或者根据id切分

gR(D,A)=g(D,A)H(D) g R ( D , A ) = g ( D , A ) H ( D )

比如根据id划分,每个id取值就会有一个最纯的结果,导致g(D|A)很大,直接从H(D)减为0,即g(D|A)=H(D),但是在信息增比中确为1

ID3算法

ID3算法核心是在决策树各个结点上应用信息增益进行选择特征,递归地构建决策树。
具体为:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为该结点的特征,由该特征的不同取值构建子结点;再对子结点递归地调用上述方法,构建决策树;直到所有的特征的信息增益均很小或者没有特征可以选择为止。ID3只有树的生成,容易过拟合

C4.5生成算法

决策树的剪枝

  • |T|
    树T的叶子结点个数,t是树T的叶子结点
  • |Nt| | N t |
    叶结点t有 |Nt| | N t | 个样本
  • |Nt| | N t |
    由于该结点可能有不同分类, |Nt| | N t | 就是该结点t当中,为k类的样本点个数
  • |Ht(T)| | H t ( T ) |
    叶结点t的墒
  • α α
    非负的参数
决策树的损失函数

Cα(T)=t=1|T|NtHt(T)+α|T| C α ( T ) = ∑ t = 1 | T | N t H t ( T ) + α | T |

其中,训练集D的子集 Ht(T) H t ( T ) 墒为
Ht(T)=k=1kNtkNtlogNtkNt H t ( T ) = − ∑ k = 1 k N t k N t l o g N t k N t

|T|是模型的复杂度, α α 如果大,就会选择较小的 |T| | T | ,因此模型就会简单一些

CART算法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值