第一章 引言

来源:互联网 发布:linux中可执行文件 编辑:程序博客网 时间:2024/04/27 18:18

1、为什么进行数据挖掘

        我们生活在大量数据日积月累的年代。分析这些数据是一种重要需求。

1.1  迈向信息时代

        一种流行的说法是“我们生活在信息时代”。然而,实际上我们生活在数据时代。数据的爆炸式增长、广泛可用和巨大数量使得我们的时代成为真正的数据时代。

        急需功能强大和通用的工具,以便从这些海量数据中发现有价值的信息,把这些数据转化成有组织的知识。这种需求导致了数据挖掘的诞生

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

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


图1.1 数据库系统技术的演变

        数据收集数据库创建机制的早期开发已经成为稍后数据存储和检索以及查询和事务处理的有效机制开发的必备基础。

        自20世纪60年代以来,数据库和信息技术已经系统地从原始的文件处理演变成复杂的、功能强大的数据库系统。

        自20世纪70年代以来,数据库系统的研究和开发已经从开发层次和网状数据库发展到开发关系数据库系统、数据建模工具、索引和存取方法。

        数据库管理系统建立之后,数据库技术就转向高级数据库系统、支持高级数据分析的数据仓库和数据挖掘、基于Web的数据库。

高级数据分析源于20世纪80年代后期。

        最近出现的一种数据存储结构式数据仓库。这是一种多个异构数据源在单个站点以统一的模式组织的存储,以支持管理决策。数据仓库技术包括数据清理、数据集成和联机分析处理(OLAP)。OLAP是一种分析技术,具有汇总、合并和聚集以及从不同的角度观察信息的能力。

        总之,丰富的数据以及对强有力的数据分析工具的需求,这种情况被描述为“数据丰富,但信息贫乏”。数据和信息之间的鸿沟越来越宽,这就要求必须系统地开发数据挖掘工具,将数据坟墓转换成知识“金块”。

2、什么是数据挖掘

        简单地说,数据挖掘是指从大量数据中提取或“挖掘”知识。该术语实际上有点用词不当。还有一些术语具有和数据挖掘类似但稍微不同的含义,如从数据中挖掘知识知识提取数据/模式分析、数据考古数据捕捞

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

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

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

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

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

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

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

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

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

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

 

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

3、可以挖掘什么类型的数据

        作为一种通用技术,数据挖掘可以用于任何类型的数据,只要数据对目标应用是有意义的。对于挖掘的应用,数据的最基本形式是数据库数据、数据仓库数据和事务数据。数据挖掘也可以用于其他类型的数据(例如,数据流、有序/序列数据、图或网络数据、空间数据、文本数据、多媒体数据和万维网)。

3.1  数据库数据

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

        关系数据库是表的汇集,每个表都被赋予一个唯一的名字。每个表都包含一组属性(列或字段),并且通常存放大量元祖(记录或行)。

        虚构的AllElectronics商店用于解释概念。该公司用下列关系表描述:customer,item,employee和branch。这些表的表头显示在下图中


图1.3  AllElectronics关系数据库的关系模式

        当数据挖掘用于关系数据库时,你可以进一步搜索趋势或数据模式。例如,数据挖掘系统可以分析顾客数据,根据顾客的收入、年龄和以前的信用信息预测新顾客的信用风险。数据挖掘也可以检测偏差:例如,与以前的年份相比,哪些商品的销售出人意料。可以进一步考察这种偏差:例如,数据挖掘可能发现这些商品的包装的变化,或价格的大幅度提高。

        关系数据库是数据挖掘的最常见、最丰富的信息源,因此它是我们数据挖掘研究的一种主要数据形式。

3.2  数据仓库

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


图1.4  AllElectronics数据仓库的典型框架

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

        AllElectronics的数据立方体。如下图:


图1.5 

        通过提供多维数据视图和汇总数据的预计算,数据仓库非常适合联机分析处理。OLAP操作使用所研究的数据的领域背景知识,允许在不同的抽象层提供数据。这些操作适合不同的用户角度。OLAP操作的例子包括下钻上卷,它们允许用户在不同的汇总级别观察数据。

