决策树通过举例通俗理解

信息熵:不得不提香农这个大写的人啦!信息论里面的知识。在信息论里面,信息熵衡量信息量的大小,也就是对随机变量不确定度的一个衡量。熵越大,不确定性越大
对于某个单符号无记忆信源,发出符号(xi)的概率是pi,概率越大,符号的信息量就越小。
特征的选择:每次选入的特征作为分裂的标准,都是使得决策树在这个节点的根据你自己选择的标准(信息熵最小、信息增益最大、gini系数最小)

先说让信息增益最大的方法:
决策树通过举例通俗理解_第1张图片
公式中C代表类别,按照D组划分C。
只看公式还是难以理解,下面举个例子。
某同学决定是否出去玩有以下评判标准,outlook(天气),temperature(温度),humidty(湿度),windy(是否多云),综合考虑,但也不是百分之百出现同种情况就一定是同一种决定,也可能看心情,emmmmmm。
下表列出了之前多次决定的情况。
决策树通过举例通俗理解_第2张图片
下面,我们要选择其中一种属性outlook(天气),temperature(温度),humidty(湿度),windy(是否多云),来先进行划分,作为决策树的第一个节点。
决策树通过举例通俗理解_第3张图片
下面就可以计算每个特征做为节点的信息熵H(x)
以天气为例,天气三种属性,当Outlook = sunny时
在这里插入图片描述
当Outlook= overcast
在这里插入图片描述
当Outlook = rainy
在这里插入图片描述
所以,当选天气作为节点时,此时
在这里插入图片描述
同理,
gain(温度) =0.029 gain(湿度)=0.152 gain(风)=0.048
gain表示增益
因此选择天气节点,在递归实现其他节点的选择。
我们总想往信息量大的那个方向走。

增益率:
决策树通过举例通俗理解_第4张图片
著名的C4.5决策树算法不直接使用信息增益,而是使用“增益率”来选择最优划分属性
实际上,信息增益准则对可取值数目较多的属性有所偏好,可以试想,选择一个唯一对应一个样本的属性进行分类,每一类都是最纯的,对应的信息增益也是最大的,然而这样的划分无疑是不具备泛化能力的。
简单来看,IV(a)称为a的“固有值”,a的可能取值数目越多,IV(a)的值通常越大。
增益率准则对可取值数目较少的属性有所偏好,因此, C4.5算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

基尼(Gini)系数:
在这里插入图片描述
也是对随机变量不确定性的一个衡量,gini越大,不确定性越大。
因此我们要选择gini小的部分。

连续属性的处理方法
因为连续属性的可取值数目不再有限,因此不能像前面处理离散属性枚举离散属性取值来对结点进行划分。因此需要连续属性离散化,常用的离散化策略是二分法,这个技术也是C4.5中采用的策略。下面来具体介绍下,如何采用二分法对连续属性离散化:

选取分解点的问题: 分成不同的区间(二分、三分…),分别计算增益值,然后比较选择。
评价函数:
在这里插入图片描述
在这里插入图片描述
决策树通过举例通俗理解_第5张图片
emmmm,举个栗子:
给定数据集如下(数据集来自周志华《机器学习》)
决策树通过举例通俗理解_第6张图片
对于数据集中的属性“密度”,决策树开始学习时,根节点包含的17个训练样本在该属性上取值均不同。我们先把“密度”这些值从小到大排序:
在这里插入图片描述
根据上面计算Ta的公式(相邻两个取平均值作为划分点),可得:
在这里插入图片描述
下面开始计算t 取不同值时的信息增益:
决策树通过举例通俗理解_第7张图片
其他的以此类推,全部计算完之后:
在这里插入图片描述

剪枝处理:
剪枝是决策树学习算法对付"过拟合"的主要手段。

过拟合原因:

1)噪声导致的过拟合:拟合了被误标记的样例,导致误分类。

2)缺乏代表性样本导致的过拟合:缺乏代表性样本的少量训练集作出的决策会出现过拟合。

3)多重比较造成的过拟合:复杂模型。

基本策略有"预剪枝" 和"后剪枝";

预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;

后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

判断决策树泛化性能是否提升:留出法,即预留一部分数据用作"验证集"以进行性能评估。

例如:在预剪枝中,对于每一个分裂节点,对比分裂前后决策树在验证集上的预测精度,从而决定是否分裂该节点。而在后剪枝中,考察非叶节点,对比剪枝前后决策树在验证集上的预测精度,从而决定是否对其剪枝。

两种方法对比:

1)预剪枝使得决策树的很多分支都没有"展开”,不仅降低过拟合风险,而且显著减少训练/测试时间开销;但,有些分支的当前划分虽不能提升泛化性能,但在其基础上进行的后续划分却有可能导致性能显著提高,即预剪枝基于"贪心"本质禁止这些分支展开,给预剪枝决策树带来了欠拟含的风险。

2)后剪枝决策树通常比预剪枝决策树保留了更多的分支。一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树,但后剪枝过程是在生成完全决策树之后进行的,并且要自底向上地对树中的所有非叶结点进行逐一考察,因此其训练时间开销比未剪枝决策树和预剪枝决策树都要大得多。

你可能感兴趣的:(机器学习,决策树,机器学习)