西瓜书、南瓜书第4章学习笔记

本文介绍了决策树算法的基本原理,包括信息熵、条件熵、信息增益和基尼值的概念,以及ID3、C4.5和CART决策树的选择准则和改进。C4.5通过增益率平衡属性取值数量的影响,而CART则选择基尼指数最小的属性进行划分。
摘要由CSDN通过智能技术生成

决策树

1.算法原理

从逻辑角度看是许多if、else组合。

从几何角度看是按照某种准则对于特征空间进行划分。

目的是通过划分取得“纯度”更高,即在一个划分区域内通过信息熵得出的随机变量不确定性程度更低的结果。

2.定义

自信息:

I(X)=-\log_{b}p(x)

 当b=2时单位为bit,当b=e时单位为nat。

信息熵(自信息的期望):

度量随机变量X的不确定性,信息熵越大越不确定

H(X)=E[I(X)]=-\sum _{x}p(x)\log p(x)(离散型)

 计算信息熵时约定:若p(x)=0,则p(x)\log_{b}p(x)=0。当X的某个取值的概率为1时信息熵最小(最确定),其值为0;当X的各个取值的概率均等时信息熵最大(最不确定),其值为\log_{b}|X|,其中|X|表示X可能取值的个数。

将样本类别标记y视作随机变量,各个类别在样本集合D中的占比p_{k}(k=1,2,...,|y|)视作各个类别取值的概率,则样本集合D(随机变量y)的信息熵(底数b取2)为

Ent(D)=-\sum_{k=1}^{|y|}p_{k}\log p_{k}

 显然Ent(D)=H(X),此时的信息熵所代表的“不确定性”可以转换理解为集合内样本的“纯度”

条件熵(Y的信息熵关于概率分布X的期望):

在已知XY的不确定性

H(Y|X)=\sum _{x}p(x)H(Y|X=x)

 从单个属性(特征)\alpha的角度来看,假设其可能取值为{{​{a^{1},a^{2},...,a^{V}}}},D^{v}表示属性a取值为a^{v}\in{{​{a^{1},a^{2},...,a^{V}}}}的样本集合,\frac{|D^{v}|}{D}表示占比,那么在已知属性a的取值后,样本集合D的条件熵为

\sum_{v=1}^{V}\frac{|D^{v}|}{|D|} Ent(D^{v})

信息增益:

在已知属性(特征)a的取值后y的不确定性减少的量,也即纯度的提升

Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{|D^{v}|}{|D|} Ent(D^{v})

 即信息熵与条件熵的差值。

基尼值:

从样本集合D中随机抽取两个样本,其类别标记不一致的频率。

因此,基尼值越小,碰到异类的概率就越小,纯度就越高。

Gini(D)=\sum_{k=1}^{|y|}\sum_{k'\neq k}p_{k}p_{k'}\\ =\sum_{k=1}^{|y|}p_{k}(1-p_{k})\\ =1-\sum_{k=1}^{|y|}p_{k}^{2}

 属性\alpha的基尼指数(类比信息熵和条件熵):


Gini\_index(D,a)=\sum_{v=1}^{V}\frac{|D^{v}|}{|D|}Gini(D^{v})

3.ID3决策树

ID3决策树是以信息增益为准则来选择划分属性的决策树

a_{*}=\underset{a\in A}{\arg \max} Gain(D,a)

 每次在众多条件中选最优(信息增益最大的条件),经过循环反复迭代,即为ID3决策树最终结果。

4.C4.5决策树

C4.5决策树是在ID3决策树基础上的一种改进

因为ID3决策树基于信息增益准则所以对可能取值数目较多的属性有所偏好,这种偏好可能带来不利影响。

比如,有三名学生,编号为01,02,03,很显然按照编号进行划分时信息增益率很高。这时ID3决策树会更倾向于选择编号作为条件,但其本质原因不是取值数目过多,而是每个取值内包含的样本量太少。

为减少这种偏好的不利影响,C4.5决策树使用了“增益率”代替“信息增益”,并且对增益率定义为:

Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}

其中

IV(a)=-\sum_{v=1}^{V}\frac{|D^{v}|}{|D|}\log_{2}\frac{|D^{v}|}{|D|}

 称为属性a的“固有值”,a的可能取值个数V越大,通常其固有值IV(a)也越大。可见IV(a)可以平衡可能取值数目较多的属性的信息增益。

但是,a的可能取值个数V越小,通常其固有值IV(a)也越小,增益率Gain\_ratio(D,a)的值就越大。导致增益率对可能取值数目较少的属性有所偏好。

因此,实际使用中C4.5决策树通常采用一种启发式的方法:不用“增益率”完全取代“信息增益”,而是先选出信息增益高于平均水平的属性,再从中选出增益率最高的。

5.CART决策树

CART决策树简单地说就是选择基尼指数最小的属性作为最优化分属性

a_{*}=\underset{a\in A}{\arg \max}\ Gini\_index(D,a)

 

CART决策树实际构造如下:

首先,对每个属性\alpha的每个可能取值v,将数据集D分为a=va\neq v两部分来计算基尼指数,即

Gini\_index(D,a)=\frac{|D^{a=v}|}{|D|}\ Gini(D^{a=v})+\frac{|D^{a\neq v}|}{|D|}\ Gini(D^{a\neq v})

 然后,选择基尼指数最小的的属性及其对应取值作为最优划分属性和最优划分点

最后,重复上述步骤,直至纯度满足停止条件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值