标签:树的定义 从表 play 一点 多变量 display cal 策略 分布
Decision Tree 决策树
决策树的定义和直观解释
决策树定义
决策树是一类常见的机器学习方法。本质就是一棵树,这棵树表示的含义如下:
- 每个非叶子结点对应一个判定问题
- 每个叶子结点对应一个决策结果
- 每一条从根到叶的路径对应一个完整的决策过程
决策树模型的特点
优点
- 可解释性极强,常用于医疗诊断等领域
- 计算复杂度低
- 可以处理不同类型的数据,包括离散值和连续值
缺点
- 容易过拟合,需要配合剪枝策略
不是一点点容易,真的是非常容易,因为只要有一个 outlier 就会导致决策树继续分支,最后会非常复杂。
划分指标
决策树的划分目的,是使得每个结点所包含的样本尽量属于同一类别,即“纯度” (purity)。衡量集合纯度最常用的指标是信息熵
\[Ent(D) = -\sum_{k=1}^{|{\mathcal Y}|}p_k\log_2p_k
\]
信息熵越小,纯度越高
-
信息增益 (information gain)
\[Gain(D, a) = Ent(D) - \sum_{v=1}^{V}\frac{|D^v|}{|D|}Ent(D^v)
\]
衡量划分后纯度的变化。不同子集合信息熵通过加权平均的方式汇总。缺点是对可取值较多的属性有偏好。
-
信息增益率 (information gain ratio)
\[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|}
\]
\(IV(a)\)称为 a 的固有值(intrinsic value)。增益率对可取值较少的属性有偏好。
-
基尼指数 (Gini index)
\[Gini(D) = \sum_{k=1}^{|{\mathcal Y}|} \sum_{k‘\ne k}p_kp_{k‘} = 1 - \sum_{k=1}^{|{\mathcal Y}|}p_k^2\Gini\_index(D, a) = \sum_{v=1}^V\frac{|D^v|}{|D|}Gini(D^v)
\]
其实熵 (Ent) 和基尼值 (Gini) 是很类似的东西,从表达式中就可以看出:
熵就是 \(-\sum p\log p\),基尼值就是 \(-\sum p^2\),都是越小越好。二者只是对纯度的敏感程度不一样。
同理基尼指数也会对可取值较多的属性有偏好。
剪枝策略 (pruning)
剪枝策略是决策树学习算法处理过拟合的主要手段,分为预剪枝和后剪枝。两种剪枝策略都是基于泛化能力(验证集结果)进行的。
预剪枝
- 在决策树生成过程中进行
- 对于某一个划分,如果划分后验证集上的准确率有提升,就进行划分;反之若划分后验证集上的准确率下降,就不进行划分
- 优点:显著减小训练时间开销
- 缺点:本质是一种贪心策略,忽视了后续划分对泛化能力的提升,训练出的决策树往往较小,可能造成欠拟合。
后剪枝
- 在决策树生成后进行
- 剪枝方法同上,不过是自下而上剪枝
- 优点:通常比预剪枝保留更多的分支,欠拟合风险很小
- 缺点:训练开销比预剪枝,甚至未剪枝要大得多
连续值和缺失值处理
连续值处理
缺失值处理
确实值处理需要面对两个问题:
- 训练过程中,如何选择划分属性 - 调整信息增益(率)的计算方式。只有存在的值能够用来计算信息增益。
- 预测过程中,如何划分缺值样本 - 将预测结果变为一个概率分布。缺失值可能是该属性的任意一个值,可利用该属性的分布估计不同状态下的预测结果。
训练算法
决策树有一些常用的训练算法,是对以上知识点的整合应用。例如 CART,ID3,C4.5
*多变量决策树
一般的决策树,每个结点只考虑一个属性,决策边界是垂直于坐标轴的;如果每个结点考虑多个属性,实现一个线性分类器,那么决策边界就能更好的拟合结果。本质类似一个树状的多层感知机。
【机器学习】决策树
标签:树的定义 从表 play 一点 多变量 display cal 策略 分布
原文地址:https://www.cnblogs.com/xuruihan/p/13770991.html