1 数据挖掘概述
随着数据库技术的迅速发展,数据存量大量增加着,但是挖掘海量数据的背后隐藏着的知识的手段远远不足。从而导致了“数据爆炸但知识贫乏”的现象。计算机技术的另一领域人工智能(Artificial Intelligence)自1956年诞生之后取得了重大进展。该领域目前的研究热点是机器学习——用计算机模拟人类学习的一门科学。
用数据库管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后的知识,这两者的结合促成了数据挖掘的产生。实际上,数据挖掘是一门交叉学科,涉及到机器学习、模式识别、统计学、智能数据库、知识获取、数据可视化、高性能计算、专家系统等多个领域。数据挖掘的成果可以用在信息管理、过程控制、科学研究、决策支持等许多方面。
数据采掘(Data Mining),指的是从大型数据库或数据仓库中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息。数据挖掘是一个高级的处理过程,它从数据集中识别出以模式来表示的知识。高级的处理过程是指一个多步骤的处理过程,多步骤之间相互影响、反复调整,形成一种螺旋式上升过程。
数据挖掘的过程与人类问题求解的过程是存在巨大相似性的。具体比较见Figure 1.。挖掘过程可能需要多次的循环反复,每一个步骤一旦与预期目标不符,都要回到前面的步骤,重新调整,重新执行。
Typical Human Decision Making |
Knowledge Discovery Process |
|
Define the problem |
Define the problem |
|
Collect the facts |
Obtain data to demonstrate past experience |
|
Review the quality of your facts |
Preprocess the data |
|
Generalize on your facts - review potential solutions |
Develop a model |
|
Check your generalizations |
Validate the model |
|
Review your objectives |
Define your objectives |
|
Evaluate all solutions to determine the best solution |
Optimize the problem - find the best solution |
Figure 1. Steps in Solving A Problem [1]
从数据中发现模式
数据挖掘算法的好坏将直接影响到所发现知识的好坏。数据挖掘的任务是从数据中发现模式。模式是一个用语言L来表示的一个表达式E,它可用来描述数据集F中数据的特性,E所描述的数据是集合F的一个子集FE。E作为一个模式要求它比列举数据子集FE中所有元素的描述方法简单。模式有多种分类,下面做一个简要的介绍:
n 按功能可分有两大类:预测型(Predictive)模式和描述型(Descriptive)模式:
1. 预测型模式
2. 描述型模式
n 在实际应用中,往往根据模式的实际作用细分为以下6种:
1. 分类模式
2. 回归模式
3. 时间序列模式
4. 聚类模式
5. 关联模式
6. 序列模式
在解决实际问题时,经常要同时使用多种模式。分类模式和回归模式是使用最普遍的模式。分类模式、回归模式、时间序列模式也被认为是受监督知识,因为在建立模式前数据的结果是已知的,可以直接用来检测模式的准确性,模式的产生是在受监督的情况下进行的。一般在建立这些模式时,使用一部分数据作为样本,用另一部分数据来检验、校正模式。聚类模式、关联模式、序列模式则是非监督知识,因为在模式建立前结果是未知的,模式的产生不受任何监督。
2 分类算法
分类算法概述
分类是一类重要的数据挖掘问题,可描述如下[2]:
输入数据,或称训练集(Training Set),是一条条的数据库记录(Record)组成的。每一条记录包含若干条属性(Attribute),组成一个特征向量。训练集的每条记录还有一个特定的类标签(Class Label)与之对应。该类标签是系统的输入,通常是以往的一些经验数据。一个具体样本的形式可为样本向量:(v1, v2, ... , vn; c)。在这里vi表示字段值,c表示类别。
分类的目的是:分析输入数据,通过在训练集中的数据表现出来的特性,为每一个类找到一种准确的描述或者模型。这种描述常常用谓词表示。由此生成的类描述用来对未来的测试数据进行分类。尽管这些未来的测试数据的类标签是未知的,我们仍可以由此预测这些新数据所属的类。注意是预测,而不能肯定。我们也可以由此对数据中的每一个类有更好的理解。也就是说:我们获得了对这个类的知识。
有三种分类器评价或比较尺度:
1. 预测准确度 预测准确度是用得最多的一种比较尺度,特别是对于预测型分类任务,目前公认的方法是10番分层交叉验证法。
2. 计算复杂度 计算复杂度依赖于具体的实现细节和硬件环境,在数据挖掘中,由于操作对象是巨量的数据库,因此空间和时间的复杂度问题将是非常重要的一个环节。
3. 模型描述的简洁度 对于描述型的分类任务,模型描述越简洁越受欢迎;例如,采用规则表示的分类器构造法就更有用,而神经网络方法产生的结果就难以理解。
分类的典型应用:信用卡系统中的信用分级、市场调查、疗效诊断、寻找店址等等。
举例说明分类的过程
信用卡系统的信用分级是分类的典型应用。Figure 2.和Figure 3.描述了信用分级系统的运行机制。我们可以看到:这是一个分为两步走的过程,第一步是利用训练数据集进行学习的过程,第二步是进行模型评估,降低模型噪音并投入实际运行的过程。
|