决策树原理
决策树(decision tree)是机器学习中常用的一种分类和回归方法。决策树学习通常包含三个步骤:特征选择、决策树生成、决策树修剪。在本文中主要讨论分类决策树。
分类决策树的模型是一个树形结构,由结点(node)和有向边(directed edge)组成,其中结点又分为:内部结点和叶结点。内部结点表示一个特征(图中的黑色圆),而叶结点表示一个类(黑色方框)。
其中根结点包含了整个数据集,通过在数据集中找到一个最优特征,也就是最优划分属性,通过最优划分属性,将数据集分为若干子集,划分到子节点中。很明显,决策树的生成是一个递归过程,而要使递归返回,则需要:
- 当前结点样本属于同一类
- 当前结点样本为空
- 当前属性为空,或是所有样本在所有属性集上取值相同
所以,分类决策树的大致流程如下所示:
其中,最关键的就是如何去寻找这个最优特征。
信息增益、信息增益比
信息熵
在信息论和概率统计中,熵(entropy)是表示随机变量不确定的度量。
假设X是一个有限个值的随机离散变量,概率分布是:
则将其熵定义为:
其中若,则定义
。可以看出,熵只与X的分布有关,所以也可写为:
熵越大,随机变量的不确定性也就越大,举个栗子:
当随机变量只有两个值时,熵为:
作熵随概率变化的曲线图:
可以看出,当概率为0或者1时,熵为0,变量完全没有不确定性,而当p为0.5时,熵最大,随机变量不确定性最大。
条件熵
设随机变量(X,Y),其联合概率分布为