原理

基础概念

决策树属于判别模型。

决策树算法属于监督学习方法。

决策树是一种树状结构,通过做出一系列决策(选择)来对数据进行划分,这类似于针对一系列问题进行选择。

决策树的决策过程就是从根节点开始,测试待分类项中对应的特征属性,并按照其值选择输出分支,直到叶子节点,将叶子节点的存放的类别作为决策结果。

决策树算法是一种归纳分类算法,它通过对训练集的学习,挖掘出有用的规则,用于对新数据进行预测。

决策树归纳的基本算法是贪心算法,自顶向下来构建决策树。

在决策树的生成过程中,分割方法即属性选择的度量是关键。

08c0588bb7c14b4794c1c7f8e069cf86.png 

决策树分类 

分类树:分类树的目标变量是确定的,分类的。分类树被用来去预测不同的类别。图1就是一个简单的分类树的例子,我们的目标预测为是否选择作为男朋友。分类树不局限于二元分类,多元分类也是可行的。

回归树:回归树就是当目标变量是数值的时候。举一个例子,比如你想预测一个房子的卖价,这就是一个连续的数值变量。 

决策树的特点

优点

推理过程容易理解,计算简单,可解释性强。

比较适合处理有缺失属性的样本。

可自动忽略目标变量没有贡献的属性变量,也为判断属性变量的重要性,减少变量的数目提供参考。

缺点

容易造成过拟合,需要采用剪枝操作。

忽略了数据之间的相关性。

对于各类别样本数量不一致的数据,信息增益会偏向于那些更多数值的特征。

决策树的三种基本类型 

e07e92ce711342b8b1b844eb185aeef7.png 

ID3算法

基础概念

ID3 算法是以信息论为基础,以信息增益为衡量标准,从而实现对数据的归纳分类。

在信息论中,期望信息越小(熵),那么信息增益就越大,从而纯度就越高。ID3算法的核心思想就是以信息增益来度量属性的选择,选择分裂后信息增益最大的属性进行分裂。该算法采用自顶向下的贪婪搜索遍历可能的决策空间; 在信息增益中,重要性的衡量标准就是看特征能够为分类系统带来多少信息,带来的信息越多,该特征越重要。

ID3算法的做法是每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来切分。

算法步骤 

其大致步骤为:

1.初始化特征集合和数据集合。

2.计算数据集合信息熵和所有特征的条件熵,选择信息增益最大的特征作为当前决策节点。

3.更新数据集合和特征集合(删除上一步使用的特征,并按照特征值来划分不同分支的数据集合)。

4.重复 2,3 两步,若子集值包含单一特征,则为分支叶子节点。

信息熵

ID3算法使用信息增益为准则来选择划分属性,"信息熵"是度量样本结合纯度的常用指标,集合信息的度量方式称为香农熵或者简称为熵,这个名字来源于信息论之父克劳德·香农。熵定义为信息的期望值。在信息论与概率统计中,熵是表示随机变量不确定性的度量。在明确熵的概念之前,我们需要知道信息的定义,如果待分类的事物可能划分在多个分类之中,则符号的信息定义为 :eq?l%28x_%7B_i%7B%7D%7D%29%3D-%5Clog_%7B2%7Dp%28x_%7B_i%7B%7D%7D%29。其中eq?p%28x_%7Bi_%7B%7D%7D%29是选择该分类的概率。

通过上式,我们可以得到所有类别的信息。香农用信息熵的概念来描述信息源的不确定程度。信息熵越大,不纯度越高,即不确定性越大;信息熵越小,纯度越高。

信息熵的公式如下:eq?H%28X%29%3D-%20%5Csum_%7Bi%3D1%7D%5E%7Bn%7DP%28x_%7Bi_%7B%7D%7D%29%5Clog%20P%28x_%7Bi_%7B%7D%7D%29。需要注意的是:熵只依赖于X的分布,而与X的取值无关。在分类任务中,eq?P%28x_%7Bi_%7B%7D%7D%29表示分类的类型所占的比例。

进一步理解,根据公式eq?H%28X%29%3D-%20%5Csum_%7Bi%3D1%7D%5E%7Bn%7DP%28x_%7Bi_%7B%7D%7D%29%5Clog%20P%28x_%7Bi_%7B%7D%7D%29,假如是 2 分类问题,当 A 类和 B 类各占 50% 的时候,可算得结果为1。当只有 A 类,或只有 B 类的时候,结果为0。所以当信息熵最大为1的时候,是分类效果最差的状态,当它最小为0的时候,是完全分类的状态。

f4eab5473ae040f8bf7d280d52ab5c9d.png

条件熵

原概念

H(Y|X)表示在已知随机变量 X 的条件下随机变量 Y 的不确定性。

条件熵 H(Y|X)定义为 X 给定条件下 Y 的条件概率分布的熵对 X 的数学期望:eq?H%28Y%7CX%29%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7Dp_%7Bi%7DH%28Y%7CX%3Dx_%7Bi%7D%29  eq?p_%7Bi%7D%3DP%28X%3Dx_%7Bi%7D%29%2Ci%3D1%2C2%2C...%2Cn

在ID3算法中的条件熵

eq?H%28D%7CA%29%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%5Cfrac%7B%7CD_%7Bi%7D%7C%7D%7B%7CD%7C%7DH%28D_%7Bi%7D%29   eq?H%28D_%7Bi%7D%29%3D%5Csum_%7Bk%3D1%7D%5E%7BK%7D%5Cfrac%7B%7CC_%7Bk%7D%7C%7D%7B%7CD_%7Bi%7D%7C%7D%5Clog_%7B2%7D%5Cfrac%7B%7CC_%7Bk%7D%7C%7D%7B%7CD_%7Bi%7D%7C%7D 

A是特征,i是特征取值, eq?H%28D_%7Bi%7D%29是为当取第i个特征时分类的信息熵 

391c0f0bd793455e808170f90c079a97.png

信息增益

信息熵:表示随机变量的不确定性。 条件熵:在一个条件下,随机变量的不确定性。信息增益代表了在一个条件下,信息复杂度(不确定性)减少的程度。信息增益是相对于特征而言的。

信息增益:信息熵 - 条件熵。表示在一个条件下,信息不确定性减少的程度。 如果选择一个特征后,信息增益最大(信息不确定性减少的程度最大),那么我们就选取这个特征。即表示由于该特征使得对数据集的分类的不确定性减少的程度。

信息增益偏向取值较多的特征。即当特征的取值较多时,根据此特征划分更容易得到纯度更高的子集,因此划分之后的熵更低,由于划分前的熵是一定的,因此信息增益更大,因此信息增益偏向取值较多的特征。

信息增益越大,表示使用该属性划分样本集D的效果越好,因此ID3算法在递归过程中,每次选择最大信息增益的属性作为当前的划分属性。

ID3算法缺点

  1. 缺点 ID3 没有剪枝策略,容易过拟合;

  2. 信息增益准则对可取值数目较多的特征有所偏好,因为更多取值情况代表了树要分裂非常多的叶子结点,并且每个叶子结点上的样本数很少,越小的数据自己其"纯度"显然越容易高,导致了信息增益会很大;

  3. 只能用于处理离散分布的特征并且只能处理分类问题;

  4. 没有考虑缺失值;

  5. 训练决策树通常是很耗时间的,因为熵计算比较耗时。

 

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部