决策树与熵
一.熵
自然界中的熵:
自封闭系统的运动总是倒向均匀分布:
1.自信息:
信息: i(x) = -log(p(x))
a.如果说概率p是对确定性的度量
b.那么信息就是对不确定性的度量
c.当一个小概率事件发生了,这个事件的信息量很大;反之如果一个大概率事件发生了,这个事件的信息量就很少。
2.熵:自信息的期望
熵是对平均不确定性的度量.
熵的理解:熵其实定义了一个函数(概率分布函数)到一个值(信息熵)的映射:P(x)->H(函数->值)
3.联合熵和条件熵
a.联合熵:两个随机变量X,Y的联合分布,可以形成联合熵Joint Entropy,用H(X,Y)表示。
b.条件熵:在随机变量X发生的前提下,随机变量Y发生所新带来的熵定义为Y的条件熵,用H(Y|X)表示,用来衡量在已知随机变量X的条件下随机变量Y的不确定性, 用H(X|Y)表示
4.相对熵
相对熵,又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度等,设p(x)、q(x)是X中取值的两个概率分布,则p对q的相对熵是:
在一定程度上,相对熵可以度量两个随机变量的“距离”
5.互信息
两个随机变量X,Y的互信息定义为X,Y的联合分布和各自独立分布乘积的相对熵,用I(X,Y)表示:
性质:
I(x,y)>>0:x和y关联强度大
I(x,y)=0:x和y无关
I(x,y)<<0:x和y具有互补的分布
6.各个熵之间的关系
7.信息增益和熵的关系
a.信息增益是针对一个一个的特征而言的,就是看一个特征t,系统有它和没它的时候信息量各是多少,两者的差值就是这个特征给系统带来的信息量,即增益。
b.系统含有特征t的时候信息量很好计算,就是刚才的式子,它表示的是包含所有特征时系统的信息量。
8.信息论与机器学习的关系
二.决策树
决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类。每个决策树可以依靠对源数据库的分割进行数据测试。这个过程可以递归式的对树进行修剪。
例如: 天气情况对顾客打球的预测
历史打球数据:
决策树模型就被建起来用于解决问题。
决策树是一个有向无环图。根结点代表所有数据。分类树算法可以通过变量outlook,找出最好地解释非独立变量play(打高尔夫的人)的方法。变量outlook的范畴被划分为以下三个组:
晴天,多云天和雨天。
我们得出第一个结论:如果天气是多云,人们总是选择玩高尔夫,而只有少数很着迷的甚至在雨天也会玩。
接下来我们把晴天组的分为两部分,我们发现顾客不喜欢湿度高于70%的天气。最终我们还发现,如果雨天还有风的话,就不会有人打了。
决策树算法:
熵:自信息的期望
经验熵:
信息增益:定义:特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差:
g(D,A)=H(D) – H(D|A)
信息增益表示得知特征A的信息而使得类X的信息的不确定性减少(就是确定性的增加)的程度。
决策树的建立:
基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零, 需要遍历所有特征,选择信息增益最大的特征作为当前的分裂特征,一个特征的信息增益越大,表明属性对样本的熵减少的能力更强,这个属性使得数据由不确定性变成确定性的能力越强。
主要有三种算法,区别在于算分裂特征的度量不同
1.ID3:(分类树)
信息增益:g(D,A)=H(D) – H(D|A)
2.C4.5:(分类树)
信息增益率: g(D,A) = g(D,A) / H(A)
3.CART:(分类树和回归树)
基尼指数:
决策树剪枝:
作用:防止过拟合
决策树的优点与缺点:
优点: 1.决策树易于理解和实现.人们在通过解释后都有能力去理解决策树所表达的意义。
2.对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
3.能够同时处理数据型和常规型属性。其他的技术往往要求数据属性的单一。
4.是一个白盒模型如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。
5.易于通过静态测试来对模型进行评测。表示有可能测量该模型的可信度。
6.在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
缺点:对于那些各类别样本数量不一致的数据,在决策树当中信息增益的结果偏向于那些具有更多数值的特征。