分类算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分类算法
摘要:分类算法是数据挖掘中的最重要的技术之一。

通过对当前提出的最新的具有代表性的分类算法进行分析和比较,总结每类算法的各方面特性,从而便于研究者对已有的算法进行改进,提出具有更好性能的新的分类算法,同时方便使用者在应用时对算法的选择和使用。

关键词:分类算法决策树基于规则贝叶斯人工神经网络支持向量机
分类是挖掘数据的一个重要技术,是数据挖掘中最有应用价值的技术之一,其应用遍及社会各个领域。

分类任务就是通过学习得到一个目标函数(通常也称作分类模型,即分类器),把每个属性集映射到一个预先定义的类标号。

分类和回归都可以用于预测。

和回归方法不同的是,分类的类标号是离散属性,而预测建模的回归的目标属性是连续的。

构造分类器的过程一般分为训练和测试两个阶段。

在构造模型之前,要求将数据集随机地分为训练数据集和测试数据集。

在训练阶段,分析训练数据集的属性,为每个属性产生一个对相应数据集的属性描述或模型。

在测试阶段,利用属性描述或模型对测试数据集进行分类,测试其分类准确度。

一般来说,测试阶段的代价远远低于训练阶段。

为了提高分类的准确性、有效性和可伸缩性,在进行分类之前,通常要对数据进行预处理,包括:
(1)数据清理。

其目的是消除或减少数据噪声,处理空缺值。

(2)相关性分析。

由于数据集中的许多属性可能与分类任务不相关,若包含这些属性将减慢和可能误导学习过程。

相关性分析的目的就是删除这些不相关或冗余的属性。

(3)数据变换。

数据可以概化到较高层概念。

比如,连续值属性“收入”的数值可以概化为离散值:低,中,高。

又比如,标称值属性“市”可概化到高层概念“省”。

此外,数据也可以规范化, ,规范化将给定属性的值按比例缩放,落入较小的区间,比如[0,1]等。

分类模型的构造方法有决策树类、基于规则类、最近邻类、贝叶斯类、人工神经网络类等。

1决策树分类算法
1.1决策树基本概念
决策树是一种由结点和有向边组成的层次结构,树中包含三种结点;根结点、内部结点和叶结点(终结点)。

它采用自顶向下的递归方式,在根结点使用属性将训练数据集区分开,在内部结点进行属性值的比较,并根据不同的属性值从该结点向下分支,树的每个叶结点都赋予一个类标号,即在叶结点得到结论。

决策树是实例的分类器。

从根到叶结点的一条路径就对应着一条规则,整个决策树就对应着一组析取表达式规则。

可将实例分到多个分类(≥2)并以析取范式(DNF)形式重写为规则。

这种具有预测功能的系统叫决策树分类器。

1.2常用的决策树算法
决策树分类算法从提出以来,出现了很多算法,比较常用的有:1986年Quinlan提出了著名的ID3算法。

ID3算法体现了决策树分类的优点:算法的理论清晰,方法简单,学习能力较强。

其缺点是:只对比较小的数据集有效,且对噪声比较敏感,当训练数据集加大时,决策树可能会随之改变,并且在测试属性选择时,它倾向于选择取值较多的属性。

在ID3算法的基础上,1993年Quinlan又自己提出了改进算法—C4. 5算法。

为了适应处理大规模数据集的需要,后来又提出了若干改进的算法,其中SLIQ(su-pervised learning in quest)和SPRINT (scalable parallelizable induction of decision trees)是比较有代表性的两个算法,PUBLIC (Pruning and
Building Integrated in Classification)算法是一种很典型的在建树的同时进行剪枝的算法。

此外,还有很多决策树分类算法。

1.3决策树技术中的核心问题
建立决策树的目标是通过训练样本集,建立目标变量关于各输入变量的分类预测模型,全面实现输入变量和目标变量不同取值下的数据分组,进而用于对新数据对象的分类和预测。

