机器学习、模式识别学习——决策树学习

决策树

决策树是一种数结构算法,主要用于分类或者回归。
使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。

基本理解

决策树模型核心是下面几部分:

  • 结点和有向边组成
  • 结点有内部结点和叶结点俩种类型
  • 内部结点表示一个特征,叶节点表示一个类

如下,判断一个西瓜是不是好瓜

在这里插入图片描述
**决策树代表实例属性值约束的合取的析取式。从树根到树叶的每一条路径对应一组属性测试的合取,树本身对应这些合取的析取。**理解这个式子,比如上图的决策树对应表达式为:
((纹理=清晰)(根蒂=蜷缩))((纹理=清晰)(根蒂=稍蜷)(色泽=乌黑)(触感=硬滑))…(纹理=模糊)

决策树的原理过程
比如还是以上面的选好西瓜为例子:
比如现在要判断 “纹理清晰,根蒂蜷缩的瓜” 是否是好瓜
(1)第一步还是从根节点出发,根节点判断纹理是否清晰,选择左边分支,还是一个内部节点;

在这里插入图片描述
(2)当前节点还是内部节点,进一步判断根蒂,选择左边分支;
在这里插入图片描述
(3) 当前节点已经是叶子节点,已经可以确定目标类别,得到结果是’好瓜‘

(4) 回顾整个过程其实就是从根节点开始出发,通过判断属性特征进行分支,如果是内部节点则继续递归分支直到最后是一个叶子节点确定了目标类别。也就是满足各分支所有属性特征的析取就判断为是叶子节点所属类别,这里就是西瓜纹理=’清晰‘ 而且 根蒂=’蜷缩‘,则属于好瓜。

那么关键问题是怎么建立这样一个决策树呢?

决策树的建立

其实决策树的建立就是一个选择合适属性特征作为分支条件的过程,不同的算法通过不同的依据来选择合适的属性特征。

ID3算法

ID3算法的选择依据是信息熵的增益

先来看什么是信息熵
信息熵就是指信息的信息量,也就是信息的不确定程度,如果一个信息对应的事件是100%的可能会出现同一种结果,那么这个信息对应的不确定度就为0,信息熵为0
公式如下:
在这里插入图片描述
再来看什么是信息熵增益
所谓增益就是:从什么属性特征都不知道到知道一个属性特征后信息的不确定度的减少量,也就是前后的信息熵的差。

比如下面的例子,假设已有下面的数据

在这里插入图片描述在确定任何特征之前,好瓜是8个,坏瓜是9个,概率分别是8/17和9/17,所以信息熵是:

H(D) = Ent(D)现在决定‘光泽’属性特征:
色泽有3个可能的取值:{青绿,乌黑,浅白}
D1(色泽=青绿) = {1, 4, 6, 10, 13, 17},正例 3/6,反例 3/6
D2(色泽=乌黑) = {2, 3, 7, 8, 9, 15},正例 4/6,反例 2/6
D3(色泽=浅白) ={5, 11, 12, 14, 16},正例 1/5,反例 4/5

3个分支的信息熵分别是:

在这里插入图片描述
所以知道‘光泽’后的信息熵增益为:

在这里插入图片描述
同理可以得到知道其他属性特征后的信息熵增益:

在这里插入图片描述
可以发现,当知道‘光泽’属性后,信息熵的增益最大,而ID3算法就会选择增益最大的‘光泽’作为分支属性特征。在分支后,如果还不能确定是否是好瓜(不是叶子节点),则继续选择信息熵增益最大的属性特征作为进一步的分支属性特征,直到新的分支可以确定是否是好瓜(叶子节点).

C4.5算法

ID3算法的问题?
在之前的选西瓜例子中如果把西瓜编号作为一个属性特征会怎么样?
因为编号唯一确定一个西瓜是否是好瓜,所以只会有‘编号’这一个分支属性特征,就没有意义了。

C4.5算法则不同,因为它选取新的依据确定分支属性——信息增益率
公式如下:
在这里插入图片描述
其中IV(a)是属性a的一个固定值,公式如下:
在这里插入图片描述
IV(触感) = 0.874 ( V = 2 )
IV(色泽) = 1.580 ( V = 3 )
IV(编号) =4.088 ( V = 17)
由上面的计算例子,可以看出IV(a)其实能够反映出,当选取该属性,分成的V类别数越大,IV(a)就越大,如果仅仅只用信息增益来选择属性的话,那么我们偏向于选择分成子节点类别大的那个特征

C4.5算法的策略
C4.5算法不直接选择增益率最大的候选划分属性,候选划分属性中找出信息增益高于平均水平的属性(这样保证了大部分好的的特征),再从中选择增益率最高的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值