决策树是一个基于大量数据构造的树形流程图结构。
另外需要引入信息熵的概念。
比如:世界杯预测夺冠球队,一共32支,如果对各个球队没有了解,通过问问题缩小猜测范围的话,用二分法是比较快的。第一次猜1-16,然后逐次减半,最后剩一支球队即为答案。这种方法的最大猜测次数是对n取2的对数(+1),6次。很明显,随着待选球队的减少,我们对预测结果越来越确定,这就是信息熵的性质:
信息量的度量等于不确定性的大小
反过来说,信息量为1的时候,不确定性是最小的(可以完全确定)。
如果我们知道每支球队的获胜概率P(X)时,我们不必用一般二分法进行猜测,根据信息熵定义:(单位为bit)
这样少于6次的猜测便可得出结果。
决策树归纳算法:
ID3 基于信息获取量(此外还有C4.5,CART)
决策树构造的根本问题是如何选取属性节点,根据上面介绍的信息熵的原理。我们通过“信息获取量”的概念来对属性进行选取。
信息获取量(也叫信息增益):Gain(A)=Info(D)-Info_A(D)
其中Info(D)指的是没有考虑A属性时的信息获取量,Info_A(D)是考虑A属性之后的信息获取量,所有的信息获取量都在0-1之间。
在选取属性节点时,通过计算每一个属性对应的信息获取量来确定树形分叉依据:选取信息获取量数值最大的属性,然后以此划分样本,对每一个样本重复此过程,直到结果中不存在分歧(或者在一定纯度范围内即可接受)。
PS:
1.所有的属性必须可分类,连续值要分段
(所以对于取连续值的属性,需要不断调整分段设置)
2.停止条件:
- 所有的样本都属于同一类
- 没有剩余属性用来继续划分,这时用多数表决法
- 若存在过度拟合的情况,适当剪枝。