数据挖掘学习笔记(一)

1        引论

1.1   为什么进行数据挖掘

1.1.1           迈向信息时代

数据挖掘把大型数据集转换成知识,帮助我们应对当代的全球性挑战。

1.1.2           数据挖掘是信息技术的进化

数据挖掘可以看做信息技术自然进化的结果。数据库和数据管理产业在一些关键功能的开发上不断发展:数据收集数据库创建(包括数据存储和检索、数据库事务处理)和高级数据分析(包括数据仓库和数据挖掘)。

1.2   什么是数据挖掘

作为一个多学科领域,数据挖掘可以用多种方法定义。

许多人把数据挖掘视为另一个流行术语数据中的知识发现(KDD,Knowledge Discovery in Database)的同义词,而另一些人只是把数据挖掘视为知识发现过程中的一个基本步骤。知识发现过程由以下步骤的迭代序列组成:

(1)    数据清理(消除噪声和删除不一致的数据)

(2)    数据集成(多种数据源可以组合在一起)

(3)    数据选择(从数据库中提取与分析任务相关的数据)

(4)    数据变换(通过汇总或聚集操作,把数据变换和统一成适合挖掘的形式)

(5)    数据挖掘(基本步骤,使用智能方法提取数据模式)

(6)    模式评估(根据某种兴趣度度量,识别代表知识的真正有趣的模式)

(7)    知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)

步骤1~4是数据预处理的不同形式,为挖掘准备数据。数据挖掘步骤可能与用户或知识库交互。有趣的模式提供给用户,或作为新的知识存放在知识库中。

数据挖掘学习笔记(一)_第1张图片

图1 数据挖掘视为知识发现过程的一个步骤

这种观点把数据挖掘看做知识发现过程的一个步骤,尽管是最重要的一个步骤,因为它发现用来评估的隐藏模式。然而,在产业界、媒体和研究界,“数据挖掘”通常用来表示整个知识发现过程。因此,我们采用广义的数据挖掘功能的观点:数据挖掘是从大量数据中挖掘有趣模式和知识的过程。数据源包括数据库、数据仓库、Web、其他信息存储库或动态地流入系统的数据。

1.3   可以挖掘什么类型的数据

1.3.1           数据库数据

数据库系统,也称数据库管理系统(DBMS),由一组内部相关的数据(称做数据库)和一组管理和存取数据的软件程序组成。软件程序提供如下机制:定义数据库结构和数据存储,说明和管理并发、共享或分布式数据访问,面对系统瘫痪或未授权的访问,确保存储的信息的一致性和安全性。

1.3.2           数据仓库

数据仓库是一个从多个数据源收集的信息存储库,并放在一致的模式下,并且通常驻留在单个站点上数据仓库通过数据清理、数据变换、数据集成、数据装入和定期数据刷新来构造

数据挖掘学习笔记(一)_第2张图片

图2 数据仓库的典型框架

通常,数据仓库用称做数据立方体(data cube)的多维数据结构建模。其中,每个对应于模式中的一个或一组属性,而每个单元存放某种聚集度量值。数据立方体提供数据的多维视图,并允许与计算和快速访问汇总数据。

1.3.3           事务数据

一般地说,事务数据库的每个记录代表一个事务。通常,一个事务包含一个唯一的事务标识号,以及一个组成事务的项的列表。事务数据库可能有一些与之相关联的附加表,包含关于事务的其他信息。

1.3.4           其他类型的数据

除了上述三种类型的数据外,还有许多其他类型的数据,如时间相关或序列数据(例如历史记录、股票交易数据、时间序列和生物学序列数据)、数据流(例如视频监控和传感器数据,它们连续播送)、空间数据(如地图)、工程设计数据(如建筑数据、系统部件或集成电路)、超文本和多媒体数据(包括文本、图像、视频和音频数据)、图和网状数据(如社会和信息网络)和万维网。

1.4   可以挖掘什么类型的模式

存在大量数据挖掘功能,包括特征化与区分,频繁模式、关联和相关性挖掘,分类与回归,聚类分析,离群点分析。数据挖掘功能用于指定数据挖掘任务发现的模式。一般而言,这些任务可以分为两类:描述性(descriptive)和预测性(predictive)。描述性挖掘任务刻画目标数据中数据的一般性质。预测性挖掘任务在当前数据上进行归纳,以便做出预测。

有趣的模式即代表知识。

1.4.1           类/概念描述:特征化与区分

