机器学习之决策树

前言

参考大佬文章后写的一篇关于决策树的学习笔记。

决策树(Decision tree)

简介:决策树是机器学习中一种基本的分类和回归算法,是依托于策略抉择而建立起来的树。其主要优点是模型具有可读性,分类速度快,易于理解。

思想来源:主要来源于Quinlan在1986年提出的ID3算法和1993年提出的C4.5算法,以及有Breiman等人在1984年提出的CART算法。

直观定义

简单来说就是带有判决规则(if-then)的一种树,可以依据树中的判决规则来预测未知样本的类别和值。(如:分类结果的‘是’,‘否’)

数学定义:决策树是一个属性结构的预测模型,代表对象属性和对象值之间的一种映射关系。由节点(node)和有向边(directed edge)组成,其节点有两种类型:内节点(internal node)和叶节点(leaf node),内部节点表示一个特征或属性(判断条件),叶节点表示一个类。

本质:是从训练集中归纳出一组分类规则,得到与数据集矛盾较小的决策树,同时具有很好的泛化能力。

决策树的损失函数一般是正则化的极大似然函数,通常采用启发式方法,近似求解这一最优化问题。

决策树学习算法:特征选择、决策树生成与决策树的剪枝。

关于决策树的理解

决策树表示的是一个条件概率分布,所以深浅不同的决策树对应着不同复杂程度的概率模型。决策树的生成对应着模型的局部选择(局部最优),决策树的剪枝对应着全局选择(全局最优)。

决策树常用算法

ID3,C4.5,CART

一些定义

奥卡姆剃刀定律(Occam’s Razor, Ockham’sRazor):即“简单有效原理”。对于决策树的构建也是如此,越是小型的决策树越是有性能优势。

信息熵H(X),熵的定义如下:

在这里插入图片描述
(X:该事件取的有限个值的离散随机变量。pi :每个随机变量在整个事件中的概率。)

熵的大小就表明了随机变量的不确定性。熵越大越不稳定,越小越稳定。

条件熵H(Y|X): 表示在已知随机变量XX 的条件下随机变量YY的不确定性,定义为:

在这里插入图片描述
(pi=P(X=xi), 即变量中xi 的概率。H(Y|X=xi)是X=xi时Y 的熵,即Y 的不确定度。)

信息增益g(Y,X): 表示已知特征X的信息而使得类别Y的信息不确定性减少的程度,定义为:

在这里插入图片描述
(其中H(Y)为样本类别Y的经验熵,H(Y|X) 为经验条件熵。)
在ID3算法中,特征选取就是依据此种方式,但弊端很大。

信息增益比gR(Y,X):(信息增益率类似于归一化处理,不同之处归一化所用的信息是“分裂信息值”)用信息熵来定义每个特征的熵,则最终的信息增益为:

在这里插入图片描述
信息熵H(X)很大,会使整个信息增益比变小。在C4.5中使用。

基尼指数:在分类问题中,假设有KK个类,样本点属于第KK的概率为pkpk,则概率分布的基尼指数为:

在这里插入图片描述

ID3算法

流程:
在这里插入图片描述
在ID3算法中,通过信息增益来选取相应的特征。
过程:
1.计算每个特征对样本类别的信息增益。
2.比较各特征的信息增益值,信息增益值最大时作为最优特征,选取分类树。
3.继续计算每个特征在此表上的增益,直到所有样本完全分开就能得到一个适应样本集的决策树。

缺点:ID3算法只有树的生成,没有树的剪枝,所以容易产生过拟合现象。

C4.5算法

说明:C4.5算法与ID3算法在整体流程上很相似,不同之处在于特征选择用的是信息增益,然后最后有剪枝的过程。

CART算法

过程:
1.决策树生成:与ID3算法在整体流程上很相似,不同之处在于特征选择用的是信息增益。
2.决策树的剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,此时用损失函数最小作为剪枝的标准。

说明:CART算法可以用于回归,即建立回归树。在终于分类时,其算法流程与ID3较为类似,不同的是特征选取,选择的是最小基尼指数。

决策树剪枝

目的:了简化模型的复杂度,使模型的泛化能力更强,需要对已生成的决策树进行剪枝。 (决策树生成算法是递归地生成决策树,不能终止。这样产生的决策树往往分类精细,对训练数据集分类准确,但是对未知数据集却没有那么准确,有比较严重的过拟合问题。)

整体损失函数

剪枝的过程是通过极小化决策树整体损失函数来实现的。
设树的叶节点数为|T|,t 是树T 的叶节点,该叶节点上有Nt 个样本点,其中属于k 类的样本点有Ntk个,Ht(T) 为叶节点的经验熵,α≥0 为参数。
整体损失函数为:

在这里插入图片描述
其中 经验熵为:

在这里插入图片描述
则第一式可以表示为:

在这里插入图片描述
在这里插入图片描述
C(T): 表示模型对训练数据的预测误差。
|T|:表示模型的复杂度。
参数α≥0: 控制两者之间的影响,当αα较大时,促使模型变得简单,α=0 时表示模型损失函数只与训练数据集拟合程度相关,与模型复杂度无关。

说明:剪枝即 在α确定时,选择损失函数最小的决策树。
当α确定时,子树越大,模型复杂度越高,往往与训练数据拟合越好,但是在未知数据集上表现可能会较差;相反,子树越小,模型复杂度越低,训练数据拟合不好,但是泛化能力好。

结束
感谢阅读!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值