决策树是机器学习中很经典也很直观的算法。本文介绍决策树的基本思路和原理。
引言
决策树(Decision Tree)是一种基本的分类与回归算法。决策树是一种树形结构,这在计算机中的数据结构中很常见,也很容易理解:我们选择一种属性对其进行划分,通过其属性的取值不同划分节点,直到最后属性完全相同或不能继续划分为止。
因此,其学习的关键在于如何选择最优划分属性。这也是我们接下来要重点介绍的。
然而,决策树也可以认为给定特征分类下条件概率分布的一种表示。该条件分布定义在特征空间的划分上:特征空间被划分成不相交的单元,每个单元定义一个类的概率分布就构成了条件概率分布。
相比朴素贝叶斯分类,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决策树更加适用。
决策树基本流程
可将决策树算法概括为:
- 特征选择
- 决策树生成
- 预(后)剪枝
其中特征选择是我们最为关注的。常见的特征选择算法有ID3、C4.5、CART
算法,下面会依次介绍。
信息论基础
不加说明的,我们找来信息论中的熵来定义决策树的决策选择度量。
信息熵
熵度量了事物的不确定性,越不确定的事物,它的熵就越大。定义在当前样本集合 D D 中,取值为 的样本所占的比例为 pi p i , S S 为对应的分类类别,因此可得:
定义 D D 的熵为:
可验证,当 Pk=0或Pk=1 P k = 0 或 P k = 1 时 Ent(D) E n t ( D ) 最小,当 Pk=1S P k = 1 S 时值最大。
信息增益
以上是在样本集合 D D 上的熵,我们想要知道如何选择属性能使得划分结果熵越小(也就是纯度越高)。
因此我们对于样本的每一个属性 ,设此属性有 T T 种不同的取值,计算其信息增益(information gain):