【机器学习】决策树



递归终止条件

决策树使用递归实现,而递归终止条件有以下三种:

  1. 当前结点所有样本属于同类,无需划分
  2. 当前属性集为空,无法划分,选取此节点中数量更多的标记作为类别标记
  3. 当前样本集为空,不能划分,依据父节点中数量更多的标记作为类别标记

名词概念

1.纯度:同类聚集程度高、不同类越分散,则纯度越高
2.信息熵:纯度的量化指标,来源于信息论
3.剪枝:防止决策树过拟合,减去部分划分属性。分为预剪枝和后剪枝

信息熵

信息熵计算公式
E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k log ⁡ 2 p k E n t ( D ) = - \sum _ { k = 1 } ^ { | y | } p _ { k } \log _ { 2 } p _ { k } Ent(D)=k=1ypklog2pk
信息熵用于衡量信息的不确定性或信息的混乱程度,我们可以将其用于量化纯度
信息熵越大,数据分布越均匀、随机、杂乱无章,明显这不是我们想要的。
我们想要的是相同类靠近,不同类远离的效果,即需要越小的信息熵

p k p_k pk表示选到k类别的概率,而 − log ⁡ 2 p k -\log _ { 2 } p _ { k } log2pk则表示信息量

我们可以理解对于某一事件,其发生的概率越小,那么其信息量越大;发生的概率越大,那么其信息量越小。所有对两者求期望即得到信息熵。

注意:此处计算公式里的Y的输出值种类,如二分类问题中Y=2

划分选择

决策树中最重要的部分,用于选择最佳划分属性

1.信息增益(Information Gain)

计算某属性的信息增益,用根节点的信息熵-属性各个属性值的信息熵的加权平均值
信息增益越大,意味着使用属性a进行划分获得的纯度提升越大
G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain ( D , a ) = E n t ( D ) - \sum _ { v = 1 } ^ { V } \frac { | D ^ { v } | } { | D | } E n t ( D ^ { v } ) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)

2.增益率(Gain Ratio)

由于信息增益对于取值数目较多的属性有所偏好,所以引进增益率进行选择最优划分属性,比如著名的C4.5决策树算法

当属性a的可能取值数目越多时(即V越大),IV(a)越小,相应的增益率就越大

我们可以这样理解,IV(a)计算的其实就是信息熵,当属性值数目越多时,样本分类就越多且彼此之间就越分散越混乱,而我们希望分类效果越好,就需要减少属性值可能取值个数。

G a i n   R a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain \space R a t i o ( D , a ) = \frac { G ain( D , a ) } { I V ( a ) } Gain Ratio(D,a)=IV(a)Gain(D,a)
I V ( a ) = − ∑ v V ∣ D v ∣ D log ⁡ 2 ∣ D v ∣ D I V ( a ) = - \sum _ { v } ^ { V } \frac { | D ^ { v } | } { D } \log _ { 2 } \frac { | D ^ { v } | } { D } IV(a)=vVDDvlog2DDv

思考🤔:

增益率可以减少 信息增益对于属性值较多的属性有所偏好 的问题,
但是同样的,增益率对于属性值较少的属性有所偏好
所以实际处理时,对于不同的属性的划分选择可以采取不同的方法,但是在同一层属性划分选择时只能使用同一种方法。

3.基尼指数(Gini Index)

含义:反映从数据集中随机抽取两个样本,其类别标记不一致的概率

用于CART决策树,既可以用于分类问题,也可以用于回归问题

基尼指数越小,则数据集纯度越高
G i n i ( D ) = 1 − ∑ k = 1 ∣ y ∣ p k 2 G i n i ( D ) = 1 - \sum _ { k = 1 } ^ { | y | } p _ { k } ^ { 2 } Gini(D)=1k=1ypk2 G i n i   I n d e x ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ G i n i ( D v ) G i n i \space I n d e x ( D , a ) = \sum _ { v = 1 } ^ { V } \frac { | D ^ { v } | } { | D | } G i n i ( D ^ { v } ) Gini Index(D,a)=v=1VDDvGini(Dv)

剪枝(Pruning)

为了防止决策树模型过拟合而采取的手段
分为预剪枝后剪枝两种方法

PS:需要先选定 评估方法性能度量(第二章知识内容)
下列假设使用留出法,以精度为性能度量

预剪枝(Prepruning)

运用贪心思想,可能有弊端

在建立决策树的过程中进行剪枝,代入测试数据
将 当前精度 与 增加划分属性后的精度 进行比较,
判断是否需要增加划分属性

后剪枝 (Postpruning)

在决策树建立完成后进行剪枝,代入测试数据
将 当前精度 与 把该结点属性变成叶子节点后的精度 进行比较
判断是否需要剪去不要的树枝
优点:欠拟合风险小,泛化性能较好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值