数据挖掘中的分类方法综述_数据挖掘论文

数据挖掘中分类方法综述,本文主要内容关键词为:数据挖掘论文,方法论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

〔分类号〕TP183

1 前言

数据挖掘源于20世纪90年代中期,是一个既年轻又活跃的研究领域,涉及机器学习、模式识别、统计学、数据库、知识获取与表达、专家系统、神经网络、模糊数学、遗传算法等多个领域。分类技术是数据挖掘中最有应用价值的技术之一,其应用遍及社会各个领域。

基于人工智能和信息系统,抽象层次上的分类是推理、学习、决策的关键,是一种基础知识。因而数据分类技术可视为数据挖掘中的基础和核心技术。其实,该技术在很多数据挖掘中被广泛使用,比如关联规则挖掘和时间序列挖掘等。因此,在数据挖掘技术的研究中,分类技术的研究应当处在首要和优先的地位。目前,数据分类技术主要分为基于传统技术和基于软计算技术两种。

2 传统的数据挖掘分类方法

2.1 数据分类中相似函数的研究

数据分类首先涉及到样本间的相似度判定函数,向量相似性判定函数可根据向量特征可比性以及是否能满足距离三角不等式加以区分,而不满足距离三角不等式的向量相似性判定函数可根据互近邻距离等来判定。

当向量特征是非同质的,简单地使用上述相似性判定函数是不合适的;而对于不同质的特征,使用不同的相似性判定函数也是困难的,因为:①不同判定函数之间的综合判定很困难;②某些向量特征取决于质;③即使取决于特征量,用于相似性判定函数的离散值或区间值也需进一步研究。对于离散的向量特征,人们提出了简单匹配系数、Jaccard系数、Rao系数等相似性判定函数,但在实际使用中却存在很多限制,且这只适用于离散值数量较少的情况。目前,非同质、离散、半连续半离散以及同质的相似性判定函数的研究成果还比较少。

但以上讨论仅限于在两个向量之间,在实际分类过程中,也会涉及两个类别之间相似程度(距离)的计算,因为这无论在分类过程中还是评价分类质量时都是必不可少的。在实际应用中,类别间相似程度的计算函数主要包括最近距离函数、质心距离函数、平均距离函数等。

2.2 传统数据分类方法

分类技术针对数据集构造分类器,从而对未知类别样本赋予类别标签。在其学习过程中和无监督的聚类相比,一般而言,分类技术假定存在具备环境知识和输入输出样本集知识的老师,但环境及其特性、模型参数等却是未知的。

2.2.1 基于关联规则(CBA:Classification Based on Association Rule)的分类算法 该算法[1]的构造分类器可分为两步:第一步要发现所有形如x[,i1]∧x[,i2]C[,i]的关联规则,即右侧均为类别属性值的关联规则;第二步要选择高优先度的规则来覆盖训练集,即若有多条关联规则的左侧均相同,而右侧为不同的类时,则选择具有最高置信度的规则作为可能规则。CBA算法主要是通过发现样本集中的关联规则来构造分类器。关联规则的发现采用经典算法Apriori[1],通过迭代检索出数据集中所有的频繁项集,即支持度不低于用户设定阈值的项集。此算法的优点是发现的规则相对较全面且分类准确度较高,其缺点是:①当潜在频繁2项集规模较大时,算法会受到硬件内存的制约,导致系统I/O负荷过重;②由于对数据的多次扫描和JOIN运算所产生潜在频繁项集,Apriori算法的时间代价高昂。

针对Apriori算法的缺陷,LIG(large items generation)算法在求解频繁1项集的同时计算相应项的相关区间,以此得到缩小了的项集的潜在频繁2项集。频繁模式增长(EP)算法放弃利用潜在频繁项集求解频繁项集的做法,进而提出频率增长算法。该算法通过扫描数据集得到频繁项的集合以及各项支持度,并按支持度大小降序排列频繁项目列表,然后通过构造一个FP-树来进行关联规则挖掘。其优点是:在完备性上,它不会打破任何模式且包含挖掘所需的全部信息;而在紧密性方面,它能剔除不相关信息,并不包含非频繁项,故支持度高的项在FP-树中共享机会也高。该算法比Apriori快一倍,但当数据集过大时,所构建的FP-树仍受内存制约。

