当前位置:首页 > 数据挖掘 > 详解数据挖掘中的分类问题

详解数据挖掘中的分类问题

  分类(classification)问题是数据挖掘领域研究的历史最为悠长,也是研究的较为透彻的问题。在数据挖掘领域,分类可以看成是从一个数据集到一组预先定义的、非交叠的类别的映射过程。其中映射关系的生成以及映射关系的应用就是数据挖掘分类方法主要的研究内容。这里的映射关系就是我们常说的分类函数或分类模型(分类器),映射关系的应用就对应于我们使用分类器将数据集中的数据项划分到给定类别中的某一个类别的过程。


  举一个简单的例子,我们人是怎么区分另一个人是男性和女性的问题就是一个分类的问题。在我们的大脑中早就建立了男人和女人的模型,每当我们遇到一个陌生人的时候,我们的大脑就获取到了这个人的特征信息,通过大脑中的模型去将这个人归类到男性或者女性的类别中(当然人的大脑神经系统处理这个问题时的流程往往比我们这里叙述的复杂的多)。但是我们大脑中的模型是怎么建立的呢?是生来就有的吗?很明显不是。我们大脑建立模型的过程都是从过去的经验中总结积累出来的,并在实践过程中不断地修正或扩充。


  很明显我们就可以从上面的例子中得出分类的实践意义是什么——分类从历史的特征数据中推导出特定对象的描述模型,用来对未来数据的预测和分析。分类方法具有广泛的应用领域,比如医疗诊断、信用卡系统的信用分级、图像模式识别、网络数据分类等。


  分类的基本概念和过程描述:


  分类的定义:给定一个数据集D={t1,t2,…,tn}和一组类C={C1,C2,…,Cn},分类问题就是去确定一个映射f:D->C,每个元组ti被分配到一个类中。类Cj包含映射到该类中的所有数据元组,即Cj={ti | f(ti)=Cj,1<=i<=n,且ti∈D}。


  一般地,数据分类分类两个步骤:建模和模型应用。


  1、建立模型,描述预订的数据类集和概念集。


  通过分析由属性描述的数据集元组来构造模型。数据元组即样本、实例或对象。用于建模而被分析的数据元组的集合形成了训练集,训练集中的样本即是训练元组。为了保证建造的模型与与原始数据的分布匹配且可用,我们需要从样本群中随机的选取训练样本。每个训练元组都有一个特定的类标签与之对应,即对于样本数据X,其中x是他的训练元组,y是对应的类标签,X就可以理解为类似的二维坐标关系X(x,y),当然这里只是便于理解的简单例子。实际上,x往往包含多个特征值,是多维向量。


  分类器模型的一般表示形式为分类规则、决策树或等式、不等式、规则式等形式,这个分类器模型对历史数据分布模型进行了归纳,可以用来为以后的数据样本分类,也能帮助人们更好的理解数据集的内容或含义。


      2、分类模型的应用


  分类器在使用之前,首先要准确的评估模型的预测准确率,只有在模型的准确率可以接受时,才可以用它来对类标号未知的数据元组或对象进行分类。模型在给定测试数据上的准确率是指测试样本被模型正确分类的百分比,对于每个测试样本,将已知的类标号和该样本被分类模型预测的类作比较,这样就确定了测试样本是否被准确分类。需要注意的是,若将训练数据用作测试数据,则模型的预测准确率将过分乐观,因为学习模型倾向于过分的拟合训练数据。因此,比较合理的模型评估方法是使用交叉验证法,从原始数据集中随机选取独立于训练样本的测试数据。


  简单地说来,分类的两个步骤可以归结为模型的建立和使用模型进行分类。模型的建立的过程就是使用训练数据进行学习的过程,模型的应用过程就是对类标号未知的数据进行分类的过程。


 从机器学习的角度看分类问题:


  机器学习中的方法或范式(paradigm)有很多种分类体系,例如从学习的方式分,有从例子中学习、类比学习、分析学习等,但一般来说,现在研究得最多、被认为最有用的是从例子中学习(learning from examples)。对从例子中学习,又有很多分类方法,例如从学习的主动性方面,可以分为主动学习(active learning)和被动学习(passive learning);从训练过程启动的早晚,可以分为迫切学习(eager learning)和惰性学习(lazy learning);等等。


  对“从例子中学习”的方法,从训练样本的歧义性(ambiguity)的角度来进行分类,机器学习可以分为监督学习、非监督学习和强化学习,这是机器学习最常见的分类方法。对于监督学习,给定一系列训练样本,其中每个样本都做上了标记,比如说标记出这个样本来自对一个苹果的一次观测。学习的目的是从这些带有标记的样本中学习到一些概念,比如说什么样的数据对应苹果而不是香蕉,并且在未来给出新的样本时,能够正确预测新样本的标记。这里所有训练例的概念标记都是已知的,因此训练样本的歧义性最低。简单的说,监督学习就是由训练样本中学到或建立一个模式(函数 / learning model),并依此模式推测新的instances。训练样本是由数据元组(通常是向量)和预期输出(类别值)所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。


  分类器常见的构造方法:


  从分类器构造参照的理论原理来源来看,分类器常见的构造方法可以分为3大类:数理统计方法、机器学习方法和神经网络方法等。

  数理统计方法:包括贝叶斯法和非参数法。常见的临近学习或基于事例的学习(Instance-Based Learning,IBL)属于非参数方法。k-最邻近算法(k-Nearest Neighborhors,简称kNN)就是属于非参数方法。


  机器学习方法:决策树法和规则归纳法。


  神经网络方法:BP算法

  其他,如粗糙集等。


  从使用技术上来分,可以分为四种类型:基于距离的分类方法、决策树分类方法、贝叶斯分类方法和规则归纳方法。基于距离的分类方法主要有最邻近方法;决策树方法有ID3、C4.5、VFDT等;贝叶斯方法包括朴素贝叶斯方法和EM算法;规则归纳方法包括AQ算法、CN2算法和FOIL算法。


  分类方法中我们不仅需要研究分类器的构造方法和应用,还要考虑到分类数据的预处理以及分类算法的性能评价。


赞 (