人工智能(二)——决策树算法
(运用:监督学习--分类)
什么是决策树/判定树
决策树是一个类似于流程图的树结构,分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部结点和叶结点。内部结点表示一个特征或属性,叶结点表示一个类。
用决策树分类,从根结点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值。如此递归的对实例进行测试并分配,直至达到叶结点,最后将实例分到叶结点的类中。
图中圆和方框分别表示内部结点和叶结点
决策树学习的损失函数通常是正则化的极大似然函数,决策树学习的策略是以损失函数为目标函数的最小化。
决策树学习算法包含特征选择,决策树的生产与决策树的剪枝过程。
特征选择问题
特征选择在于选取对训练数据进行分类能力的特征,这样可以提高决策树学习的效率。如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的。去掉这样的特征对决策树学习的精度影响不大。通常特征选择的准则是信息增益或信息增益比。
信息熵(entropy)的概念
熵表示随机变量不确定性的度量。
设X是一个取有限个值的离散随机变量,其概率分布为,i=1,2,```,n,则随机变量X的熵定义为 (通常log以2或e为底),熵的单位分别称作比特(bit)或纳特(nat),变量的不确定性越大,熵也就越大。
条件熵的概念
设有随机变量(X,Y),其联合概率分布为,i=1,2,```,n;j=1,2,```,m,条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵H(Y|X),定义为X给定条件下Y的条件概率分布的熵对X的数学期望,i=1,2,```,n
信息增益
信息增益表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。特征A对训练数据集D的信息增益个(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,g(D,A=H(D)-H(D|A)
一般地,熵H(Y)与条件熵H(Y|X)之差称为互信息,决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
信息增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。
由上图知共15个样本:
同理可计算出“有工作”,“有自己的房子”,“信贷情况”这三个特征的信息增益。最后比较各特征的信息增益。由于特征“有自己的房子”的信息增益值最大,所以选择该特征作为最优特征。
信息增益比
特征A对训练数据集D的信息增益比定义为其信息增益与训练数据集D的经验熵H(D)之比:
决策树的生成
决策树ID3算法
ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。具体方法:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。
决策树C4.5算法
C4.5算法与ID3算法相似,在生成过程中,用信息增益比替代信息增益来选择特征。
决策树CART算法(分类与回归树模型)
决策树的生成就是递归地构建二叉决策树的过程,对回归树用平方误差最小化准则,对分类树用基尼指数(Gini index)最小化准则,进行特征选择,生成二叉树。
决策树的剪枝
在决策树学习中将已生成的树进行简化的过程称为剪枝。这个操作是为了防止发生过拟合现象,使决策树具有更好的泛化能力。过拟合的原因在于学习时过多地考虑如何提高训练数据的正确分类,从而构建出过于复杂的决策树。决策树的剪枝往往通过极小化决策树整体的损失函数或代价函数来实现。
决策树的优缺点
优点:直观,便于理解,小规模数据集有效
缺点:处理连续变量不好;类别比较多时,错误增加的比较快;可规模性一般
参考:李航《统计学习方法》