日常生活中,当我们要搞清楚某件事时,这件事情的不确定性越大,我们需要了解的信息就越多。
在信息量或概率统计中,用熵度量随机变量的不确定性。熵值越大,随机的不确定性就越大。
如果一个随机变量 Y 的可能取值为 Y={c1,c2,...ck},其概率分布为 P(Y=ci)=pi,i=1,2,...K。则随机变量 Y 的熵的定义为 H(Y),即 H(Y)=−i=1∑Kpilogpi log为以 2 或者 e 为底的对数。
信息增益
随机变量 Y 的熵 H(Y) 与 条件 Y 条件熵 H(Y∣X) 之差就是信息增益。记为 g(Y,X),即 g(Y,X)=H(Y)−H(Y∣X)
实际上,熵与条件熵的差也称为互信息。信息增益依赖于特征,不同特征往往具有不同的信息增益,信息增益大的特征具有较强的分类能力。
信息增益比
用信息增益作为划分训练集特征的标准时,有一个潜在的问题,那就是相比之下其会强相遇选择类别取值较多的特征。因此人们提出使用信息增益比来对这一问题进行校正。
特征 X 对训练集的信息增益比定义为特征 X 的信息增益 g(Y,X) 与特征 X 的取值的熵 H(X) 的比值,记为 gR(Y,X),即 gR(Y,X)=H(X)g(Y,X)
基尼系数
基尼系数可以用来度量任何不均匀分布,且介于 0-1 之间的数(0指完全相等,1指完全不相等)。分类度量时,总体包含的类别越杂乱,基尼系数越大(与熵的概念类似)。
基尼系数主要用来独立数据集的不纯度。基尼指数越小,表明样本只属于同一类的概率越高,即样本的纯净度越高。在计算出数据集某个特征有取值的基尼指数后,就可以得到利用该特征进行样本划分产生的基尼指数的增加值;决策树模型在生成的过程中就是递归选择 GiniGain 最小的结点作为分叉点,直至子数据集都属于同一类或者所有特征用光。
在分类问题中,假设有 K 个类别 c1,c2,...,ck,样本点属于第 k 类的概率为 pk,则该概率分布的基尼系数定义为 Gini(p)=k=1∑Kpk⋅(1−pk)=1−i=1∑Kpk2
对于给定的样本的集合 D,其基尼系数为 Gini(D)=1−k=1∑K(∣D∣∣ck∣)2
式中,ck 是 D 属于第 k 类的样本的子集,K是类别的个数。
如果样本 D 根据特征 A 的某个值 a,把 D 分为 D1 和 D2 两部分,则在特特征 A 的条件下,D 的基尼系数表达式为 Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)
决策树的生成
CART决策树
CART分类树
CART分类树的生成过程以基尼系数最小准则来选择特征。
输入:假设训练集数据集 D 包含 M 个样本;样本一共含 K 个类别,类别集合为 C;每个样本含有 N 个特征,特征集合为 F。
输出:CART分类树 T。
步骤如下:
第1步:如果训练集 D 中的 M 个样本已经属于同一类别,则直接返回单节点树 T,并将该唯一类 Ck 作为该节点的类别。
第2步:否则,分别计算特征集合 F 中 N 个特征下面各个切分点的基尼系数,选择基尼系数最小的划分点将训练集 D 划分为 D1 和 D2 两个子集,分别对应二叉树的两个子节点上。