决策树复习

注:本博客为周志华《机器学习》读书笔记
参照以及引用的博文和视频:
1.天泽28  https://blog.csdn.net/u012328159/article/details/70184415
2.ksy_e  https://blog.csdn.net/kunshanyuZ/article/details/87861960
3.B站【一起啃书】机器学习西瓜书白话解读,作者是:致敬大神 https://www.bilibili.com/video/BV17J411C7zZ?p=64

4.2 划分选择

一般而言,随着决策树的不断划分,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。

4.2.1信息增益(决策树ID3训练算法)

信息与熵的概念及度量

一、概念

1.什么是熵
   一种事物的不确定性。比如:我第一次去买西瓜,不知道怎么挑西瓜,很懵,但不知到该挑哪一个。
2.什么是信息
  消除我对不确定事物的因素。
信息的作用:
  调整概率;拿一个榴莲闻一闻,很香,他就进入了你的目标。
  排除干扰;无关因素,包装,店面等等因素。
  确定情况;比如卖瓜的人说了一句,这瓜保熟,不甜不要钱。你是不是打算挑这个西瓜。
3.噪音
  不能消除某人对某件事的不确定性的事物(白白浪费精力)。
4.数据
  我们日常得到的数据就是:噪音+信息

二、熵如何量化

  1. 参照单位
     参照一个不确定的事件作为单位。
    我的不确定相当于抛几次硬币的不确定性:如抛硬币:50%正,50%反相当于猜一次硬币的不确定性,记为1bit(二分法)。
    如下表:
抛硬币次数 结果个数
1 2
2 4
3 8
n 2n

抛硬币次数与结果不确定性呈指数关系
2.等概率均匀分布
 8个等概率的不确定情况,相当于抛3次硬币
 4个等概率的不确定情况,相当于抛2次硬币
假设有m=10个等概率的不确定情况,那么10 = 2n ,相当于抛n = log210 次硬币
所以等概率均匀分布的熵: n = log2m (m:有m种等概率的不确定的情况。n:这种情况熵的值)
3.每种情况概率不相等一般分布
 样本集合D中第k类样本所占的比例为 p k p_k pk(k = 1,2,3,… ∣ y ∣ \mid y\mid y)
 信息熵计算公式:Ent(D) =- ∑ k = 1 ∣ y ∣ p k l o g 2 p k \displaystyle\sum_{k=1}^{\mid y\mid} p_k log_2p_k k=1ypklog2pk (y:当前结果的个数)
Ent(D)的值越小,则D的纯度越高。(这个公式也决定了信息增益的一个缺点:即信息增益对可取值数目多的特征有偏好(即该属性能取得值越多,信息增益,越偏向这个),因为特征可取的值越多,会导致“纯度”越大,即Ent(D)会很小,如果一个特征的离散个数与样本数相等,那么Ent(D)值会为0)。

公式复杂,但举例很容易理解
    决策树复习_第1张图片
  决策树复习_第2张图片
解释原理:
   决策树复习_第3张图片

三、信息如何量化(信息增益 ID3决策树算法)

得知信息前后,熵的差额就是信息的量(信息增益)
公式:

一般而言,信息增益越大,则表示使用特征对数据集划分所获得的“纯度提升”越大。所以信息增益可以用于决策树划分属性的选择,其实就是选择信息增益最大的属性,ID3算法就是采用的信息增益来划分属性。

举例:小明不知道选择题是ABCD哪个选项是时的熵: n = log24 = 2,
这时告诉小明C有一半概率是正确,小明知道C有一半概率后:A正确的概率:1/6,B正确的概率:1/6,C正确的概率:1/2,D正确的概率:1/6
所以小明知道C有一半概率后的不确定性(熵):
在这里插入图片描述
所以,告诉小明C有一半概率是正确 提供的信息:2 -1.73 = 0.21

关于西瓜书熵决策树所有例子,有一个大神写的很详细,地址如下:`

天泽28,这位大神把每一步写的都很详细,链接点此引用

4.2.2 增益率(C4.5决策树算法)

信息增益比的定义为:
    在这里插入图片描述
其中:
   在这里插入图片描述
举例:上面计算了关于色泽的信息增益
信息增益为:
决策树复习_第4张图片
所以特征“色泽”的增益率为:
在这里插入图片描述

信息增益与增益率的缺点

1.信息增益对取值数目较多的属性有所偏好
  举个例子讲,还是考虑西瓜数据集,如果我们把“编号”这一列当做属性也考虑在内,那么可以计算出它的信息增益为0.998,远远大于其他的候选属性,因为“编号”有17个可取的数值,产生17个分支,每个分支结点仅包含一个样本,显然这些分支结点的纯度最大。但是,这样的决策树不具有任何泛化能力。

2.增益率对取值数目较少的属性有所偏好,所以C4.5算法并不是直接选择使用增益率最大的候选划分属性,而是使用了一个启发式算法:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择信息增益率最高的。

4.2.3 基尼指数

Gini(D)反映了从数据D中随机抽取两个样本,其中类别标记不一致的概率。因此Gini(D)越小,数据集D的纯度越高。
在这里插入图片描述
在这里插入图片描述
所以在候选属性集合中,选择那个使得划分后基尼指数最小的属性作为最优划分属性。

关于基尼指数的详细例子,参考大神 ksy_e的博文

详细地址在此

4.3 剪枝处理

剪枝是决策树学习算法对付“过拟合”的主要手段。分为:预剪枝和后剪枝
关于剪枝处理,B站有位大神讲的十分清楚:
【一起啃书】机器学习西瓜书白话解读,讲解的西瓜书上的内容,甚是透彻。

B站地址在此
但要注以两点:
 1.标记(好瓜坏瓜)是由训练集中数量最多的类别决定的,当数量相同时为好瓜。
 2精确值时由测试集上的样例是否分对的个数。

4.4连续值与缺失值

还是看大神天泽28的博文

详细地址在此

但要总结一下计算过程(参照西瓜书数据集3.0):
1.先把“密度”这些值从小到大排序(17个数值)
2.依此计算两两之间的中位数(16个数值)
3.以此以16个中位数为阈值,划分数据集(二分类),从而计算信息增益或基尼指数。

你可能感兴趣的:(笔记,决策树)