决策树(Decision Tree)决策树是一个类似于流程图的树结构;其中,每个内部结点表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶结点代表类或类分布。树的最顶层结点是根结点。一棵典型的判定树如下图。
决策树生成算法一个重要的工作就是选择当前信息增益最大的属性对决策树进行分裂,并根据该属性可能的取值建立对应的分支。
信息增益是涉及了信息论中信息熵的概念。信息熵是表示一个事件的不确定性的大小,不确定性越大那么该事件包含的信息熵就越大,如果一个事件完全确定了,那么它所包含的信息熵就是0。
熵(entropy)的概念是由德国物理学家克劳修斯于1865年所提出。熵最初是被用在热力学方面的,由热力学第二定律可以推出熵增的结论,然后熵是用来对一个系统可以达到的状态数的一个度量,能达到的状态数越多熵越大。信息熵也基本是很类似的,是香农1948年的一篇论文《A Mathematical Theory of Communication》提出了信息熵的概念,并且以后信息论也被作为一门单独的学科。
信息熵作为衡量一个系统复杂度的表示,在压缩时就相当于一个压缩极限的下限,不同的内容,如果他的信息熵越小,说明信息量越小,也就是压缩后所占的体积能够更小,信息熵在人工智能方面也有很多的应用,其中最有名的就是最大熵原理,保留尽可能大的不确定性而作出最佳的尽量无偏差的决定。
系统越有序,熵值越低;系统越混乱或者分散,熵值越高。
建立决策树的关键是,在当前状态下选择哪个属性作为分类依据。根据不同的目标函数,建立决策树主要有三种算法:
ID3 (信息增益 infomation gain)
C4.5 (信息增益率 Infomation Gain Ratio)
CART (基尼指数 Gini Index)
C4.5克服了ID3的2个缺点:
1.用信息增益选择属性时偏向于选择分枝比较多的属性值,即取值多的属性
2.不能处理连续属性,即将连续值实现离散化。