熵
了解决策树前一定要先了解熵,熵在信息论中表示随机变量不确定性的度量,用于描述随机变量的混乱度,熵的值越大表示该随机变量很混乱,熵值低表示该随机变量不混乱,可以很清晰的对其进行区分。所以我们在划分决策树的时候,就是尽力去找到能使得熵值很低的特征来对数据进行划分,以此作为决策树的划分准则。
到底什么是熵?
假设现在有32只队伍进入世界杯,但是你错过了直播,你去问其他人,那只队伍是冠军?但是他不要让你猜,猜一次一块钱,猜对为止。那么最省钱的方式是:先问:冠军球队在1-16号之间吗?如果猜对了,则继续问:是在1-8号之间吗?这就是一个二分的问题,这样去猜是最快的,而我们这样只需要猜五次就肯定能猜到了那只队伍是冠军了。所以这个问题值五块钱。
计算机中数据都是用“比特”(bit)来表示的,所以香农用bit来表示一个信息的信息量。一个比特是一位二进制数,一个字节是8个比特。比如上面的球队冠军问题信息量就是5比特,如果64个球队找冠军,那么信息量就是6比特,可以看出来,具体的计算如下
(log32=5;log64=6)。
这里又有一个问题,其实各个球队夺冠的概率是不一样的,像西班牙、巴西、德国、意大利夺冠的概率就比日本、南非、韩国大很多。所以其实在真正计算的时候,是可以加入一些先验信息的。那么当我们在猜球队的时候,可以把一些概率大的少数球队猜一组,概率小的猜一组,它的准确信息量应该是
其中
这里写图片描述分别是这32支球队夺冠的概率。香农把它称为“信息熵”,一般用符号H表示,单位是比特。当概率相同的时候就是5比特。对于任意一个随机变量X,它的熵定义:
这里写图片描述这里对数以2为底或者以e为底时熵的单位分别称为比特(bit)或纳特(nat)。
条件熵
H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵(conditional entropy)H(Y|X),定义为X给定条件下Y的条件概率分布的熵对X的数学期望
信息增益(ID3)
信息增益率(C4.5)
由于信息增益会偏向取值较多的特征(过拟合),解释:当特征A取值很多,则划分出的组数增多,使得H(D|A)减小,则信息增益增大。但是过于精细的划分,会使得分类失去意义。(比如按照身份证号给人分类,则每一个人都是一类)。
IV(a) 是特征 a 的熵。
增益率对特征值较少的特征有一定偏好,因此 C4.5C4.5 算法选择特征的方法是先从候选特征中选出信息增益高于平均水平的特征,再从这些特征中选择增益率最高的。
基尼指数(CART)