机器学习入门学习笔记(三)决策树

一、基本流程

决策树(decision tree)是一类常见的机器学习方法。它是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。

决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程道循简单且直观的“分而治之”(divide-and-conquer)策略。

1.1 决策树的结构

一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点。
根结点:包含样本全集;
内部结点:对应一个“子决策”,其包含的样本集合 根据属性测试的结果被划分到子结点中;
叶结点:对应于决策结果,其他每个结点则对应于一个属性测试;
从根结点到每个叶结点的路径对应了一个判定测试序列。
在这里插入图片描述

1.2 算法流程

显然,决策树的生成是一个递归过程。
它的三种递归返回情形:
1、当前结点包含的样本全属于同一类别,无需划分;
2、当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;
3、当前结点包含的样本集合为空,不能划分。
在第 2 和 第 3 种情形下,我们把当前结点标记为叶结点。
在这里插入图片描述

二、划分选择

决策树学习的关键是 如何选择最优划分属性

目标:随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。

2.1 信息增益(ID3算法)

“信息熵”(information entropy) 是度量样本集合纯度最常用的一种指标。
假定 当前样本集合D 中第 k 类样本所占的比例(或称为概率)为 pk ( k=1,2,…,|y| ),则D的信息熵定义为:
在这里插入图片描述
Ent(D)的值越小,则D的纯度越高。

某个离散属性 a 有 V 个可能的取值 {a1,a2,…,aV},若使用 a 来对样本集 D 进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dv

我们可根据式(4.1)计算出Dv 的信息熵,再考虑到不同的分支结点所包含的样本数不同,给分支结点赋予权重|Dv|/|D|,即样本数越多的分支结点的影响越大,于是可计算出用属性a对样本集D进行划分所获得的“信息增益”(information gain):
在这里插入图片描述
信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。因此,我们可用信息增益来进行决策树的划分属性选择,即在图4.2算法第8行选择属性a* 为Gain(D,a)最大的。著名的ID3决策树学习算法就是以信息增益为准则来选择划分属性。

例子

以下表西瓜数据集为例,该数据集包含17个训练样例。
在这里插入图片描述
在决策树学习开始时,根结点包含D中的所有样例,其中正例占p1= 8/17,反例占p2= 9/17,根据式(4.1)可计算出根结点的信息熵为:
在这里插入图片描述
先考察 属性“色泽”,它有3个可能的取值 { 青绿,乌黑,浅白}若使用该属性对 D 进行划分,则可得到3个子集,分别记为:D1(色泽=青绿),D2(色泽=乌黑),D3(色泽=浅白)。

D1包含编号为 {1,4,6,10,13,17} 的 6个样例,其中正、反例分别占 p1= 3/6,p2= 3/6。
D2包含编号为 {2,3,7, 8, 9,15}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值