当利用所建决策树对一个新数据对象进行分析时,决策树能够依据该数据输入变量的取值,推断出相应目标变量的分类或取值。

决策树技术中有各种各样的算法,这些算法都存在各自的优势和不足。

目前,从事机器学习的专家学者们仍在潜心对现有算法的改进,或研究更有效的新算法总结起来,决策树算法主要围绕两大核心问题展开:第一,决策树的生长问题,即利用训练样本集,完成决策树的建立过程。

第二,决策树的剪枝问题,即利用检验样本集,对形成的决策树进行优化处理。

以下将主要就这两方面的问题进行论述。

1.4决策树的应用和注意事项
决策树是数据挖掘应用最广的技术之一,一般用于对新数据对象的分类或预测。

在实际分析中,决策树还可以应用到其他方面,如生成推理规则,寻找最佳变量等决策树可以看成是推理规则的一种图形表示,可以在决策树的基础之上产生推理规则。

另外,由于决策树的建立过程是一个不断选择最佳输入变量的过程。

因此,在划分数据方面,高层结点上的输入变量比低层结点上的输入变量更有价值,所以可以将决策树看成一种测度变量价值大小的工具。

应用决策树技术时应注意以下几个问题:
第一,一般的决策树算法中,决策树的每个分枝判断只能针对单个输入变量值进行,无法同时根据多个输入变量的取值情况进行判断,这会在一定程度上限制决策树的应用范围。

从而,需要事先对变量进行处理。

第二,决策树所处理的输入变量的类型可以是定距型,也可以是定类或定序型。

在处理不同类型数据时,决策树有各自的优点和问题:当输入变量是定距型时,决策树技术的主要优势是:当数据采用不同的计量单位或当数据中存在离群点时,不会给决策树带来显著影响,因而不会给数据的准备工作带来额外负担;缺点是:忽略了数据所中蕴涵的分布形态的信息。

当输入变量是定类或定序型时,决策树的建树效率会较高。

但主要的问题是:当输入变量的分类值很多且取值分布极为分散时,决策树会过于“茂盛”,使得树结点上的样本量随着树层数的增加而快速下降,不利于决策树的合理生长改进的方法是将样本量较少的类合并,但由于类间合并有很多可选择的方案,只有穷尽所有的类合并方案后才有可能得到较好的合并结果,但穷尽的可行性会受到实际应用的限制。

1.5决策树算法的实例
决策树分类可应用在钢铁厂轧辊选择中,用于决策是否更换某一轧辊的情况,在钢铁厂中,轧辊是易磨损的,且轧辊选择中,用于决策是价格比较高,需要经常更换,使用成本比较高。

而且一旦轧辊出了问题,可能会造成很大的损失。

正确的决策是否更换某一轧辊,使得公司的效益最大化,具有重要的现实意义。

把以往的更换情况整理的数据作为训练集,然后对影响是否更换的相关特征进行数据挖掘,从而可得到对轧辊的选择的决策进行指导的有意义的知识。

在进行挖掘前,首先对数据进行清理,可采用平滑技术消除或减少噪声,用该属性最常用的值处理空缺值。

用决策树算法进行分类,要求处理连续属性和离散属性。

在选择中,轧辊受役龄、价格、是否关键部件和磨损程度等多种因素影响,通过分类算法得到决策树,用来决策正在生产线上的某一轧辊是否需要更换。

表1中的数据是从钢铁厂的轧辊更换的数据库中抽取出的部分数据,含有5个属性:役龄、价格、是否关键部件、磨损程度和是否更换。

利用这样的少量的数据来说明决策树分类在钢铁厂轧辊选择中的应用。

表1 轧辊更换情况数据库训练数据
使用信息增益进行属性选择:
更新的备件数为s1,不更新的备件数为s2。