2.2.2 K近邻(KNN)分类算法 KNN方法基于类比学习,是一种非参数的分类技术,它在基于统计的模式识别中非常有效,并对未知和非正态分布可取得较高的分类准确率,具有鲁棒性、概念清晰等优点。其基本原理为:KNN分类算法搜索样本空间,计算未知类别向量与样本集中每个向量的相似度值,在样本集中找出K个最相似的文本向量,分类结果为相似样本中最多的一类。

但在大样本集和高维样本分类中(如文本分类),KNN方法的缺陷也得以凸显。首先,KNN是懒散的分类算法,对于分类所需的计算均推迟至分类进行,故在其分类器中存储有大量的样本向量。在未知类别样本需要分类时,在计算所有存储样本和未知类别样本的距离时,高维样本或大样本集所需要的时间和空间的复杂度均较高。其次,KNN算法是建立在VSM模型上的,其样本距离测度使用欧式距离。若各维权值相同,即认定各维对于分类的贡献度相同,显然这不符合实际情况。基于上述缺点,人们也采用了一些改进算法:当样本数量较大时,为减小计算,可对样本集进行编辑处理,即从原始样本集中选择最优的参考子集进行KNN计算,以减少样本的存储量和提高计算效率。截至目前,其中最主要的方法有[2]:①近邻规则浓缩法。其编辑处理的结果是产生一个样本集的子集,然后在子集上进行KNN算法的计算。②产生或者修改原型法。这种方法包括建立一个原型和在原始训练样本集中调整几个有限的数据,其中多数情况下采用神经网络技术。③多重分类器的结合法。即由几个神经网络组成一个分类器,其每个神经网络都担当一个1-最近邻分类器的作用,对其中一个子集进行1-最近邻计算,而这个子集基于 Hart's方法产生。

各维权重对于相等BP神经网络可用于计算各维权值,此方法虽然利用了神经网络的分类和泛化能力,但存在以下缺点:①BP神经网络学习算法本身存在一些不足(见下文);②在其测算属性权值时,需逐个删除输入节点,但每次删除均可能需要重新强化BP神经网络训练,故对于高维或大量的样本,计算量过大。也有人使用最佳变化梯度来求证每个属性的权重,但对于非线形的KNN算法,尤其当最佳函数存在多个局部最小值时,线形的梯度调整很难保证方法的收敛性。

2.2.3 决策树分类算法 决策树是以实例为基础的归纳学习算法。它是一种从一组无次序、无规则的事例中推理出决策树形式的分类规则。它采用自顶向下的递归方式,对决策树内部的节点进行属性值比较,并根据不同属性值来判断该节点向下的分支。但在建立决策树的过程中需要设置停止增长条件,以使决策树能在适当的时候停止生长。同时,还要考虑把决策树修剪到合适的尺寸,并尽量保持决策树的准确度。

在基于决策树的分类算法中,ID3(C4.5)是较早的决策树分类算法,其后又出现多种改进算法,其中SLIQ(supervised learning in quest)和SPRINT(scalable parallelizable induction of decision tree)算法最具代表性。

2.2.3.1 ID3(C4.5)分类算法 Quinlan提出的ID3学习算法通过选择窗口来形成决策树,它利用的是信息论中的互信息或信息增益理论来寻找具有最大信息量属性而建立决策树节点的方法,并在每个分支子集重复这个过程。该方法的优点是描述简单、分类速度快、产生的分类规则易于理解。但此算法抗噪性差,训练正例和反例较难控制。C4.5分类算法后来虽得到改进,但仍存在算法低效问题,故不能进行增量学习。

2.3.3.2 SLIQ分类算法[3] 针对C4.5改进算法而产生的样本集反复扫描和排序低效问题,SLIQ分类算法运用了预排序和广度优先两项技术。预排序技术消除了结点数据集排序,广度优先策略为决策树中每个叶子结点找到了最优分裂标准。 SLIQ算法由于采用了上述两项技术使其能处理比C4.5大得多的样本集;但由于所需内存较多,这在一定程度上限制了可以处理的数据集的大小;预排序技术也使算法性能不能随记录数目进行线性扩展。

