决策树(Decision Tree)是一种基本的分类与回归方法,本文主要讨论分类决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。相比朴素贝叶斯分类,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决策树更加适用。
4.1决策树理论
**定义:**分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部节点和叶节点,内部节点表示一个特征或属性,叶节点表示一个类。 分类的时候,从根节点开始,对实例的某一个特征进行测试,根据测试结果,将实例分配到其子结点;此时,每一个子结点对应着该特征的一个取值。如此递归向下移动,直至达到叶结点,最后将实例分配到叶结点的类中。
4.1.1决策树ID3算法的信息论基础
1948年,大牛 香农提出了 ”信息熵(entropy)“ 的概念:一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量信息,然而信息量的度量就等于不确定性的多少,这也是熵的来源。
在1970年代,一个叫昆兰(J.Ross. Quinlan)的大牛找到了用信息论中的熵来度量决策树的决策选择过程,方法一出,它的简洁和高效就引起了轰动,昆兰把这个算法叫做ID3。下面我们就看看ID3算法是怎么选择特征的。
首先,我们需要熟悉信息论中熵的概念。熵度量了事物的不确定性,越不确定的事物,它的熵就越大。
设
是一个取有限个值的离散随机变量,其概率分布为
随机变量
的熵的表达式如下:
其中
代表
的
种不同的离散取值。而
代表了
取值为
的概率,
为以
或者
为底的对数。当对数的底为
时,熵的单位为bit;为e时,单位为nat。
熵越大,随机变量的不确定性就越大。从定义可验证:
为了很好的理解熵的概念,举个例子吧,比如
有
个可能的取值,而这两个取值各为
时
的熵最大,此时
具有最大的不确定性。值为
如果一个值概率大于
,另一个值概率小于
,则不确定性减少,对应的熵也会减少。比如一个概率
,一个概率
,则对应熵为
则
熟悉了一个变量
的熵,很容易推广到多个个变量的联合熵,这里给出两个变量
和
的联合熵表达式:
有了联合熵,又可以得到条件熵的表达式
,条件熵类似于条件概率,它度量了我们的
在知道
以后剩下的不确定性。表达式如下:
度量了 的不确定性,条件熵 度量了我们在知道 以后 剩下的不确定性,那么 呢?从上面的描述大家可以看出,它度量了 在知道 以后不确定性减少程度,这个度量我们在信息论中称为互信息,记为 。在决策树ID3算法中叫做信息增益。ID3算法就是用信息增益来判断当前节点应该用什么特征来构建决策树。信息增益大,则越适合用来分类。
参考文献:
[1]《机器学习》周志华著
[2]《统计学习方法》李航著