I (s1, s2)=I(9, 5)=0.94
E(役龄)=0.694
Gain(役龄)=0.245
同理,Gain(价格)=0. 21, Gain(是否关键部件)=0. 15, Gain(磨损程度)=0. 10
因为Gain(磨损程度)<Gain(关键部件)<Gain(价格)<Gain(役龄),可以看出以“役龄”,这个属性进行训练集分类的信息赢取值最大,于是“役龄”就被选为用于划分的属性,以此类推,可以得到决策树如图1所不。

图1使用ID3算法得到轧辊是否更换问题的决策树
这样的通过训练集得到的决策树分类模型就可以用来对新数据进行分类了,即可以判断生产线上的轧辊是否需要更换了。

2基于规则分类算法
2.1基于规则分类器概念
基于规则的分类器是使用一组“if …then ”规则来分类记录的技术。

模型店规则用析取范式 R=(r 1 v r 2 v ···v r k )表示,而每一项分类规则可以表示为如下形式:
r i (条件i )——>y i
其中R 称作规则集,r i 是分类规则或析取项,给则的左边称为规则前件,右边称为规则后件。

如果规则r 的前件和记录x 的属性匹配,则称r 覆盖x 。

分类规则的质量可以用覆盖率和准确率(或置信因子)来度量。

若给定数据集D 和条件A ,则有:
覆盖率=D A 准确率=A
y
A ⋂
其中A 是满足规则前件的记录数,y ⋂A 是同时满足规则前件和后件的记录数,D 是记录总数。

2.2基于规则分类器工作原理
基于规则的分类器根据测试记录所触发的规则来分类记录,所产生的规则集有两个重要的性质:第一是互斥规则,如果规则集R 中不存在两条规则被同一条记录触发;第二是穷举规则,如果对属性值的任一组合,R 中都存在一条规则加以覆盖。

两个性质可以保证每一条记录被且仅被一条规则覆盖。

而解决规则集不是互斥的所带来可能相互冲突的预测规则有两种方法:第一是有序规则,使规则集中的规则按照优先等级排序,避免由多条预测而产生的类冲突的问题;第二是无需规则,把每条规则的后件看做是对相应的一次投票,然后计票确定测试记录的类标号,可以避免由于选择不当的规则而产生的错误影响,其次模型的开销相对较小,从而不必维护规则的顺序。

2.3基于关联规则(CBA: Classification Based on Association Rule)的分类算法
CBA 算法主要是通过发现样本集中的关联规则来构造分类器。

关联规则的发现采用经典算法Apriori ,通过迭代检索出数据集中所有的频繁项集,即支持度小低于用户设定阈值的项集。

此算法的优点是发现的规则相对较全面且分类准确度较高,其缺点是:①当潜在频繁2项集规模较大时,算法会受到硬件内存的制约,导致系统I/O 负荷过重;②由于对数据的多次扫描和JOIN 运算所产生潜在频繁项集,Apriori 算法的时问代价高昂。

针对Apriori 算法的缺陷,LIG(large items generation)算法在求解频繁1项集的同时计算相应项的相关区问,以此得到缩小了的项集的潜在频繁2项集。