数据可以与类或概念相关联。用汇总的、简洁的、精确的表达方式描述每个类和概念是有用的,这种类或概念的描述称为类/概念描述。这种描述可以通过下述方法得到:(1)数据特征化,一般地汇总所研究类(通常称为目标类)的数据;(2)数据区分,将目标类与一个或多个可比较类(通常称为对比类)进行比较;(3)数据特征化和区分。

数据特征化(data characterization)是目标类数据的一般特性或特征的汇总。面向属性的归纳技术可以用来进行数据的泛化和特征化,而不必一步步地与用户交互。

数据特征化的输出可以用多种形式提供,例如饼图、条图、曲线、多维数据立方体和包括交叉表在内的多维表。结果描述也可以用广义关系或规则(称做特征规则)形式提供。

数据区分(data discrimination)是将目标类数据对象的一般特性与一个或多个对比类对象的一般特性进行比较。

数据区本的输出形式类似于特征描述,但是区分描述应当包括比较度量,以便帮助区分目标类和对比类。用规则表示的区分描述称为区分规则(discriminant rule)。

1.4.2           挖掘频繁模式、关联和相关性

频繁模式(frequent pattern)是在数据中频繁出现的模式。存在多种类型的频繁模式,包括频繁项集、频繁子序列(又称序列模式)和频繁子结构。频繁项集一般是指频繁地在事务数据集中一起出现的商品的集合。频繁出现的子序列,如顾客倾向于先购买便携机,再购买数码相机,然后再购买内存卡,这样的模式就是一个(频繁)序列模式。子结构可能涉及不同的结构形式,可以与项集或子序列组合在一起。如果一个子结构频繁地出现,则称它为(频繁)结构模式。挖掘频繁模式导致发现数据中有趣的关联和相关性

频繁项集挖掘是频繁模式挖掘的基础。

1.4.3           用于预测分析的分类和回归

分类(classification)是这样的过程,它找出描述和区分数据类或概念的模型(或函数),以便能够使用模型预测类标号未知的对象的类标号。导出模型是基于对训练数据集(即,类标号已知的数据对象)的分析。该模型用来预测类标号未知的对象的类标号。

导出的模型可以用多种形式表示,如分类规则(即IF-THEN规则)、决策树、数学公式或神经网络。决策树是一种类似于流程图的树结构,其中每个结点代表在一个属性值上的测试,每个分支代表测试的一个结构,而树叶代表类或类分布。容易把决策树转换成分类规则。当用于分类时,神经网络是一组类似于神经元的处理单元,单元之间加权连接。还有许多构造分类模型的其他方法,如朴素贝叶斯分类、支持向量机和k最近邻分类。

分类预测类别(离散的、无序的)标号,而回归建立连续值函数模型。也就是说,回归用来预测缺失的或难以获得的数值数据值,而不是(离散的)类标号。术语预测可以指数值预测和类标号预测。尽管还存在其他方法,但是回归分析(regression analysis)是一种最常使用的数值预测的统计学方法。回归也包含基于可用数据的分布趋势识别。

相关分析(relevance analysis)可能需要在分类和回归之前进行,它试图识别与分类和回归过程显著相关的属性。我们将选取这些属性用于分类和回归过程,其他属性是不相关的,可以不必考虑。

1.4.4           聚类分析

不像分类和回归分析标记类的(训练)数据集,聚类(clustering)分析数据对象,而不考虑类标号。在许多情况下,开始并不存在标记类的数据。可以使用聚类产生数据组群的类标号。对象根据最大化类内相似性、最小化类间相似性的原则进行聚类或分组。也就是说,对象的簇(cluster)这样形成,使得相比之下在同一簇中的对象具有很高的相似性,而与其他簇中的对象很不相似。所形成的每个簇都可以看做一个对象类,由它可以到处规则。聚类也便于分类法形成(taxonomy formation),即将观测组织成类分层结构,把相似的事件组织在一起。

1.4.5           离群点分析

数据集中可能包含一些数据对象,它们与数据的一般行为或模型不一致。这些数据对象是离群点(outlier)。大部分数据挖掘方法都将离群点视为噪声或异常而丢弃。然而,在一些应用中,罕见的事件可能比正常出现的事件更令人感兴趣。离群点数据分析称做离群点分析异常挖掘

可以假定一个数据分布或概率模型,使用统计检验来检测离群点;或者使用距离度量,将远离任何簇的对象视为离群点。不使用统计或距离度量,基于密度的方法也可以识别局部区域中的离群点,尽管从全局统计分布的角度看,这些局部离群点看上去是正常的。

1.4.6           所有模式都是有趣的吗

三个问题

(1)    什么样的模式是有趣的?

一个模式是有趣的(interesting),如果它:①易于被人理解;②在某种确信度上,对于新的或检验数据是有效的;③是潜在有用的;④是新颖的。如果一个模式证实了用户寻求证实的某种假设,则它是有趣的。有趣的模式代表知识

