《统计学习方法》--决策树
Posted 兜里有糖心里不慌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《统计学习方法》--决策树相关的知识,希望对你有一定的参考价值。
《统计学习方法》第五章–决策树
决策树概述
决策树模型呈树形结构,在分类过程中表示基于特征对实例进行分类的过程。决策树模型可以视为if-then规则的集合,也可以视为是定义在特征空间与类别空间上的条件改了分布。主要优点是模型具有很好的可解释性,分类速度快,缺点是构建决策树时用的特征序列对分类效果有较大的影响。决策树学习过程通常包括三个步骤:特征选择,决策树的生成,决策树的修剪
决策树模型
分类决策树模型是一种描述对实例进行分类的树形结构。决策树由节点和有向边组成。节点包括两种类型:内部节点和叶节点。内部节点表示一个特征或属性,叶节点表示一个类。
决策树学习的本质是从给定的训练数据集中依据属性或特征归纳出一组分类规则。与给定的训练数据集相符合的分类规则可能有多个,决策树模型就是需要从多个符合的分类规则中找到损失最小的,泛化能力最好的一组分类规则。决策树常用的损失函数是正则化的极大似然函数,决策树的学习策略是以损失函数为目标函数的最小化。由于所有可能的决策树组成的解空间较大,从中找到最优的决策树是NP完全问题,因此一般多采用启发式算法来近似求解。
决策树学习的算法通常是一个递归的选择最优特征的过程。从可选的特征集合中选出最优的特征(即依据该特征能最有效的将训练数据集分类),按照这一特征将数据集分割成子集,该特征作为这些子集的根节点。如果这些子集已经基本可以正确分类,那么构建叶节点,并将这些子集分到所对应的的叶节点中去。如果还有子集不能被正确分类,那么对这些子集选取新的最优特征,继续对其进行分割,直至所有训练数据都被正确分类。至此就构建出来一颗决策树。
通过上述步骤构建的决策树可以对训练数据集进行很好的分类,但是并不一定有很好的泛化能力,即可能发生过拟合现象。为了增强其泛化能力,我们需要对构建好的决策树进行自底向上的剪枝,即将树变得更简单一点。通过去掉决策树中过于细分的叶节点,使其回退到父节点甚至更高节点,用父节点或更高节点作为新的叶节点。
特征选择
特征选择在于选取对训练数据具有良好分类能力的特征,这样可以提高决策树的学习效率。通常特征选择的准则是信息增益或信息增益比。
熵
在信息论和概率统计中,熵是表示随机变量不确定性的度量。设 X X X是一个取有限个值得离散随机变量,其概率分布为: P ( X = x i ) = p i , i = 1 , 2 , 3... , n P(X=x_i)=p_i, i=1,2,3...,n P(X=xi)=pi,i=1,2,3...,n,则随机变量 X X X的熵定义为: H ( X ) = − ∑ i = 1 n p i log p i H(X)=-\\sum_i=1^np_i\\log p_i H(X)=−i=1∑npilogpi或(从定义可知和X的取值无关,只和其分布有关) H ( p ) = − ∑ i = 1 n p i log p i H(p)=-\\sum_i=1^np_i\\log p_i H(p)=−i=1∑npilogpi熵有两种单位:(1)当公式中的对数以2为底时,单位为比特(bit);(2)当公式中的对数以e为底时,单位为纳特(nat)。熵越大,随机变量的不确定性就越大。
条件熵
设有随机变量 ( X , Y ) (X,Y) (X,Y)其联合概率分布为: P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , . . . n , j = 1 , 2 , . . . m P(X=x_i,Y=y_j)=p_ij,i=1,2,...n,j=1,2,...m P(X=xi,Y=yj)=pij,i=1,2,...n,j=1,2,...m条件熵 H ( Y ∣ X ) H(Y|X) H(Y∣X)表示在已知随机变量 X X X的条件下随机变量 Y Y Y的不确定性,定义为 X X X给定条件下 Y Y Y的条件概率分布的熵对 X X X的数学期望: H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)=\\sum_i=1^np_iH(Y|X=x_i) H(Y∣X)=i=1∑npiH(Y∣X=xi) p i = P ( X = x i ) , i = 1 , 2 , . . . , n p_i=P(X=x_i),i=1,2,...,n pi=P(X=xi),i=1,2,...,n
经验熵和经验条件熵
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,对应的熵与条件熵分别称为经验熵和经验条件熵若有概率为0的,则令 0 log 0 = 0 0\\log0=0 0log0=0
信息增益(互信息)
信息增益(也称为互信息)表示得知特征 X X X的信息后特征 Y Y Y的信息不确定性减少的程度,反应了特征 X X X对于其他特征不确定性的影响程度。
特征 A A A对训练数据集 D D D的信息增益 g ( D , A ) g(D,A) g(D,A)定义为集合 D D D的经验熵 H ( D ) H(D) H(D)与特征 A A A在给定条件下 D D D的经验条件熵 H ( D ∣ A ) H(D|A) H(D∣A)之差,即 g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)−H(D∣A)
信息增益大的特征具有更强的分类能力(即表示在已知该特征的情况下,整个集合的不确定降低最多)
信息增益比
以信息增益作为选择特征的准则,存在偏向于选择取值较多的特征的问题。即当一个特征可能的取值较多时,其计算出来的信息增益可能会较高,但是并不一定就一定是一个更有效的分类特征。采用信息增益比可以对这一问题进行校正,这是特征选择的另一准则。
特征 A A A对训练数据集 D D D的信息增益比 g R ( D , A ) gR(D,A) gR(D,A)定义为其信息增益 g ( D , A ) g(D,A) g(D,A)与训练数据集 D D D关于特征 A A A的值的熵 H A ( D ) H_A(D) HA(D)之比,即: g R ( D , A ) = g ( D , A ) H A ( D ) gR(D,A)=\\fracg(D,A)H_A(D) gR(D,A)=HA(D)g(D,A),其中, H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ log 2 ∣ D i ∣ ∣ D ∣ , n H_A(D)=-\\sum_i=1^n\\frac|D_i||D|\\log_2\\frac|D_i||D|,n HA(D)=−∑i=1n∣D∣∣Di∣log2∣D∣∣Di∣,n是特征 A A A取值的个数
决策树生成
ID3算法(基于信息增益)
ID3算法的核心是在决策树各个节点上应用信息增益准则选择特征,递归的构建决策树。
输入:训练数据集 D D D,特征集 A A A阈值 ϵ \\epsilon ϵ
输出:决策树 T T T
(1)若 D D D中实例属于同一类 C k C_k Ck,则 T T T为单节点树。并将类 C k C_k Ck作为该节点的类标记,返回 T T T
以上是关于《统计学习方法》--决策树的主要内容,如果未能解决你的问题,请参考以下文章