3.3  事务数据库

        一般地说,事务数据库的每个记录代表一个事务,如顾客的一次购物。通常,一个事务包括一个唯一的事务标识符(trans_ID),以及一个组成事务的项(如,交易中购买的商品)的列表。事务数据库可能有一些与之相关联的附加表,包含关于事务的其他信息,如商品描述信息。

        AllElectronics的事务数据库。


图1.6  AllElectronics销售事务数据库的片段

        事务数据上的数据挖掘可以通过挖掘频繁项集来做商品捆绑销售这件事。频繁项集是频繁地一起销售的商品的集合。

3.4  其他类型的数据

        除关系数据库数据、数据仓库数据和事务数据外,还有许多其他类型的数据,它们具有各种各样的形式和结构,具有很不相同的语义。这样的数据类型在许多应用中都可以看到,如时间相关或序列数据(例如历史记录、股票交易数据、时间序列和生物学序列数据)、数据流(例如视频监控和传感器数据,它们连续播送)、空间数据(如地图)、工程设计数据(如建筑数据、系统部件或集成电路)、超文本和多媒体数据(包括文本、图像、视频和音频数据)、图和网状数据(如社会和信息网络)和万维网(由Internet提供的巨型、广泛分布的信息存储库)。这些应用带来了新的挑战。

4、可以挖掘什么类型的模式

        数据挖掘功能:特征化与区分、频繁模式、关联和相关性挖掘、分类与回归、聚类分析、离群点分析。

        数据挖掘功能用于指定数据挖掘任务发现的模式。一般而言,这些任务可以分为两类:描述性预测性。描述性挖掘任务刻画目标数据中数据的一般性质。预测性挖掘任务在当前数据上进行归纳,以便做出预测。

4.1  类/概念:特征化与区分

        数据可以与类或概念相关联。例如,在AllElectronics商店,销售的商品类包括计算机和打印机,顾客概念包括bigSpenders和budgetSpenders。用汇总的、简洁的、精确的表达方式描述每个类和概念是有用的。这种类或概念的描述称为类/概念描述。这种描述可以通过方法得到:(1)数据特征化,一般地汇总所研究类(通常称为目标类)的数据;(2)数据区分,将目标类与一个或多个可比较类(通常称为对比类)进行比较;(3)数据特征化和区分。

        数据特征化是目标类数据的一般特征或特征的汇总。通常,通过查询来收集对应于用户指定类的数据。例如,为研究上一年销售增加10%的软件产品的特征,可以通过在销售数据库上执行一个SQL查询来收集关于这些产品的数据。

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

        数据特征化(例子)。AllElectronics的客户关系经理可能提出如下数据挖掘任务:“汇总一年之内在AllElectronics花费5000美元以上的顾客特征。“结果可能是顾客的概况,如年龄在40—50岁,有工作、有很好的信用等级。

        数据区分是将目标类数据对象的一般特性与一个或多个对比类对象的一般特性进行比较。目标类和对比类可以由用户指定,而对应的数据对象可以通过数据库查询检索。例如,用户可能希望将上一年销售增加10%的软件产品与同一时期销售至少下降30%的软件产品进行比较。用于数据区分的方法与用于数据特征化的方法类似。

        数据区分(例子)。AllElectronics的客户关系经理可能想比较两组顾客—定期(例如,每月多于2次)购买计算机产品的顾客和不经常(例如,每年少于3次)购买这种产品的顾客。结果描述提供这些顾客比较的概况,例如,频繁购买计算机产品的顾客80%在20—40岁之间,受过大学教育;而不经常购买这种产品的顾客60%或者年龄太大或者太年轻,没有大学学位。

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

        频繁模式是在数据中频繁出现的模式。存在多种类型的频繁模式,包括频繁项集、频繁子序列(又称序列模式)和频繁子结构。

        频繁项集一般是指频繁地在事务数据集中一起出现的商品的集合,如小卖部中被许多顾客频繁地一起购买的牛奶和面包。频繁出现的子序列,如顾客倾向于先购买便携机,再购买数码相机,然后再购买内存卡这样的模式就是一个(频繁)序列模式。子结构可能涉及不同的结构形式(例如,图、树或格),可以与项集或子序列结合在一起。如果一个子结构频繁地出现,则称它为(频繁)结构模式。

        挖掘频繁模式导致发现数据中有趣的关联和相关性。

        关联分析(例子)。假设作为AllElectronics的市场部经理,你想知道哪些商品经常一块被购买(即,在相同的事务中)。从AllElectronics的事务数据库中挖掘出来的这种规则的一个例子是       

