首页 理论教育基于规则的分类方法优化策略

基于规则的分类方法优化策略

【摘要】:仔细研究各算法就会发现,决策树分类算法、关联规则分类算法、贝叶斯分类算法都是基于规则“A→C”和其统计特性的。C 4.5是决策树分类算法的代表[98]。构造决策树时,总选择增益比例大的属性作为下一分支节点。简化后的规则按类进行分组,形成最终的分类规则集。可见,贝叶斯分类器也是基于规则“A→C”的统计特性的。决策树分类法是一种直观且精度较高的方法,但决策树有时也会变得很复杂,以至于难以解释。

设数据集D由记录组成,记录数为|D|,属性有{A1,A2,…,An,C},其中,{A1,A2,…,An}是条件属性,C是类标号。仔细研究各算法就会发现,决策树分类算法、关联规则分类算法、贝叶斯分类算法都是基于规则“A→C”和其统计特性的。此处,A表示{A1,A2,…,An}全部或部分属性的一些取值组成的集合,C表示某个类标号。

C 4.5是决策树分类算法的代表[98]。C 4.5方法首先生成一棵未经剪枝的决策树,生成过程遵循如下的原则:

(1)决策树的每个内部节点对应样本的一个非类别属性,该节点的每棵子树代表这个属性的取值范围的一个子区间(子集)。一个叶节点代表从根节点到该叶节点的路径对应的样本所属的类别。

(2)构造决策树时,总选择增益比例大的属性作为下一分支节点。

(3)训练样本集中的未知属性用常用值代替,或者用该属性所有取值的平均值代替,从而处理缺少属性值的训练样本。

将决策树转换为IF…THEN规则集合,此集合中规则形如“A→C”,但其中存在大量的冗余和错误。C 4.5按K迭代交叉验证方法选择优化的模型。简化后的规则按类进行分组,形成最终的分类规则集。

朴素贝叶斯分类器是基于贝叶斯概率理论的算法[100]。算法假定在给定类变量的条件下各个属性变量之间条件独立。首先从训练集中计算出每个属性取不同值时各类记录出现的概率,以此作为先验概率。设类标号cj∈C,分类器利用式(4.3)来判断无类标号记录(a1,a2,…,an)属于类cj的后验概率,并且将此记录判定为属于后验概率最大的类。可见,贝叶斯分类器也是基于规则“A→C”的统计特性的。

决策树分类法是一种直观且精度较高的方法,但决策树有时也会变得很复杂,以至于难以解释。对于复杂的决策树,从中抽取的IF…THEN规则更加简洁和容易理解。

将决策树的每个分支从根节点开始写成逻辑与的条件,形成IF部分,将叶节点作为THEN部分,就形成了初始的规则集。在此规则集中的规则间隐含着逻辑或的关系,规则间是排他的和无遗漏的,规则间的顺序无关紧要。初始的规则集并不比决策树简单,甚至更难理解,其中可能含有无关和重复的条件,对其进行修剪是必需的[25]

如何剪枝呢?一般来讲,任何不能提高分类精度的条件均可剪掉。悲观错误策略是常用的策略。其策略是,当欲从规则集中剪掉一个规则中的一个条件或删除一个规则时,判断剪除前和剪除后的错误率,如果错误率没有增加,则实施剪除,否则不剪除。使用这个策略可能使剩余的规则不再排他,也不再无遗漏,使用其进行分类之前应将规则排序,以避免冲突。

使用序列覆盖算法(sequential covering algorithm)可以从训练集中直接抽取IF…THEN规则,不需预先生成决策树[25]。所谓序列覆盖,是指规则的生成过程是每次一条的连续过程。每一条规则都覆盖训练集中的一些记录,希望这些记录均属于一类别。其基本思路是,每一次生成一条新的规则时,被此规则覆盖的记录将被删除,生成和删除过程反复进行,直到满足结束条件。结束条件可能是训练集中没有剩余记录,或者规则的质量已满足用户设置的条件。

一条规则的生成一般遵循由一般到特殊的方式[25]。从前件为空开始,逐步增加前件的条件(属性值),条件之间是“与”的关系。每增加一个条件进行一次测试,满足激励条件的则实施增加,否则不增加。激励条件一般为信息熵降低或信息增益增加等。全部规则生成后,一般还要剪枝,因为生成过程是一个乐观过程,其规则不一定适应后续的测试。