2.2.3.3 SPRINT分类算法[4] 为了减少驻留于内存的数据量,SPRINT算法进一步改进了决策树算法的数据结构,去掉在SLIQ中需要驻留于内存的类别列表,将类别合并到每个属性列表中。这样,在遍历每个属性列表中寻找当前结点的最优分裂标准时,不必参照其他信息,使寻找每个结点的最优分裂标准变得相对简单,但缺点是对非分裂属性的属性列表进行分裂变得却非常困难,因此,此算法的可扩展性较差。

此外,基于决策树的主要改进算法还包括EC4.5、CART (classification and regression tree)、PUBLIC(prruning and building integreated in classification)等。

2.2.4 贝叶斯分类算法 贝叶斯分类是统计学分类方法,它是一类利用概率统计进行分类的算法,此算法利用Bayes定理来预测一个未知类别的样本的可能属性,可选择其可能性最大的类别作为该样本的类别。在许多场合,朴素贝叶斯(Naive Bayes)分类算法可以与决策树和神经网络分类算法相媲美。但贝叶斯定理假设一个属性对给定类的影响独立于其他属性,但此假设在实际情况中经常不成立,因此影响了其分类的准确率。为此,也出现了许多降低独立性假设的贝叶斯改进分类算法,如TAN(tree augmented bayes network)算法[5]。

TAN算法通过发现属性对之间的依赖关系来降低朴素贝叶斯算法中任意属性之间独立的假设。它是在朴素贝叶斯网络的基础上增加属性对之间的关联来实现的。其方法是:用结点表示属性,用有向边表示属性之间的依赖关系,把类别属性作为根结点,其余所有属性都作为它的子节点。属性A[,i]与 A[,j]之间的边意味着属性A[,i]对类别变量C的影响取决于属性A[,j]。 TAN算法考虑了n个属性中两两属性间的关联性,对属性之间独立性的假设有了一定程度的降低,但没有考虑属性之间可能存在更多的其他关联性,因此,其适用范围仍然受到限制。

此外,还出现了贝叶斯信念网络、半朴素贝叶斯算法、 BAN算法等多种改进算法。但贝叶斯分类算法学习是很困难的,有些研究已经证明其学习属于NP-complete问题。数据挖掘的分类算法很多,而且都在不断的发展中,因此,不宜一一例举。

3 基于软计算的数据分类方法

在数据挖掘领域,软计算的用途越来越广泛:模糊逻辑用于处理不完整、不精确的数据以及近似答案等;神经网络用于高非线形决策、泛化学习、自适应、自组织和模式识别;遗传算法用于动态环境下的高效搜索、复杂目标对象的自适应和优化;粗糙集根据“核”属性获得对象的近似描述,能有效处理不精确、不一致、不完整等各种不完备信息。当数据集表现出越来越多的无标签性、不确定性、不完整性、非均匀性和动态性特点时,传统数据挖掘算法对此往往无能为力,软计算却可为此提供一种灵活处理数据的能力,软计算内的融合和与传统数据挖掘方法的结合逐渐成为数据挖掘领域的研究趋势。

3.1 粗糙集(rough set)

粗糙集理论是一种刻画不完整和不确定性数据的数学工具[6],不需要先验知识,能有效地处理各种不完备信息,从中发现隐含的知识,并和各种分类技术相结合建立起能够对不完备数据进行分类的算法。粗糙集理论将分类能力和知识联系在一起,使用等价关系来形式化地表示分类,知识因而表示为等价关系集R对离散空间U的划分。粗糙集理论还包含求取数据中最小不变集和最小规则集的理论,即约简算法(即分类中属性约简和规则生成),其基本原理是通过求属性的重要性并排序,在泛化关系中找出与原始数据具有同一决策或分辨能力的相关属性的最小集合,以此实现信息约简,这也是粗糙集理论在分类中的主要应用。

