1.数据挖掘的基本概念
数据挖掘(Data Mining,DM)是和知识发现紧密联系在一起的,因此它又被称为数据库知识发现、数据采掘、信息发现等。数据库知识发现(Knowledge Discovery in Database,KDD)在1989年的第一届KDD专题讨论会上被首次采用,用于表示在数据中发现知识发现的广泛进程,并强调特殊数据开采方法的“高层”应用。这个术语强调了知识是数据发现的最终产品,并很快在人工智能和机器学习等领域得到了广泛的应用。
数据挖掘是人们试图理解、分析和利用大量已经获得的数据的过程。目前,人们急切需要将存在于数据库或其他信息仓库中的海量数据转化为有用的知识,因而数据挖掘技术被认为是一个新兴的、非常重要的、具有广阔应用前景的和富有挑战性的研究领域,并引起了众多的学科(如人工智能、统计学、数据仓库、在线分析处理、专家系统、数据可视化、高性能计算等)研究者的广泛注意。作为一个新兴的学科,它也是由上述众多学科相互交叉、融合而成的。
2.数据挖掘的主要技术
数据库技术只是将数据有效地组织和存储在数据库中,并对数据进行简单的分析和处理,大量隐藏在数据内部的有用信息仍无法得到。而机器学习、模式识别、统计学等领域有大量提取知识的方法,但是这些方法没有和实际应用中的海量数据结合起来,很大程度上只是在实验数据或学术研究上发挥作用。
数据挖掘从一个新的角度将数据库技术、机器学习、统计学领域结合起来,从更深层次发掘存在于数据内部的有效的、新颖的、具有潜在效用的乃至最终可理解的模式。由此,根据数据挖掘的方法所属领域的不同,可以对数据挖掘进行如下分类。
1)数学统计方法
使用这种方法一般是首先建立一个数学模型或统计模型,然后根据这种模型提取有关的知识。例如,可由训练数据建立一个Bayesian网络,然后根据该网络的一些参数及其联系权值提取出相关的知识。
2)机器学习方法
大多数的机器学习方法是用人类的认识模型模仿人类的学习方法从数据中提取知识。经过多年的研究,由于机器学习已经取得了一些较为满意的成果,因此,在数据挖掘中可以利用比较成熟的机器学习方法。
3)面向数据库的方法
随着数据库技术的发展,一些数据处理方法不断地完善并且趋于成熟,在数据挖掘中,利用现有的一些数据库技术和某些专门针对数据库的一些启发式方法,可以提取数据库中的一些特征知识。
4)混合方法
上述各种方法各有其优缺点,为提高挖掘的效率,可将其中的某些方法有效结合起来,取长补短,以发现更有价值的知识。例如,机器学习的推导可以和演绎数据结合起来,前者用于知识的推导,而后者用于验证发现知识的正确性。
5)其他方法
除了上述方法,还有其他方法如数据可视化技术、知识表示技术等。同样,按照研究对象的数据类型的不同,数据挖掘的技术也可以分为以下几个方面。
(1)时间序列数据挖掘方法(Temporal或Time Series Data Mining)。它是与时间有关的一系列数据。可以进一步分为时间相关数据和序列相关数据。时间相关数据与数据产生的绝对时间有关,如股票价格、银行账务、设备运行日志等;序列相关数据与数据产生的绝对时间关系不大,只注重数据间的先后次序。典型的序列相关数据是传感器输出数据,简称传感器数据(Sensor Data)。对时间序列数据的挖掘主要是发现序列中事物出现的周期和规律,以及不同时间序列间的同步关系。
(2)空间数据挖掘方法(Temporal Data Mining)。它是与空间位置或地理信息有关的数据,如二维、三维图像数据,地理信息系统GIS数据,人口普查数据等。
(3)文本数据挖掘方法(Text Data Mining)。文本数据就是一般的文字,对文本数据的挖掘主要是发现某些文字出现的规律及文字与语义、语法之间的联系,用于自然语言处理,如机器翻译、语音识别、信息检索等。当前一个十分活跃的研究方向是Web日志(Web log)的挖掘,目的是有效发现Internet用户访问站点的模式,从而提高服务的针对性。
(4)多媒体数据挖掘方法(Multimedia Data Mining)。随着多媒体技术发展而日益涌现的声音、图形、图像、超文本等数据。例如,针对大量图像的存储和查询问题而兴起的基于内容的图像检索(Content-based Image Retrieval,CBIR)问题。由于与传统的文本数据不同,因此必须采用新的挖掘手段来发现内容和形式间的内在联系。