西瓜书&南瓜书学习笔记3

                                                          第四章  决策树

4.1 基本流程

决策树:将样本根据特征划分为子集合,再将子集合根据另一特征分类,从而将样本越分越纯。从逻辑角度,决策树就是一堆if else语句的集合,根据if语句的条件进行分类;从几何角度,决策树时根据某种准则划分特征空间从而将样本分类(特征空间是以样本各个特征为轴划分出来的空间)。

例:一个判断西瓜是否为好瓜的决策树

                                   

       一颗决策树一般包含一个根节点、若干内部节点和若干叶节点。叶节点为最终的分类结果;内部节点上有一属性测试,根据该测试将该内部节点上的集合划分至下一叶节点或下一内部结点,然后继续根据测试划分,直至全部划分到叶节点;根节点包含样本全集。

决策树学习:决策树学习的目的是产生一颗处理未见示例能力强的决策树,其流程遵循分而治之的策略,如下图

        决策树生成是一个递归的过程,三种情况会导致递归返回:

        (1)当前节点的样本类型均相同(该节点集合内样本标记y值相同),无需划分

        (2)当前节点的属性集为∅或所有样本在所有属性上取值相同(没有可以根据其进行划分的属性或者有可以划分的属性,当该属性上各样本的取值均相同),无法划分。该情况下当前节点标记为叶节点,类别为集合内含样本最多的类别。

        (3)当前节点的样本集合为空集,不能划分。当前节点标记为叶节点,当类别为其上一个节点所含样本最多的类别。

(第8行选择最优划分属性a*后,根据a*的每个取值将D划分为多个子集Dv,若Dv为空则为(3)不为空则除去属性a*后再用Dv执行程序TreeGenerate(),即在剩下的属性中选出另一最优属性再进行划分。)

4.2 划分选择(如何选择最优属性)

一、ID3决策树(根据条件熵决定最优属性)

自信息:,b=2时单位为bit,b=e时单位为nat。

信息熵(Ent(D))(自信息的期望):可以度量随机变量X的不确定性,信息熵越大X越不确定

        计算信息熵时,约定。当X某个取值概率为1时,信息熵最小,其值为0;当X各个取值概率均相等时,信息熵最大,其值为,其中表示X可能取值的个数。

        若将样本的标记y看作随机变量,标记y的给类别在样本集合D中的占比pk视作各个类别取值的概率,则样本集合的信息熵(b=2)为,此时信息熵所衡量的“不确定性”就可以转化为衡量样本的纯度。

条件熵(Y的信息熵关于概率分布X的期望(p(x))):已知X后Y的不确定性

选择某一属性a,其可能取值为{a1,a2...aV},Dv为属性a取值为av的样本的集合,表示Dv所占样本集D的比例,则已知属性a的取值后样本集合D的条件熵为

                                                

信息增益:已知属性a取值后y的不确定性的减少量(D的信息熵和已知属性a后D的条件熵的差值)

ID3决策树:根据信息增益最大来选取最优属性的决策树

(分别计算出各属性的信息增益,选取信息增益最大的属性作为最优属性a*,然后根据最优属性a*=a1,a2,a3...时将样本划分为D1、D2、D3...然后给个子集中从剩余属性中再次选出最优属性并再次划分子集,直至满足条件)

二、C4.5决策树

        信息增益对于某些取值数目较多的特性可能偏高(例如“编号”这个特征中每个取值仅包含一个样本,每个取值所包含的样本个数太少导致信息增益偏高),为减少这一影响,C4.5决策树使用增益率代替信息增益来选取最优属性。

增益率:

                           

                         

        IV(a)称为属性a的“固有值”,a的可能取值V越多,通常IV(a)越大。

        由于增益率对某些取值数目较少的特性可能会偏高,因此C4.5决策树为完全使用增益率代替信息增益,而是先选出信息增益高于平均值的属性,然后再从其中选择增益率高的作为最优属性。

三、CART决策树

基尼值:从样本集合D中随机选两个样本,其标记不一样的概率。因此,基尼值越小,纯度越高。

                                                

pk为抽到样本标记y=k时的概率,pk'为不是y=k的概率(pk用标记为k的样本的占比表示,pk'=1-pk)

属性a的基尼指数(与条件熵的定义类似):

CART决策树:选择基尼指数最小的属性作为最优属性

由于CART决策树为二叉树,因此实际构造算法如下:

(1)对属性a每个可能的取值v,将样本集D分为a=v和a!=v两部分计算基尼指数,即

(2)选择基尼指数最小的属性及其对应的取值作为最优划分属性和最优划分点(设最优属性为a*,最优划分点为v,则将样本集D分为a*=v的子集D1和a*!=v的子集D2,然后再从其他属性中选出最优属性和最优划分点)

(3)重复(1)(2),直至满足条件

以上内容来自第4章-决策树_哔哩哔哩_bilibili和周志华老师的《机器学习》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值