一、模型
分类决策树模型是一种基于特征对实例进行分类的树形结构。决策树由结点和有向边组成。结点有内部结点和叶结点两种类型,内部结点表示一个特征或属性,叶结点表示一个类。
可以将决策树看成一个if-then规则的集合。由决策树的根节点到叶结点的每一条路径构建一条规则;路径上内部结点的特征对应着规则的条件,而叶结点的类对应着规则的结论。
也可以将决策树看作是定义在特征空间划分上的类的条件概率分布。将特征空间划分为互不相交的单元,决策树的一条路径对应于划分中的一个单元,决策树所表示的条件概率分布由各个单元给定条件下类的条件概率分布组成。
二、策略
损失函数最小化/正则化的极大似然估计
三、算法
决策树学习的本质是从训练数据集中归纳出一组分类规则,旨在构建一个与训练数据拟合很好,并且复杂度小的决策树。
决策树学习步骤包括特征选择、决策树的生成和决策树的修建,常用算法有ID3、C4.5与CART。
ID3算法用信息增益来选择特征,相当于用极大似然法进行概率模型的选择,该算法只有树的生成,所以生成的树容易产生过拟合。
C4.5算法与ID3算法相似,进行了部分改进,在生成过程中用信息增益比来选择特征。
ID3算法(算法5.2)与C4.5算法(算法5.3)需通过剪枝算法(算法5.4)对已生成的决策树进行简化,解决过拟合问题。
CART(classification and regression tree,分类与回归树)是应用广泛的决策树学习方法,即可用于分类也可用于回归。CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,等价于递归地二分每个特征,将特征空间划分为有限个单元,并在这些单元上确定预测的概率分布。
CART算法由以下两步组成:
(1)决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大;
(2)决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。
通过CART算法生成决策树就是递归地构建二叉决策树的过程。对回归树用平方误差最小化准则(算法5.5),对分类树用基尼指数最小化准则(算法5.6),进行特征选择,生成二叉树。
CART剪枝算法(算法5.7)由两步组成:
(1)从生成算法产生的决策树 T 0 T_0 T0底端开始不断剪枝,直到 T 0 T_0 T0的根结点,形成一个子树序列;
(2)通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。
(一)特征选择
选取对训练数据具有分类能力的特征,使用信息增益最大、信息增益比最大或基尼指数最小作为特征选择的准则。
信息增益
熵:表示随机变量不确定性的度量。熵越大,随机变量的不确定性就越大。
设X是一个离散随机变量,其概率分布为 P ( X = x i ) = p i , i = 1 , 2 , . . . , n ; P(X=x_i)=p_i,i=1,2,...,n; P(X=xi)=pi,i=1,2,...,n;则随机变量X的熵定义为 H ( X ) = − ∑ i = 1 n p i l o g p i H(X)=-\sum\limits_{i=1}^np_ilogp_i H(X)=−i=1∑npilogpi,其中的对数以2为底或以e为底。由定义可知,熵只依赖于X的概率分布,而与X的取值无关,所以也可将X的熵记作 H ( p ) H(p) H(p),即 H ( p ) = − ∑ i = 1 n p i l o g p i H(p)=-\sum\limits_{i=1}^np_ilogp_i H(p)=−i=1∑npilogpi
条件熵:表示在已知随机变量X的条件下随机变量Y的不确定性。 H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)=\sum\limits_{i=1}^np_iH(Y|X=x_i) H(Y∣X)=i=1∑npiH(Y∣X=xi)
信息增益ÿ