频繁模式增长((FP)算法放弃利用潜在频繁项集求解频繁项集的做法,进而提出频率增长算法。

该算法通过扫描数据集得到频繁项的集合以及各项支持度,并按支持度大小降序排列频繁项目列表,然后通过构造一个FP —树来进行关联规则挖掘。

其优点是:在完备性上,它不会打破任何模式且包含挖掘所需的全部信息;而在紧密性方面,它能剔除不相关信息,并不包含非频繁项,故支持度高的项在FP —树中共享机会也高。

该算法比Apriori 快一倍,但当数据集过大时,所构建的FP —树仍受内存制约。

3贝叶斯分类算法
贝叶斯分类器是对属性集和类变量的概率关系建模,可以预测类成员间的关系的可能,是探索、处理不确定性知识领域的一种简洁而有效的方法,以概率理论为基础,其学习和推理都由概率规则实现,该算法关键在于使用概率表示各种形式的不确定性,原理是把类的先验知识和从数据中收集
的新证据相结合。

3.1贝叶斯定理
设X 是类标号未知的数据样本。

设Y 为某种假定,如数据样本X 属于某特定的类C 。

对于分类问题,我们希望确定P(Y | X)—给定观测数据样本X ,假定Y 成立的概率。

X) | P(Y 是后验概率,或称条件X 下Y 的后验概率。

例如,假定数据样本域由水果组成,用它们的颜色和形状描述。

假定X 表示红色和圆的,Y 表示假定X 是苹果,则P(Y | X)反映当看到X 是红色并是圆的时,对X 是苹果的确信程度。

作为对比,P(Y)是先验概率,或称Y 的先验概率。

给定一例子,它是任意给定的数据样本中为苹果的概率,而不管数据样本看上去如何。

后验概率P(Y | X)比先验概率P(Y)基于更多的信息(如背景知识)。

P(Y)是独立于X 的。

类似地,P(X | Y)是条件Y 下,X 的后验概率。

即是说它是已知X 是苹果,X 是红色并且是圆的的概率。

P(X)是X 的先验概率。

使用该例子,它是由水果集取出一个数据样本是红的和圆的的概率。

如何计算这些概率下面将要讨论的,P(X),P(Y)和P(X | Y)可以由给定的数据计算。

贝叶斯定理就提供了一种由P(X) ,P(Y)和P(X | Y)计算后验概率P(Y | X)的方法。

此方法是:
P(Y | X)=P(X)Y)P(Y)|P(X
在比较不同Y 值的后验概率时,分母P(X)总是常数,因此可以忽略。

先验概率P(Y)可以通过计算训练集中属于每个类的训练记录所占的比例很容易的估计。

对类条件概率Y) | P(X 的估计,朴素贝叶斯分类器和贝叶斯信念网络可以对之实现。

3.2朴素贝叶斯分类器
朴素贝叶斯分类器基于一个简单的假定:在给定目标值时属性值之间相互条件独立(一个属性值对给定类的影响独立于其他属性值)。

换言之,该假定说明给定实例的目标值情况下,观察到联合的的概率正好是对每个单独属性的概率乘积,形式化的表述如下:
∏====d
i i Y X P Y X P 1
)y ()y (
其中每个属性集X={X 1,X 2,···,X d }包含d 个属性。

3.3朴素贝叶斯分类方法特征
朴素贝叶斯法是一种简单而易实现的分类方法,但在处理属性时,它假设一个属性对给定类的影响独认于其它属性,在实际情况中此种假设过于简单,属性之间的依赖性难免会影响到朴素贝叶斯算法的挖掘能力。

对此可以结合属性选择程序,在决策过程中仔细挑选属性子集,去除数据冗余造成的非独认属性。

为降低独立性假设,也出现了许多对贝叶斯改进的分类算法,如,TAN 算法、贝叶斯网络、半朴素贝叶斯算法、BAN 算法等多种改进算法。

各类算法不断向更高级、更多样化和更综合化方向发展,使学习方案更加精细,从而得出更加完善的预测结果。

4人工神经网络
4.1人工神经网络基本理论
人工神经网络是在研究生物神经系统的启发下发展起来的一种信息处理方法.它模拟生物神经系统结构,由大量处理单元组成非线性自适应动态系统,具有高度非线性的超大规模实践非线性动力特性,网络的全局作用、大规模并行分布处理及高度的鲁棒性和容错性,有联想记忆、抽象概括和自适应能力。

而这种抽象概括和自适应能力一般称之为自学能力。

自学习是神经元最重要的特征,通过学习能够分析数据中的模式来构造模型,对大量数据样本的学习,发现新知识.神经网络能够通过学习,按照一定的规则自动调节神经元之间的输入输出,改变其内部状态,使输入输出呈现出某
种规律性。

神经网络为解决复杂的问题提供了一种相对来说较有效的简单方法.它可以很容易解决具有上百个参数甚至更多参数的问题.神经网络常用于两类问题:分类和回归.在结构上,可以把一个神经网络划分为输人层、输出层和隐含层.输人层的每个节点对应一个个的预测变量,输出层的节点对应目标变量,可有多个.输人层和输出层之间是隐含层,隐含层的层数和每层节点的个数决定了神经网络的复杂度。

4.2神经网络学习的步骤及算法
神经网络学习的目的就是对某一特定的输入产生一个希望的输出,这就需要网络不断的调整连接弧权值。

一般来说,BP 算法主要有以下几个步骤:
( 1)初始化网络权值W ij 、阈值θj ,学习因子Z 。

( 2)对一些指标量纲不统一的训练样本我们可以对其进行归一化处理使其转化为统一量纲的数据;但如果量纲统一与否对训练学习并无影响时,可以不作处理。

( 3)如果任意设置网络初始权值W ij 、阈值、学习因子Z ,那么对每个输入模式P ,网络实际输出(Q pj )与期望输出(y pj )间误差为:
Ep=
()2j
pj pj Q y 2
1
∑- 则总误差为:E=
∑p
21
p E p 。

如果总误差| E |≤X 时,X>0,则学习成功,算法结束;否则,进行下一步。

( 4)对样本集中各个样本依次重复(4), ( 5)步,然后转入步3
设学习样本集包括M 个样本模式(x k , y k ),设节点i 是节点j 的上一层节点;W ji 为节点i,j 之间的连上接权值;θj 为节点j 的万阈值。

对第P (P=1,2,···,M )个学习样本(x pk , y pk ),对应j 的输入综合记为ɑpj ,输出记为Q pj ,则:
Q pj =f(ɑpj )=
apj
-e -11
ɑpj =
j N
j pj
ji
Q
w θ-∑=0
其中ɑpj 是节点i 的输出,又是节点j 的输入;
(5)对各连接权值w jt 按下面的公式进行修改: W ji (t+1)= W ji (t )+ ZW pj Q pj Q j (t+1)= Q j (t )+ UW pj 其中:
W pj =⎪⎩
⎪⎨⎧-----∑k kj pk pj pj pj pj pj pj w W a a Q y a a 对于中间节点对于输出节点)()1())(1(,
算法中W pj 的称为节点j 的误差。

学习参数值的大小对BP 算法的学习速度影响很大。

一般说来,参数值越大,由误差所作的修正值也越大,学习速度也越快.但过大,将引起系统振荡,反而降低学习性能,引起不收敛.最优选择参数值是很困难的,但经过多次调试一定可以找到适当的参数值。

由此可以看出,网络学习的目的就是使这个误差函数达到最小值。

上面(s)式及娜内定义,就是梯度下降法,在权值空间沿负梯度方向调整权值,以使总误差函数(2)达到最小。

所以BP 网络的学
习过程就是一个非线性优化过程。

5支持向量机
支持向量机(Support Vector Machine, SVM)的重要理论基础是统计学习理论的VC维理论和结构风险最小化原理。

SVM根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以期获得最好的推广能力。

SVM可以自动寻找对分类有较好区分能力的支持向量,由此构成的分类器可以最大化类与类之间的间隔。

5.1支持向量机主要优点包括:
(1)它是专门针对有限样本情况的,其口标是得到现有信息下的最优解,而不仅仅是样本数口趋于无穷大时的最优值;
(2)算法最终转化为一个二次型寻优问题。

从理论上说,得到的将是全局最优点,解决了在神经网络方法中无法避免的局部极值问题;
(3)算法将实际问题通过非线性变换到高维的特征空间,在高维空间中构造线性判别函数以替换原空间中的非线性判别函数,这样能保证机器有较好的推广能力,同时它巧妙地解决了维数问题,算法复杂度与样本维数无关。

SVM算法有很多成功的应用领域,如人脸识别、手写体识别、指纹识别等。

这些应用都说明了基于VC维理论和结构风险最小化原理而发展起来的结构化学习方法的潜在优势。

5.2目前SVM研究中仍需要解决的一些难点,包括如下的一些方面:
(1)核函数和参数的构造和选择缺乏理论指导。

核函数的选择影响着分类器的性能,如何根据待解决问题的先验知识和实际样本数据,选择和构造合适的核函数、确定核函数的参数等问题,都缺乏相应的理论指导。

(2)训练大规模数据集的问题。

如何解决训练速度与训练样本规模间的矛盾,测试速度与支持向量数口间的矛盾,找到对大规模样本集有效的训练算法和分类实现算法,仍是未很好解决的问题。

(3)多类分类问题的有效算法与SVM优化设训一问题。

尽管训练多类SVM问题的算法已被提出,但用于多类分类问题时的有效算法、多类SVM的优化设计仍是一个需要进一步研究的问题。

参考文献
[1]刘红岩,陈剑,陈国青.数据挖掘中的数据分类算法综述[J].清华大学学报(自然科学版),2002,06:727-730.
[2]罗海蛟,刘显.数据挖掘中分类算法的研究及其应用[J].微机发展,2003,S2:48-50.
[3]罗可,林睦纲,郗东妹.数据挖掘中分类算法综述[J].计算机工程,2005,01:3-5+11.
[4]张剑飞.数据挖掘中决策树分类方法研究[J].长春师范学院学报,2005,02:96-98.
[5]陈红玉.数据挖掘中贝叶斯分类算法的研究[J].光盘技术,2009,07:57-58.
[6]王建林,王学玲.数据挖掘中的贝叶斯分类器[J].长春理工大学学报,2006,03:51-53.
[7]杨学兵,张俊.决策树算法及其核心技术[J].计算机技术与发展,2007,01:43-45.
[8]谢斌.朴素贝叶斯分类在数据挖掘中的应用[J].甘肃联合大学学报(自然科学版),2007,04:79-82+91.
[9]魏晓云.决策树分类方法研究[J].计算机系统应用,2007,09:42-45.
[10]李艳,刘信杰,胡学钢.数据挖掘中朴素贝叶斯分类器的应用[J].潍坊学院学报,2007,04:48-50.
[11]程继华,魏暑生,施鹏飞.基于概念的关联规则的挖掘[J].郑州大学学报(自然科学版),1998,02:29-32.
[12]娄兰芳,蒋志方,王乐强.数据挖掘中关联规则的有趣性研究[J].现代计算机(专业版),2002,10:10-13.
[13]王建国,张玥.基于数据挖掘的BP神经网络模型的一种改进算法[J].内蒙古科技大学学报,2008,03:248-250.
[14]孙建平,史忠植.数据挖掘中关联规则的教学研究[J].高等理科教育,2002,02:40-44.
[15]马杰,胡海峰,马玉书.基于人工神经网络的数据挖掘工具[A].中国计算机学会数据库专业委员会.第十七届全国数据库学术会议论文集(技术报告篇)[C].中国计算机学会数据库专业委员会:,2000:6.
[16]邵有为.人工神经网络在数据挖掘中的潜在应用[J].煤炭技术,2011,05:163-165.
[17]韩彦峰,段向前.人工神经网络在数据挖掘中的应用[J].西安建筑科技大学学报(自然科学版),2005,01:121-124.
[18]段纪军,陈琳,王海燕,田娜.基于数据挖掘技术与支持向量机的目标识别研究[J].计算机与数字工程,2004,06:41-44+72.
[19]陶卿,曹进德,孙德敏.基于支持向量机分类的回归方法[J].软件学报,2002,05:1024-1028.
[20]朱凌云,曹长修.基于支持向量机的缺陷识别方法[J].重庆大学学报(自然科学版),2002,06:42-45.。

相关文档
最新文档