其中,X是变量,代表顾客。这个关联规则涉及单个重复的属性或谓词(即buys)。包含单个谓词的关联规则称作单维关联规则

        假设给定涉及购买的AllElectronics关系数据库。数据挖掘系统还可以发现如下形式的规则

                                       

        这是涉及多个属性或谓词(即age,income和buys)的关联。采用多维数据库使用的术语,每个属性称作一个维,上面的规则可以称作多维关联规则

        通常,一个关联规则被认为是无趣的而被丢弃,如果它不能同时满足最小支持度阈值最小置信度阈值

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

4.3  用于预测分析的分类与回归

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

        “如何提供导出的模型?”导出的模型可以用多种形式表示,如分类规则(即IF-THEN规则)、决策树、数学公式或神经网络。

        决策树是一种类似于流程图的树结构,其中每个结点代表在一个属性指上的测试,每个分支代表测试的一个结果,而树叶代表类或类分布。容易把决策树转换成分类规则。

当用于分类时,神经网络是一组类似于神经元的处理单元,单元之间加权连接。还有许多构造分类模型的其他方法,如朴素贝叶斯粉类、支持向量机和k最近邻分类。   


                                      图1.7 分类模型可以用不同的形式表示:a)IF-THEN规则;b)决策树;c)神经网络

        分类预测类别(离散的、无序的)标号,而回归建立连续值函数模型。也就是说,回归用来预测缺失的或难以获得的数值数据值,而不是(离散的)类标号。回归分析是一种最常用的数值预测的统计学方法。

4.4  聚类分析

        不像分类和回归分析标记类的(训练)数据集,聚类分析数据对象,而不考虑类标号。在许多情况下,开始并不存在标记类的数据。可以使用聚类产生数据组群的类标号。

        对象根据最大化类内相似性、最小化类间相似性的原则进行聚类或分组。

        聚类也便于分类法形成,即将观测组织成类分层结构,把类似的事件组织在一起。

        聚类分析(例子)。可以在AllElectronics的顾客数据上进行聚类分析,识别顾客的同类子群。这些簇可以表示每个购物目标群。下图显示一个城市内顾客位置的二维图。数据点的三个簇是显而易见的。


                                             图1.8 关于一个城市内顾客位置的二维图,显示了3个数据簇

4.5  离群点分析

        数据集中可能包含一些数据对象,它们与数据的一般行为或模型不一致。这些数据对象是离群点

        大部分数据挖掘方法都将离群点视为噪声或异常而丢弃。然而,在一些应用中(例如,欺诈检测),罕见的事件可能比正常出现的事件更令人感兴趣。

        离群点数据分析称作离群点分析异常挖掘

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

        离群点分析(例子)。通过检测一个给定账号与正常的付费相比付款数额特别大,离群点分析可以发现信用卡欺骗性使用。离群点还可以通过购物地点和类型或购物频率来检测。

5、所有模式都是有趣的吗

        三个问题:(1)“什么样的模式是有趣的?”(2)“数据挖掘系统能够产生所有有趣的模式吗?”(3)“数据挖掘系统能够仅产生有趣的模式吗?”。

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

        存在一些模式兴趣度的客观度量。这些度量基于所发现模式的结构和关于它们的统计量。如关联规则中的支持和置信度。一般地,每个兴趣度度量都与一个阈值相关联,该阈值可以由用户控制。其他兴趣度度量包括分类(IF-THEN)规则的准确率与覆盖率。

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

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

        第二个问题——涉及数据挖掘算法的完全性。期望数据挖掘系统产生所有可能的模式通常是不现实的和低效的。

        第三个问题——是数据挖掘的优化问题。对于数据挖掘系统,仅产生有趣的模式是非常期望的。在这方面已经有了一些进展。然而,在数据挖掘中,这种优化仍然是个挑战。

6、使用什么技术

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


1.9 数据挖掘从其他许多领域吸纳技术

6.1 统计学

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

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

        统计学研究开发一些使用数据和统计模型进行预测和预报的工具。统计学方法可以用来汇总或描述数据集。

        统计学方法也可以用来验证数据挖掘结果。