约简主要借助于信息表这样一种有效的知识表达形式;在保持信息表中决策属性和条件属性依赖关系不变时进行的信息表约简,具体包括属性约简和值约简。

属性约简在一定程度上对信息表中的非必要的冗余信息进行约简,但对每一个实例而言仍可能存在不必要的属性,因此在不引起冲突的条件下可将每一个实例的不必要属性删除,即为值约简。值约简的最终结果就是分类所需要的规则,常见的值约简算法包括归纳值约简、启发式值约简、基于决策矩阵的值约简算法等、增量式规则获取算法和其他一些改进算法。

粗糙集本身限制条件较强,在实际应用中,可以模态逻辑和概率统计信息对基本粗糙集模型进行扩展,从而形成了代数粗糙集模型和概率统计粗糙集模型。

3.2 遗传算法

遗传算法在解决多峰值、非线性、全局优化等高复杂度问题时具备独特优势,它是以基于进化论原理发展起来的高效随机搜索与优化方法。它以适应值函数为依据,通过对群体、个体施加遗传操作来实现群体内个体结构的优化重组,在全局范围内逼近最优解。遗传算法综合了定向搜索与随机搜索的优点,避免了大多数经典优化方法基于目标函数的梯度或高阶导数而易陷入局部最优的缺陷,可以取得较好的区域搜索与空间扩展的平衡。在运算时随机的多样性群体和交叉运算利于扩展搜索空间;随着高适应值的获得,交叉运算利于在这些解周围探索。遗传算法由于通过保持一个潜在解的群体进行多方向的搜索而有能力跳出局部最优解。

遗传算法的应用主要集中在分类算法[7]等方面。其基本思路如下:数据分类问题可看成是在搜索问题,数据库看作是搜索空间,分类算法看作是搜索策略。因此,应用遗传算法在数据库中进行搜索,对随机产生的一组分类规则进行进化,直到数据库能被该组分类规则覆盖,从而挖掘出隐含在数据库中的分类规则。应用遗传算法进行数据分类,首先要对实际问题进行编码;然后定义遗传算法的适应度函数,由于算法用于规则归纳,因此,适应度函数由规则覆盖的正例和反例来定义。1978年Holland实现了第一个基于遗传算法的机器学习系统CS-1(cognitive system level one),其后又提出了桶队 (Bucket Brigade)算法。1981年Smith实现了与CS-1有重大区别的分类器LS-1,以此为基础,人们又提出了基于遗传算法的分类系统,如GCLS(genetic classifier learning system)等算法。

3.3 模糊逻辑

模糊数学是研究模糊现象的数学;模糊数学最基本概念是隶属函数,即以一个值域在[0,1]之间的隶属函数来描述论域中对象属于某一个类别的程度,并以此为基础确定模糊集的运算法则、性质、分解和扩展原理、算子、模糊度、模糊集的近似程度等度量概念和算法。

分类操作离不开向量相似程度的计算,而模糊分类操作也需要向量模糊相似系数的计算。在模糊分类方法中,首先要建立模糊相似矩阵,表示对象的模糊相似程度其元素称为模糊相似系数,其确定方法主要有:数量积法、夹角余弦法、相关系数法、最大最小法、算术平均最小法、几何平均最小法、绝对值指数法、指数相似系数法、绝对值倒数法、绝对值减数法、参数法、贴近度法等。

模糊分类方法可以很好地处理客观事务类别属性的不明确性,主要包括[8]传递闭包法、最大树法、编网法、基于摄动的模糊方法等;但人们更多地将模糊方法和其他分类算法结合起来,既有与传统分类算法,如模糊决策树、模糊关联规则挖掘等的结合,也有与软计算在内其他方法,如模糊神经网络等的结合。

3.4 神经网络