存在一些模式兴趣度的客观度量。这些度量基于所发现模式的结构和关于它们的统计量。对于形如X=>Y的关联规则,一种客观度量是规则的支持度(support)。规则的支持度表示事务数据库中满足规则的事务所占的百分比。关联规则的另一种客观度量是置信度(confidence),它评估所发现的规则的确信程度。一般地,每个兴趣度度量都与一个阈值相关联,该阈值可以由用户控制。

其他兴趣度度量包括分类(IF-THEN)规则的准确率和覆盖率。

尽管客观度量有助于识别有趣的模式,但是仅有这些还不够,还要结合反映特定用户需要和兴趣的主观度量。

主观兴趣度度量基于用户对数据的信念。这种度量发现模式是有趣的,如果它们是出乎意料的(与用户的信念相矛盾),或者提供用户可以采取行动的至关重要的信息。在后一种情况下,这样的模式称为可行动的(actionable)。意料之内的模式也可能是有趣的,如果它们证实了用户希望证实的假设,或与用户的预感相似。

(2)    数据在挖掘系统能够产生所有有趣的模式吗?

该问题涉及数据挖掘算法的完全性。期望数据挖掘系统产生所有可能的模式通常是不现实和低效的。实际上,应当根据用户提供的约束和兴趣度量对搜索聚焦。对于某些挖掘任务而言,通常能够确保算法的完全性。

(3)    数据挖掘系统能够仅产生有趣的模式吗?

该问题时数据挖掘的优化问题。对于数据挖掘系统,仅产生有趣的模式是非常期望的。这种度量可以在数据挖掘之后使用,根据模式的兴趣度对所发现的模式进行排位,过滤掉哪些不感兴趣的模式。更重要的是,这种度量可以用来指导和约束发现过程,通过减去模式空间中不满足预先设定的兴趣度约束的子集,提高搜索性能。

1.5   使用什么技术

作为一个应用驱动的领域,数据挖掘吸纳了诸如统计学、机器学习、模式识别、数据库和数据仓库、信息检索、可视化、算法、高性能计算和许多应用领域的大量技术。

1.5.1           统计学

统计学研究数据的收集、分析、解释和表示。

统计模型是一组数学函数,它们用随机变量及其概率分布刻画目标类对象的行为。统计模型广泛用于对数据和数据类建模。

推理统计学(或预测统计学)用某种方式对数据建模,解释规则中的随机性和确定性,并用来提取关于所考察的过程或总体的结论。

统计学方法也可以用来检验数据挖掘结果。统计假设检验(有时称做证实数据分析)使用实验数据进行统计判决。

1.5.2           机器学习

机器学习考察计算机如何基于数据学习(或提高它们的性能)。其主要研究的领域之一是,计算机程序基于数据自动地学习识别复杂的模式,并做出智能的判断。

监督学习(supervised learning)基本上是分类的同义词。学习中的监督来自训练数据集中标记的实例。

无监督学习(unsupervised learning)本质上是聚类的同义词。学习过程是无监督的,因为输入实例没有类标记。

半监督学习(semi-supervised learning)是一类机器学习技术,在学习模型时,它使用标记的和未标记的实例。在一类方法中,标记的实例用来学习类模型,而未标记的实例用来进一步改进边界。

主动学习(active learning)是一种机器学习方法,它让用户在学习过程中扮演主动角色。主动学习方法可能要求用户对一个可能来自未标记的实例集或由程序合成的实例进行标记。给定可以要求标记的实例数量的约束,目的是通过主动地从用户获取知识来提高模型质量。

1.5.3           数据库系统和数据仓库

数据库系统研究关注为单位和最终用户创建、维护和使用数据库。

新的数据库系统使用数据仓库和数据挖掘机制,已经在数据库的数据上建立了系统的数据分析能力。数据仓库集成来自多种数据源和各个时间段的数据。

1.5.4           信息检索

信息检索(IR)是搜索文档和文档中信息的科学。文档可以是文本或多媒体,并且可能驻留在Web上。

信息检索的典型方法采用概率模型。

1.6   面向什么类型的应用

两个数据挖掘非常成功和流行的例子:商务智能和搜索引擎。

1.6.1           商务智能

商务智能(BI)技术提供商务运作的历史、现状和预测视图,例子包括报告、联机分析处理、商务业绩管理、竞争情报、标杆管理和预测分析。

分类和预测技术是商务智能预测分析的核心,在分析市场、供应和销售方面存在许多应用

1.6.2           Web搜索引擎

