《决策树入门教程》


1 数学基础
    1.1  概率论入门

    1.2  Bootstrap抽样方法

    1.3  对数的深刻认识

    1.4  信息与信息熵

    1.5  偏差与方差

    1.6  信息增益

    1.7  基尼不纯度

2 决策树基础知识
    2.1  决策树概述

    2.2  ID3算法简介

    2.3  C4.5算法简介

    2.4  CART算法简介

基尼不纯度

创建时间:2022-04-13 更新时间:2023-02-03 阅读次数:1850 次

提示:“基尼不纯度”不是一个专业术语,而是一种叫法,如同在西游记中,孙悟空有好几个叫法:大圣,弼马温,猴哥,大师兄,…等等,对于“基尼不纯度”而言,真正的专业术语是“基尼系数”。

基尼系数最早由意大利统计与社会学家Corrado Gini在1912年提出,基尼系数最早应用在经济学中,主要用来衡量收入分配公平度的指标,后来发展出多种计算基尼系数的方法,并应用在不同的领域,而在机器学习之决策树领域,则有自身特色的计算公式和应用目的,称之为“基尼不纯度”。

基尼不纯度的定义

基尼不纯度(Gini Impurity):从一个数据集中随机选取子项,度量其被错误的划分到其他组里的概率。简单的理解为:一个随机事件变成它的对立事件的概率,是度量此随机事件是否稳定的一个指标。

基尼不纯度的计算公式

设一随机事件$P$,$P_k$为$k$事件发生的概率,则此随机事件的基尼系数是:

$$Gini(p)=\sum\limits_{k=1}^Kp_k(1-p_k)=1-\sum\limits_{k=1}^Kp_k^2$$

在决策树中,此公式主要应用于分类问题中。假设有$K$个类,样本点属于第$k$类的概率为$P_k$,则可求出此概率分布的基尼系数,从而度量此随机事件是否稳定。

基尼不纯度的应用

基尼不纯度越小,纯度越高,集合的有序程度越高,分类的效果越好。基尼不纯度为 0 时,表示集合类别一致。基尼不纯度的大概意思是,一个随机事件变成它的对立事件的概率。

例如,一个随机事件$X$的概率分布为:

$$P(X=0) = 0.5,P(X=1)=0.5$$

那么基尼不纯度就为:

$$P(X=0) \times (1 - P(X=0)) + P(X=1) \times (1 - P(X=1)) = 0.5$$

一个随机事件$Y$的概率分布为:

$$P(Y=0) = 0.1,P(Y=1)=0.9$$

那么基尼不纯度就为:

$$P(Y=0) \times (1 - P(Y=0)) + P(Y=1) \times (1 - P(Y=1)) = 0.18$$

很明显$X$比$Y$更混乱,因为两个都为$0.5$,很难判断哪个发生。而$Y$就确定得多,$Y=0$发生的概率很大,而基尼不纯度也就越小。所以基尼不纯度也可以作为衡量系统混乱程度的标准。

基尼系数(不纯度)在决策树领域的应用

基尼系数最早由意大利统计与社会学家Corrado Gini在1912年提出,是用以衡量一个国家或地区居民收入差距的常用指标。

基尼系数最大为“1”,最小等于“0”。前者表示居民之间的收入分配绝对不平均,即100%的收入被一个单位的人全部占有了;而后者则表示居民之间的收入分配绝对平均,即人与人之间收入完全平等,没有任何差异。但这两种情况只是在理论上的绝对化形式,在实际生活中一般不会出现。因此,基尼系数的实际数值只能介于0~1之间,基尼系数越小收入分配越平均,基尼系数越大收入分配越不平均。国际上通常把0.4作为贫富差距的警戒线,大于这一数值容易出现社会动荡。

基尼系数最早应用在经济学中,主要用来衡量收入分配公平度的指标。在决策树CART算法中用基尼系数来衡量数据的不纯度或者不确定性,同时用基尼系数来决定类别变量的最优二分值的切分问题。

如果样本集合$D$根据某个特征A被分割为$D1$,$D2$两个部分,那么在特征A的条件下,集合$D$的基尼系数的定义为:

$$Gini(D)=1- \sum\limits_{k=1}^K (\frac{|C_k|}{|D|})^2$$

$$Gini(D,A)=\frac{|D_1|}{|D|}Gini(D_1)+\frac{|D_2|}{|D|}Gini(D_2)$$

其中,$|D|$表示数据集样本的数量,$|D_1|$和$|D_2|$则表示子集的样本数量。

$Gini(D,A)$表示特征$A$不同分组的数据集$D$的不确定性。$Gini$系数值越大,样本集合的不确定性也就越大,这一点与熵的概念比较类似。

基于以上的理论,我们可以通过$Gini$系数来确定某个特征的最优切分点,即只需要确保切分后某点的$Gini$系数值最小,这就是决策树CART算法中类别变量切分的关键所在。

本教程共11节,当前为第7节!
本教程最新修订时间为:2023-02-03 09:43:25