【西瓜书学习】第4章 决策树

第4章 决策树

首先决策树是一类常见的机器学习方法。决策树学习的目的是为 了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的"分而治之"。类似可参考程中的if else。

ID3决策树

首先是关于信息熵,条件熵以及信息增益的概念。
信息熵的公式:在这里插入图片描述
其中,Ent(D) 的值越小,则 D 的纯度越高.

信息增益的公式:
信息熵公式

一般而言,信息增益越大,则意味着使用属性 α 来进行划分所获得的纯度提升越大

ID3决策树学习算法就是根据信息增益来划分属性。

C4.5决策树

实际上,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,不能对样本进行有效预测。

C4.5 决策树算法不直接使用信息增益,而是使用增益率来选择最优划分属性。

增益率的公式:
在这里插入图片描述
其中,IV(a)指的是a的固有值。
在这里插入图片描述
属性 a 的可能取值数目越多(即 V 越大),则 IV(α) 的值通常会越大.

而增益率也不是能直接运用的,增益率准则对可取值数目较少的属性也有所偏好。

所以,C4.5算法不是直接选择增益率最大的候选划分属性,而是使用了一个启发式,即先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。(先信息增益,后增益率)

CART决策

这里要引入一个概念就是基尼指数:
基尼值的公式:
在这里插入图片描述

基尼值反映了从数据集 D 中随机抽取两个样本,其类别标记 不一致的概率.因此, Gini(D) 越小,则数据集 D 的纯度越高.

基尼指数的公式:
在这里插入图片描述

CART决策树就是选择基尼指数最小的属性作为最优化分属性。

CART树的实际构造算法:
1:对每个属性a的每个可能取值v,讲数据集D分为a=v和a≠v两部分来计算基尼指数:在这里插入图片描述
2:选择基尼指数最小的属性及其对应值作为最优划分属性和最优划分点;
3:最后重复以上两步,直至满足停止条件。

剪枝处理

剪枝(pruning)是决策树学习算法对付"过拟合"的主要手段.
在判断决策树泛化性能是否需要提升,可以用采用流出法,即预留一部分数据用作验证集来进行性能评估。

预剪枝

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

预剪枝使得决策树的很多分支没有展开,这样降低了过拟合的风险,同时还显著减少了决策树的训练时间开销和测试时间开销。但同时因为预剪枝禁止一些分支的展开,给预剪枝决策树也带来了欠拟合的风险。

后剪枝

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

后剪枝决策树通常比预剪枝决策树保留更多的分支。一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。但是后剪枝的训练时间开销要比未剪枝决策树和预剪枝决策树都大得多。

学习心得:通过了快有两个星期的学习,对于西瓜书,我能大概明白不少概念以及算法,但是由于基础知识薄弱,(特别是概率论上,还需要再花费时间进行学习基础知识)做题时往往不能完全做完并且保证正确率,这是后期需要不断提升的地方。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值