数据挖掘初探

159 阅读8分钟

数据挖掘初识

1.1 什么是数据挖掘

数据挖掘是在大型数据存储辟中,自动地发现有用信息的过程。数据挖掘技术用来探査大型 数据库,发现先前未知的有用模式。数据挖掘还可以预测未来观测结果,例如,预测一位新的顾 客是否会在一家百货公司消费100美元以上。

并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统査找个别的记录, 或通过因特网的搜索引擎査找特定的Web页面,则是信息检索(information retrieval)领域的任 务。虽然这些任务非常重要,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计 算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,人们 也在利用数据挖掘技术増强信息检索系统的能力。

数据挖掘与知识发现

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y395Ydet-1651401754975)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml14868\wps1.png)]

图1-1数据库中知识发现(KDD)过程

输入数据可以以各种形式存储(平展文件、电子数据表或关系表),并且可以驻留在集中的 数据存储库中,或分布在多个站点上。数据预处理(preprocessing)的目的是将未加工的输入数 据转换成适合分析的形式。数据预处理涉及的步骤包括融合来自多个数据源的数据,清洗数据以 消除噪声和重复的观测值,选择与当前数据挖掘任务相关的记录和特征。由于收集和存储数据的 方式多种多样,数据預处理可能是整个知识发现过程中最费力、最耗时的步骤。

“结束循环"(closing the loop)通常指将数据挖掘结果集成到决策支持系统的过程。例如, 在商业应用中,数据挖掘的结果所揭示的规律可以结合商业活动管理工具,从而开展或测试有效 的商品促销活动。这样的结合需要后处理(postprocessing)步骤,确保只将那些有效的和有用的 结果集成到决策支持系统中。后处理的一个例子是可视化(见第3章),它使得数据分析者可以 从各种不同的视角探査数据和数据挖掘结果。在后处理阶段,还能使用统计度量或假设检验,删 除虚假的数据挖掘结果。

1.2 数据挖掘要解决的问题

前面提到,面临新的数据集带来的问题吋,传统的数据分析技术常常遇到实际困难。下面是 一些具体的问题,它们引发了人们对数据挖掘开展研究。

可伸缩 由于数据产生和收集技术的进步,数吉字节、数太字节甚至数拍字节®的数据集越 来越普遍。如果数据挖掘算法要处理这些海量数据集,则算法必须是可伸缩的(scalable)。许多 数据挖掘算法使用特殊的搜索策略处理指数级搜索问题。为实现可伸缩可能还需要实现新的数据 结构,才能以有效的方式访问每个记录。例如,当要处理的数据不能放进内存时,可能需要非 内存算法。使用抽样技术或开发并行和分布算法也可以提高可伸缩程度。

高维性 现在,常常遇到具有成百上千属性的数据集,而不是几十年前常见的只具有少量属 性的数据集。在生物信息学领域,微阵列技术的进步己经产生了涉及数千特征的基因表达数据。 具有时间或空间分量的数据集也经常具有很高的维度。例如,考虑包含不同地区的温度测.量结果 的数据集,如果在一个相当长的时间周期内反复地测量,则维度(特征数)的增长正比于测量的 次数•为低维数据开发的传统的数据分析技术通常不能很好地处理这样的高维数据。此外,对于 某些数据分析算法,随着维度(特征数)的增加,计算复杂性迅速增加。

异种数据和复杂数据 通常,传统的数据分析方法只处理包含相同类型属性的数据集,或者 是连续的,或者是分类的。随着数据挖掘在商务、科学、医学和其他领域的作用越来越大,越来 越需要能够处理异种属性的技术。近年来,己经出现了更复杂的数据对象。这些非传统的数据类 型的例子有:含有半结构化文本和超链接的Web页面集、具有序列和三维结构的DNA数据、包 含地球表面不同位置上的时间序列测量值(温度、气压等)的气象数据。为挖掘这种复杂对象而 开发的技术应当考虑数据中的联系,如时间和空间的自相关性、图的连通性、半结构化文本和 XML文档中元素之间的父子联系。

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

非传统的分析传统的统计方法基于一种假设-检验模式,即提出一种假设,设计实验来收 集数据,然后针对假设分析数据。但是,这-过程劳力费神。当前的数据分析任务常常需要产生 和评估数千种假设,因此需要自动地产生和评估假设,这促使人们开发了 -些数据挖掘技术。此 外,数据挖掘所分析的数据集通常不是精心设计的实验的结果,并且它们通常代表数据的时机性 样本(opportunistic sample),而不是随机样本(random sample)。而且,这些数据集常常涉及非传 统的数据类型和数据分布。

1.3 数据挖掘的起源

为迎接上述这些挑战,来自不同学科的研究者汇集到一起,开始着手开发可以处理不同数据 类型的更有效的、可伸缩的工具。这些工作都是建立在研究者先前使用的方法学和算法之上,而 在数据挖掘领域达到髙潮。特别地,数据挖掘利用了来自如下一些领域的思想:(1)来自统计学 的抽样、估计和假设检验,(2)人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、 信号处理、可视化和信息检索。

~些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和査 询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术 也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AI1QxEs1-1651401754976)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml14868\wps3.png)]

图1-2数据挖掘汇集了许多学科的知识

1.4 数据挖掘任务

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

•预测任务。这些任务的目标是根据其他属性的值,预测特定属性的值。被预测的属性一 般称目标变量(target variable)或因变置(dependent variable),而用来做预测的属性称说 明变量(explanatory variable)或自变量(independent variable)»

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

预测建模(predictive modeling)涉及以说明变量函数的方式为目标变量建立模型。有两类 预测建模任务:分类(classification),用于预测离散的目标变量;回归(regression),用于预测 连续的目标变量。例如,预测一个Web用户是否会在网上书店买书是分类任务,因为该目标变 量是二值的,而预测某股票的未来价格则是回归任务,因为价格具有连续值属性。两项任务目标 都是训练一个模型,使目标变量预测值与实际值之间的误差达到最小。预测建模可以用来确定顾 客对产品促销活动的反应,预测地球生态系统的扰动,或根据检査结果判断病人是否患有某种疾病。