决策树(Decision Tree)

简介

决策树顾名思义,它的决策过程会形成一个类似树形的结构;树上的叶子节点,对应样本的分类,其它内部节点可以看作是if-else的规则集合。决策树属于监督学习,可以处理分类问题和回归问题;通常决策树的学习需要三个步骤:特征选择、决策树生成和决策树修剪。

20世纪70、80年代,机器学习研究者J.Ross Quinlan提出了ID3决策树,后来又提出了C4.5决策树。1984年,几位统计学家提出了CART决策树。ID3和CART几乎同时被提出。

模型

分类决策树由节点和有向边组成,节点分为内部节点和叶子节点,内部节点表示特征,叶子节点表示分类。

当决策树工作时,从根节点开始,选取某个特征与该节点绑定,特征的取值作为其子节点,遍历该节点上的样本符合哪个特征取值,则将该样本分配到对应的子节点中;重复此过程,直至分配到叶子节点。

决策树的节点与有向边连接组成一条条路径,分配后的样本满足:每个样本被有且只有一条路径覆盖。

策略

给定一组数据集,可能训练出多棵能正确分类决策树,也可能一棵也没有;多棵决策树中,它们的预测能力有好有坏;所以我们不但要决策树能够正确对样本数据分类,还需要它能更好的预测新数据。

特征选择与修剪就是为了稳定决策树的预测能力。

特征选择

这里我们要引入两个概念来帮助我们进行特征选取:

1.熵表示随机变量不确定性的度量。

H(X)=-\sum_{i=1}^{n}{p_{i}logp_{i}}

对于随机变量Xp_{i}表示其概率分布。

进一步,D为训练数据集,|D|表示其数量;C_{k}表示类别,有K个,则:

H(D)=-\sum_{k=1}^{K}{\frac{|C_{k}|}{|D|}log_{2}\frac{|C_{k}|}{|D|}}

2.条件熵表示在已知随机变量X的条件下随机变量Y的不确定性。

H(Y|X)=\sum_{i=1}^{n}{p_{i}H(Y|X=x_{i})}

进一步,D为训练数据集,|D|表示其数量;C_{k}表示类别,有K个,特征A个数为n,数据集D按特征划分子集D_{i}(i=1,2,...,n),其中属于C_{k}类的集合为D_{ik},则:

H(D|A)=\sum_{i=1}^{n}{\frac{|D_{i}|}{|D|}H(D_{i})}=-\sum_{i=1}^{n}{\frac{|D_{i}|}{|D|}\sum_{k=1}^{K}{\frac{|D_{ik}|}{|D_{i}|}log_{2}\frac{|D_{ik}|}{|D_{i}|}}}

借由这两个概念,我们得到另两个信息度量:

1.信息增益表示某特征使分类不确定性减少的程度。

g(D,A)=H(D)-H(D|A)

D为训练集,A为某特征。

信息增益越大,确定性越强,分类能力越强。

2.信息增益比表示信息增益与关于特征熵的比值。

g_{R}(D,A)=\frac{g(D,A)}{H_{A}(D)}

同样D为训练集,A为某特征。

信息增益比可以解决信息增益偏向样本较多的特征的问题。

决策树修剪

不是所有树都有剪枝策略,以基础的3种树为例:ID3和C4.5没有,CART有。

决策树的一种修剪策略为极小化决策树的损失函数:

C_{\alpha}(T)=C(T)+\alpha\left| T \right|

缺失值

算法

以ID3为例:

  1. 通过信息增益选取特征,信息增益最大的特征作为跟节点。

  2. 该特征的取值作为子节点,子节点也要选取信息增益最大的特征,但要除去父节点的特征。

  3. 递归这个过程,直到没有剩余特征,或特征下的分类只有一类,则此节点作为叶子节点。

仿真

使用MathLabTool进行决策树仿真https://blog.youkuaiyun.com/xxyjskx1987/article/details/145689710

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值