【chapter01】绪论

一 什么是数据挖掘

数据挖掘是在大型数据存储库中,自动地发现有用信息的过程。

1.1 数据挖掘与知识发现

数据挖掘是数据库中知识发现(knowledge discovery in database, KDD)不可缺少的一部分。而KDD是将未加工的数据转换为有用信息的整个过程。如图1-1所示,该过程包括一系列转换步骤,从数据的预处理到数据挖掘结果的后处理。

【chapter01】绪论

1)输入数据可以以各种形式存储(平展文件、电子数据表或关系表),并且可以驻留在集中的数据存储库中,或分布在多个站点上。

2)数据预处理(preprocessing)的目的是将未加工的输入诗句转换成适合分析的形式。数据预处理的步骤包括融合来自多个数据源的数据,清洗数据以消除噪声和重复的观测值,选择与当前数据挖掘任务相关的记录和特征。

3)“结束循环”(closing the loop)通常指将数据挖掘结果集成到决策支持系统的过程。例如,在商业应用中,数据挖掘的结果所揭示的规律可以结合商业活动管理工具,从而开展或测试有效的商品促销活动。这样的结合需要后处理(postprocessing)步骤,确保只将那些有效的和有用的结果集成到决策支持系统中。

1.2 数据挖掘要解决的问题

1)可伸缩:由于数据产生和收集技术的进步,数吉字节、数太子节甚至数拍字节的数据集越来越普遍。如果数据挖掘算法要处理这些海量数据集,则算法必须是可伸缩的(scalable)。

2)高维性:现在,常常遇到具有成百上千属性的数据集,而不是几十年前常见的只具有少数属性的数据集。在生物信息学领域,微阵列技术的进步已经产生了涉及数千特征的基因表达数据。为低维数据开发的传统的数据分析技术通常不能很好的处理这样的高维数据。此外,对于某些数据分析算法,随着维度(特征数)的增加,计算复杂性迅速增加。

3)异种数据和复杂数据:含有半结构化文本和超链接的Web页面集、具有序列和三维结构的DNA数据、包含地球表面不同位置上的时间序列测量值(温度、气压等)的气象数据。为挖掘这种复杂对象而开发的技术应当考虑数据中的联系,如时间和空间的自相关性、图的连通性、半结构化文本和XML文档中元素之间的父子联系。

4)数据的所有权与分布:有时,需要分析的数据并非存放在一个站点,或归属一个结构,而是地理上分布在属于多个机构的资源中。这就需要开发分布式挖掘技术。分布式数据挖掘算法面临的主要挑战包括:①如何降低执行分布式计算所需的通信量?②如何有效地统一从多个资源得到的数据挖掘结果?③如何处理数据安全性问题?

5)非传统分析:当前的数据分析任务常常需要产生和评估数千种假设,因此需要自动地产生和评估假设。这促使人们开发了一些数据挖掘技术。此外,数据挖掘所分析的数据集通常不是精心设计的实验结果,并且它们通常代表数据的时机性样本(opportunistic sample),而不是随机样本(random sample)。而且,这些数据集常常涉及非传统的数据类型和数据分布。

1.3 数据挖掘的起源

数据挖掘利用了来自如下一些领域的思想:

1)来自统计学的抽样、估计和假设检验
2)人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。

数据挖掘也迅速的接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。

一些其他领域也起到重要的支撑作用:

1)需要数据库系统提供有效的存储、索引和查询处理支持
2)高性能(并行)计算技术和分布式技术处理海量数据集

图1-2展示数据挖掘与其他领域之间的联系。

【chapter01】绪论

1.4 数据挖掘任务

通常,数据挖掘任务分为下面两大类。

1)预测任务:根据其他属性的值,预测特性属性的值。被预测的属性一般称为目标变量(target variable)或因变量(dependent variable)。而用来做预测的属性称为明变量(explanatory variable)或自变量(independent variable)。

2)描述任务:导出数据中潜在联系的模式(相关、趋势、聚类、轨迹和异常)。本质上,描述性数据挖掘任务通常是探查性的,并且常常需要后处理技术验证和解释结果。

以下是四种主要数据挖掘任务。

【chapter01】绪论

①预测建模(predictive modeling):涉及以说明变量函数的方式为目标变量建立模型。有两类预测建模任务:分类(classification),用于预测离散的目标变量;回归(regression),用于预测连续的目标变量。预测建模可以用来确定顾客对产品促销活动的反应,预测地球生态系统的扰动,或根据检查结果判断病人是否患有某种疾病。

②关联分析(association analysis):用来发现描述性数据中强关联特征的模式。所发现的模式通常用蕴含规则或特征子集的形式表示。关联分析的应用包括找出具有相关功能的基因组,识别用户一起访问的Web页面、理解地球气候系统不同元素之间的联系等。

③聚类分析(cluster analysis):旨在发现紧密相关的观测值组群,使得与属于不同蔟的观测值相比,属于同一簇的观测值相互之间尽可能类似。聚类可用来对相关的顾客分组,找出显著影响地球气候的海洋区域以及压缩数据等。

④异常检测(anomaly detection):识别其特征显著不同于其他数据的观测值。这样的观测值称为异常点(anomaly)或离群点(outlier)。异常检测算法的目标是发现真正的异常点,而避免错误的将正常的对象标注为异常点。异常检测的应用包括检测欺诈、网络攻击、疾病的不寻常模式、生态系统扰动等。