西瓜笔记(六)--决策树

一、信息量与信息熵

简单来讲,就是一个时间的发生概率越小,信息量越大

信息量的定义:

不确定性越大,熵值越大,信息熵是时间集合的信息量的平均值。

信息熵的定义:

若随机变量退化成定值,熵为0

经验信息熵:根据你的样本得到的概率

条件熵:在给定X的条件下,随机变量Y的不确定性。相当于是数学期望。

可以推导出:

经验条件熵:

信息增益:集合D的经验熵与在给定a后的经验条件熵的差。

我用人话叙述一下整个过程:

首先理清楚我们样本的构成:我们的目的是找到一个属性。样本有多个属性,每一个属性有多个取值。

在样本D中计算关于训练结果(好瓜与坏瓜)的信息熵,遍历每一个属性,以每一个属性的每一个取值作为样本总体,计算关于训练结果的信息熵,计算数学期望,从而计算出G(D,a)。这样就得到了每一个属性的信息增益,信息增益下降最大的作为根节点。

然后将样本进行取值的分类(划分过程),如果所有样本都属于同一类,则是一个单节点子树。如果特征用完,则返回单节点子树。如果信息增益小于阈值,则返回单节点子树。

整个过程是一个递归的过程。每进行一次递归进入子结点,更新样本集和特征集。

 以上是最基础的建树过程,但是存在很多的问题。

problems:偏向与取值多的属性;对噪声敏感;无法处理连续值;无法处理不同代价属性;无法处理缺失值

接下来的方法针对以上的问题:

1、直观来讲,取值多的属性会产生更大的信息增益,我们用增益率来代替:

 

2、

基尼指数(用来选取最纯的那个属性)可以用来代替信息增益:数据集中任意两个数据是否属于同一类的衡量标准

3、处理过拟合,噪声问题:

剪枝策略分为:

预剪枝:在生成过程中,对每个结点在划分前进行估计,若划分不能带来决策树的泛化性能的提升,就不划分了,将其作为叶结点,结束这层递归。

后剪枝:先生成决策树,然后自底向上对非叶结点进行考察,若将该子树替换为叶结点能带来泛化性能的提高,就替换。

以上剪枝策略都是通过比较剪枝前后泛化性能来决定的。泛化性能的考察就是通过对测试集的分类正确率进行比较。

3、连续值离散化(二分法)

先将样本排序,去每两个样本值之间的中值作为划分点候选值的集合之一。最后通过信息增益选取使信息增益最大的那个划分点。

4、缺失值处理

对于每一个属性来说,去除缺失该属性的样本值。

5、不同代价属性处理

将信息增益替换为:或者

ω是(0,1)之间的常数,代表的是代价对于信息增益的相对重要性。

猜你喜欢

转载自www.cnblogs.com/melina-zh/p/9799919.html
今日推荐