神经网络是分类技术中重要方法之一,其优势在于:①神经网络可以任意精度逼近任意函数;②神经网络方法本身属于非线形模型,能够适应各种复杂的数据关系;③神经网络具备很强的学习能力,使它能够比很多分类算法更好地适应数据空间的变化;④神经网络借鉴人脑的物理结构和机理,能够模拟人脑的某些功能,具备“智能”的特点。基于神经网络的分类方法很多,基本是按照神经网络模型的不同而进行区分,用于数据分类常见的神经网络模型包括:BP神经网络、 RBF神经网络、自组织特征映射神经网络、学习矢量化神经网络。目前神经网络分类算法研究较多集中在以BP为代表的神经网络上。

3.4.1 BP神经网络 BP学习算法采用倒推学习算法,是从输出层向输入层逐层倒推的学习过程,一般按梯度算法进行权重的调整。有人[9]对BP神经网络和其他分类技术进行比较,认为BP神经网络能适应于大多数实际问题。但以BP为代表的这一类神经网络也存在一些缺陷,如这类神经网络只适用于平稳环境,学习算法计算的费用较高,不具备自学能力,不能进行快速学习、记忆以及学习能力之间存在冲突等问题,虽有多种改进算法,但仍不能从根本上解决这些问题。另外,此类神经网络借鉴了人脑的物理结构,存储在神经网络中的知识往往以连接权值的形式表现出来,这种形式本身很难理解,因而,此类神经网络也曾被比喻为黑箱模型。基于BP神经网络对多种分类规则黑箱提取算法进行了研究。

3.4.2 RBF神经网络 Cover证明了低维空间不可分的复杂模式有可能在高维空间变得线形可分,以此为基础,Broomhead和Lowe提出了径向基函数(RBF)神经网络模型[10],此神经网络模型利用差值在高维空间进行分类操作。基本的RBF神经网络一般只有一个隐含层,隐含层对输入层进行非线形变换,而输出层则提供从隐含层到输出层的线性变换。这种神经网络对训练模式的表示阶数有较低的敏感性,但Wong认为RBF对于学习映射的高频部分难度较大。

3.4.3 SOFM神经网络 受生物系统视网膜皮层生物特性和大脑皮层区域“有序特征映射”的影响,Kohonen提出了自组织特征映射神经网络(SOFM)[11],这种网络在网络输出层具备按照几何中心或者特征进行聚合的独特性质。它由输入层和竞争层构成,竞争层由一维或者二维阵列的神经元组成,输入层和竞争层之间实现全连接。通过在竞争学习过程中动态改变活性泡大小,该结构具备拓扑结构保持、概率分布保持、可视化等诸多优点。经典SOFM神经网络可以用于聚类或者分类,但其竞争层神经元个数要求事先指定,这种限制极大地影响了其在实际中的使用。针对此不足人们又提出了动态自组织特征映射神经网络,最具有代表性的是D.Alahakoon等提出的GSOFM(growing self-organizing maps)模型。

3.4.4 学习矢量化(LVQ)神经网络[12] 该网络是对Kohonen神经网络的监督学习的扩展形式,允许对输入分类进行指定。学习矢量化神经网络由输入层、竞争层、线性层构成。线性层神经元代表不同类别,竞争层的每一个神经元代表某个类别中的一个子类;线性层和竞争层之间用矩阵实现子类和类之间的映射关系。竞争层和输入层则是类似于SOFM神经网络的结构。LVQ神经网络以LVQ为基本模型,以此为基础提出改进模型LVQ2和LVQ3。这三者之间的不同点在于,在LVQ中只有获胜神经元才会得到训练,而在LVQ3和LVQ2中,当适当条件符合时,学习矢量化可以通过训练获胜神经元和次获胜神经元来对SOFM网络的训练规则进行扩展。

4 结语

分类算法是数据挖掘中的核心和基础技术之一,本文对基于传统算法和软计算的常见数据分类算法进行了综述;从而便于研究者对已有算法进行改进和设计新的分类算法。未来数据分类算法的研究则更多地集中在智能分类领域,如基于软计算的分类算法以及免疫算法、分形编码、蚁群优化等智能算法的分类研究上。

收稿日期:2006-03-25 修回日期:2006-07-23 本文起止页码:68-71,108

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

数据挖掘中的分类方法综述_数据挖掘论文
下载Doc文档

猜你喜欢