Web搜索引擎是一种专门的计算机服务器。搜索引擎不同于网络目录,因为网络目录是人工编辑管理的,而搜索引擎是按算法运行的,或者是算法和人工输入的混合。

Web搜索引擎本质上是大型数据挖掘应用。搜索引擎全方位地使用各种数据挖掘技术,包括爬行(例如,决定应该爬过哪些页面和爬行频率)、索引(例如,选择被索引的页面和决定构建索引的范围)和搜索(例如,确定如何排列各个页面、加载何种广告、如何把搜索结果个性化或使之“环境敏感”)。

搜索引擎对数据挖掘提出了巨大挑战。

首先,它们必须处理大量并且不断增加的数据。

其次,Web搜索引擎通常需要处理在线数据。

另一个挑战是在快速增长的数据流上维护和增量更新模型。

第三,Web搜索引擎常常需要处理出现次数不多的查询。

1.7   数据挖掘的主要问题

数据挖掘是一个动态的、强势快速扩展的领域。

1.7.1           挖掘方法

  • 挖掘各种新的知识类型
  • 挖掘多维空间中的知识
  • 数据挖掘——跨学科的努力
  • 提升网络环境下的发现能力
  • 处理不确定、噪声或不完全数据
  • 模式评估和模式或约束指导的挖掘

1.7.2           用户界面

用户在数据挖掘过程中扮演重要角色。有趣的研究领域包括如何与数据挖掘系统交互,如何在挖掘中融入用户的背景知识,以及如何可视化和理解数据挖掘的结果。

  • 交互挖掘:数据挖掘过程应该是高度交互的。
  • 结合背景知识:应当把背景知识、约束、规则和关于所研究领域的其他信息结合到发现的过程中。
  • 特定的数据挖掘和数据挖掘查询语言
  • 数据挖掘结果的表示和可视化

1.7.3           有效性和可伸缩性

  • 数据挖掘算法的有效性和可伸缩性:数据挖掘算法的运行时间必须是可预计的、短的和可以被应用接收的。
  • 并行、分布式和增量挖掘算法

1.7.4           数据库类型的多样性

  • 处理复杂的数据类型
  • 挖掘动态的、网络的、全球的数据库

1.7.5           数据挖掘与社会

  • 数据挖掘的社会影响
  • 保护隐私的数据挖掘
  • 无形的数据挖掘

1.8   小结

  • 数据挖掘是从海量数据中发现有趣模式的过程。作为知识发现过程,它通常包括数据清理、数据集成、数据选择、数据变换、模式发现、模式评估和知识表示。
  • 一个模式是有趣的,如果它在某种确信度上对于检验数据是有效的、新颖的、潜在有用的 ,并且易于被人理解。有趣的模式代表知识模式兴趣度度量,无论是客观的还是主主观的,都可以用来指导发现过程。
  • 我们提供了一个数据挖掘的多维视图。主要的维是数据、知识、技术应用
  • 只要数据对于目标应用是有意义的,数据挖掘可以在任何数据类型的数据上进行,如数据库数据、数据仓库数据、事务数据和高级数据类型等。高级数据类型包括时间相关的或序列数据、数据流、空间和时空数据、文本和多媒体数据、图和网络数据、Web数据。
  • 数据仓库是一种用于长期存储数据的仓库,这些数据来自多个数据源,是经过组织的,以便支持管理决策。这些数据在一种统一的模式下存放,并且通常是汇总的。数据仓库提供一些数据分析能力,称做联机分析处理
  • 多维数据挖掘(又称探索式多维数据挖掘)把数据挖掘的核心技术与基于OLAP的多维分析结合在一起。它在不同的抽象层的多维组合中搜索有趣的模式,从而探索多维数据空间。
  • 数据挖掘功能用来指定数据挖掘任务发现的模式或知识类型,包括特征化和区分,频繁模式、关联和相关性挖掘,分类和回归,聚类分析和离群点检测。
  • 作为一个应用驱动的领域,数据挖掘融会来自其他一些领域的技术。这些领域包括统计学、机器学习、数据库和数据仓库系统,以及信息检索。数据挖掘研究月开发的多学科特点大大促进了数据挖掘的成功和广泛应用。
  • 数据挖掘有许多成功的应用,如商务智能、Web搜索、生物信息学、卫生保健信息学、金融、数字图书馆和数学政府。
  • 数据挖掘研究存在许多挑战性问题。领域包括挖掘方法、用户交互、有效性和可伸缩性,以及处理多种多样的数据类型。

 参考:《数据挖掘概念与技术》第3版 韩家炜等

你可能感兴趣的:(数据挖掘,数据挖掘)