机器学习——决策树和随机森林


决策树(decision tree)是一种基本的分类与回归方法,决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布,其主要优点是模型具有可读性,分类速度快。决策树学习通常包括三个步骤:特征选择,决策树的生成和决策树的修剪。而随机森林则是由多个决策树所构成的一种分类器,更准确的说,随机森林是由多个弱分类器组合形成的强分类器。

机器学习——决策树和随机森林

熵 (entropy) 这一词最初来源于热力学。1948年,克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也被称为香农熵 (Shannon entropy),信息熵 (information entropy)。

信息熵

信息是一个很抽象的概念,泛指人类社会传播的一切内容。引入“信息熵”概念是为了将信息量化。一条信息的信息量大小和它的不确定性有直接的关系,若要弄清楚一件非常不确定的事,就需要了解大量的信息。相反,若对某件事已经有了较多的了解,那么就不需要太多的信息就能把它搞清楚。所以,从这个角度我们可以认为,信息量的度量就等于不确定性的多少。
机器学习——决策树和随机森林
H(X)H(X)就被称为随机变量xx的熵,它是表示随机变量不确定的度量,是对所有可能发生的事件产生的信息量的期望。
随机变量的取值个数越多,状态数也就越多,信息熵就越大,混乱程度就越大。当随机分布为均匀分布时,熵最大。
将一维随机变量分布推广到多维随机变量分布,则其联合熵 (Joint entropy) 为:
机器学习——决策树和随机森林
1、熵只依赖于随机变量的分布,与随机变量取值无关,所以也可以将XX的熵记作H(p)H(p)
2、令0log0=0(因为某个取值概率可能为0)。

条件熵

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

H(YX)H(Y|X)定义为XX给定条件下YY的条件概率分布的熵对XX的数学期望:
机器学习——决策树和随机森林
条件熵H(YX)H(Y|X)相当于联合熵H(X,Y)H(X,Y)减去单独的熵H(X)H(X),即H(YX)=H(X,Y)H(X)H(Y|X)=H(X,Y)-H(X)
机器学习——决策树和随机森林
描述XXYY所需的信息是描述XX自己所需的信息,加上给定XX的条件下具体化YY所需的额外信息。
机器学习——决策树和随机森林

相对熵(KL散度)

p(x)q(x)p(x)、q(x)是离散随机变量XX中取值的两个概率分布,则ppqq的相对熵是:
机器学习——决策树和随机森林
性质
1、
如果p(x)p(x)q(x)q(x)两个分布相同,那么相对熵等于0;
2、
机器学习——决策树和随机森林
3、
机器学习——决策树和随机森林
相对熵可以用来衡量两个概率分布之间的差异,上面公式的意义就是求ppqq之间的对数差在pp上的期望值。

交叉熵

现在有关于样本集的两个概率分布p(x)p(x)q(x)q(x),其中p(x)p(x)为真实分布,q(x)q(x)为非真实分布。如果用一个样本的分布p(x)p(x)来衡量整体预测分布:
机器学习——决策树和随机森林
H(p)H(p)为常量时(在机器学习中,训练数据分布是固定的),最小化相对熵D(pq)D(p||q)等价于最小化交叉熵H(p,q)H(p,q)也等价于最大化似然估计。交叉熵可以用来计算学习模型分布与训练分布之间的差异,交叉熵广泛用于逻辑回归的Sigmoid和Softmax函数中作为损失函数使用。

决策树

决策树分类从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子节点。每一个子节点对应着该特征的一个取值。如此递归地对实例进行测试并分配,直至达到叶节点,最后将实例分配到叶节点的类中。

决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行划分。如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的。通常特征选择的准则是信息增益或信息增益比,特征选择的常用算法有ID3,C4.5,CART。

ID3 信息增益

当熵和条件熵中的概率由数据估计(特别是,极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。

信息增益表示得知特征A的信息而使得类X的信息的不确定性减少的程度。

特征AA对训练数据集D的信息增益g(D,A)g(D,A):定义为集合DD的经验熵H(D)H(D)与特征AA给定条件下DD的经验条件熵H(DA)H(D|A)之差,即:
机器学习——决策树和随机森林
遍历所有特征,对于特征AA:
1、计算特征AA对数据集DD的经验条件熵H(DA)H(D|A)
2、计算特征AA的信息增益:g(D,A)=H(D)H(DA)g(D,A)=H(D)-H(D|A)
3、选择信息增益最大的特征作为当前的分裂特征。

C4.5 信息增益率

为了避免ID3算法偏向于选择可取值数目较多的属性,定义了信息增益率。信息增益值的大小是相对于训练数据集而言的,并没有绝对意义。在分类为题困难时,也就是说在训练数据集的经验熵大的时候,信息增益值会偏大。反之,信息增益值会偏小。因此,使用信息增益比可以对这一问题进行校正,这是另一种特征选择算法,也即C4.5算法。

定义:特征AA对训练数据集DD的信息增益比gr(D,A)g_r(D, A)定义为其信息增益g(D,A)g(D, A)与训练集DD的经验熵之比:
机器学习——决策树和随机森林

CART树 基尼指数

ID3和C4.5都使用了大量的对数运算,计算量大。CART树是二叉树,因此每次选择最优属性后,再选择该属性的一个取值进行划分。用基尼指数选择最优特征,同时决定该特征的最优二值切分点。

定义:假设有K个类,样本点属于第k类的概率为pkp_k,则概率分布的基尼指数如下
机器学习——决策树和随机森林
对于给定的样本集合D,其基尼指数为:
机器学习——决策树和随机森林
一个特征的信息增益/基尼系数越大,表明特征对样本的熵减少的能力更强,这个特征使得数据由不确定性变成确定性的能力越强。

未完待续!