6.2 机器学习

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

        机器学习是一个快速成长的学科。(1)监督学习基本上是分类的同义词。学习中的监督来自训练数据集中标记的实例。(2)无监督学习本质上是聚类的同义词。学习过程是无监督的,因为输入实例没有类标记。(3)半监督学习是一类机器学习技术,在学习模型时,它使用标记的和未标记的实例。在一种方法中,标记的实例用来学习类模型,而未标记的实例用来进一步改进类边界。(4)主动学习是一种机器学习方法,它让用户在学习过程中扮演主动角色。

6.3 数据库系统与数据仓库

        数据库系统研究关注为单位和最终用户创建、维护和使用数据库。数据库系统因其在处理非常大的、相对结构化的数据集方面的高度可伸缩性而闻名。

        数据仓库集成来自多种数据源和各个时间段的数据。它在多维空间合并数据,形成部分物化的数据立方体。数据立方体不仅有利于多维数据库的OLAP,而且推动了多维数据挖掘。

6.4 信息检索

        信息检索是搜索文档或文档中信息的科学。

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

7、面向什么类型的应用

        作为一个应用驱动的学科,数据挖掘已经在许多应用中获得巨大成功。在此,我们简略讨论两个数据挖掘非常成功和流行的应用例子:商务智能和搜索引擎。

7.1 商务智能

        对于商务而言,较好地理解它的诸如顾客、市场、供应和资源以及竞争对手等商务背景是至关重要的。

        “商务智能有多么重要?”没有数据挖掘,许多工商企业都不能进行有效的市场分析,比较类似产品的顾客反馈,发现其竞争对手的优势和缺点,留住具有高价值的顾客,做出聪明的商务决策。

        显然,数据挖掘是商务智能的核心。商务智能的联机分析处理工具依赖于数据仓库和多维数据挖掘。分类和预测技术是商务智能预测分析的核心,在分析市场、供应和销售方面存在许多应用。此外,在客户关系管理方面,聚类起主要作用,它根据顾客的相似性把顾客分组。使用特征挖掘技术,可以更好地理解每组顾客的特征,并开发定制顾客奖励计划。

7.2 Web搜索引擎

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

        搜索引擎对数据挖掘提出了巨大挑战。(1)它们必须处理大量并且不断增加的数据。(2)Web搜索引擎通常需要处理在线数据。(3)Web搜索引擎常常需要处理出现次数不多的查询。

8、数据挖掘的主要问题

        数据挖掘是一个动态的、强势快速扩展的领域。这里,我们需要概述数据挖掘研究的主要问题,把它们划分成五组:挖掘方法、用户交互、有效性与可伸缩性、数据类型的多样性、数据挖掘与社会。

8.1 挖掘方法

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

8.2 用户界面

       (1)交互挖掘(2)结合背景知识(3)特定的数据挖掘和数据挖掘查询语言(4)数据挖掘结果的表示和可视化

8.3 有效性和可伸缩性

        在比较数据挖掘算法时,总是需要考虑有效性与可伸缩性。随着数据量持续增加,这两个因素尤其重要。

      (1)数据挖掘算法的有效性和可伸缩性(2)并行、分布式和增量挖掘算法

        云计算和集群计算使用分布和协同的计算机处理超大规模计算任务,它们也是并行数据挖掘研究的活跃主题。此外,有些数据挖掘过程的高开销和输入的增量特点推动了增量数据挖掘。增量挖掘与新的数据更新结合在一起,而不必“从头开始”挖掘全部数据。这种算法增量地进行知识修改,修正和加强先前业已发现的知识。

8.4 数据库类型的多样性

        数据库类型的多样性为数据挖掘带来了一些挑战,这些挑战包括:(1)处理复杂的数据类型(2)挖掘动态的、网络的、全球的数据库。

8.5 数据挖掘与社会

        数据挖掘对社会有何影响?数据挖掘可以采取什么步骤来保护个人隐私?我们可以甚至不知道在做什么,而在日常生活中使用数据挖掘吗?这些问题提出以下议题:

     (1)数据挖掘的社会影响(2)保护隐私的数据挖掘(3)无形的数据挖掘。

0 0
原创粉丝点击