数据挖掘:基本概念理解
定义
数据挖掘:从大量数据中挖掘有趣模式和知识的过程。
一、知识发现过程
1)数据预处理
1、数据清理:消除噪声和删除不一致数据;
2、数据集成:多种数据源组合在一起。
3、数据选择:从数据库中提取与分析任务相关的数据。
4、数据变换:通过汇总或聚集操作,把数据变换和统一成适合挖掘的形式。
2)数据挖掘
基本步骤、使用智能方法提取数据模式
3)模式评估
根据某些兴趣度度量,识别代表知识的真正有趣的模式。
4)知识表示
使用可视化和知识表示技术,向用户提供挖掘的知识。
二、可以挖掘的数据类型
1)数据库数据
#关系型数据库是数据挖掘最常见、最丰富的信息源,是数据挖掘研究的一种主要数据形式。
2)数据仓库
数据仓库:一个从多个数据源收集的信息存储库,存放在一致的模式下,并且通常驻留在单个站点上。
#特点:
1、数据仓库通过数据清理、数据变换、数据集成、数据装入和定期数据刷新来构成。
2、通常,数据仓库称作数据立方体(data cube)的多维数据结构建模。其中每个维对应于模式中的一个或一组属性,而每个单元存放某种聚集度量值,如 count 或 sum 。
(数据立方体提供数据的多维视图,并允许预计算和快速访问汇总数据)
3)事务数据
#特点:
1、数据数据库的每一个记录代表一个事务。
2、通常一个事务包含一个唯一的事务标识号(trans_ID),以及一个组成事务的项的列表。
3、事务可以存放在表中,每个事务一个记录。
4)其它类型的数据
# 例:时间相关或序列数据、数据流、空间数据(如地图)、工程设计数据、超文本和多媒体数据、图和网状数据和万维网、
三、可以挖掘的类型的模式
# 数据挖掘功能:特征化与区分,频繁模式、关联和相关性挖掘,分类与回归,聚类分析,离群点分析。
# 数据挖掘功能用于指定数据挖掘任务发现的模式。(模式,根据不同的挖掘任务,所使用的不同的挖掘方法)
# 数据挖掘任务任务可以分为两类:
1、描述性(descriptive):刻画目标数据中数据的一般性质;
2、预测性(predictive):在当前数据上进行归纳,一遍做出预测;
1)类/概念描述:特征化与区分
# 数据可以与类或概念相关联,也就是用汇总的、简洁的、精确的表达方式描述每个类和概念。这种描述就是对数据特征化和区分。
# 描述数据的方法:
1、数据特征化
# 数据特征化:目标数据的一般特性或特征的汇总。
# 数据特征化的结果:饼图、条图、线图、多维数据立方体、包含交叉表在内的多维表。(也可以用广义关系或者规则(称特征规则)形式提供)
# 例,挖掘任务:汇总一年之内在淘宝花费2万元以上的顾客特征。
# 客户数据信息特征化的结果可以是顾客的概况:年龄在30~45岁、有工作、有很好的信用等级。
# 数据挖掘应对允许用户在任意维下钻,一遍根据这些维度观察用户。
2、数据区分
# 数据区分:将目标类数据对象的一般特性与一个或多个对比类对象的一般特性进行比较。
# 数据区分的结果:类似特征描述,但区分描述应当包括比较度量,以便帮助区别目标类和对比类。
# 例,挖掘任务:比较两组顾客——定期购买手机的顾客和不经常购买这种产品的顾客。
# 结果描述:提供这些顾客比较的概况
2)挖掘频繁模式、关联和相关性
1、频繁模式:在数据中频繁出现的模式。
频繁项集:频繁的在事务数据集中一起出现的商品的集合;(如,超市中被许多顾客频繁地一起购买的牛奶和面包)
频繁子序列(又称序列模式):如,淘宝上顾客倾向于先购买手机,再购买保护套,然后再购买手机保护膜,这样一个模式就是一个(频繁)序列模式。
频繁子结构:涉及不同的数据结构形式(如,图、树、格),可以与项集或子序列结合在一起。(如果一个子结构频繁地出现,则称它为(频繁)结构模式)
# 数据挖掘模式导致发现数据中有趣的关联和相关性。
# 例,挖掘任务——哪些商品经常被一起购买。
结果1:buys(X, "computer") => buys(X, "software")[support = 1%, confidence = 50%]
a、X是变量,代表顾客;
b、confidence:置信度或确信度,50% 表示如果一味顾客买了电脑,则其会购买软件的可能性是 50%;
c、support:支持度,1% 意味着,所分析的所有事务的 1% 显示电脑和软件一起被购买;
结果2:简化为 "computer => software [1%, 50%]"
# 通常,一个关联规则被认为是无趣的而被丢弃;也就是,该规则不能同时满足“最小支持度阈值”和“最小置信度阈值”。
# 频繁项集挖掘是频繁模式挖掘的基础。
3)用于预测分析的分类和回归
1、相关分析,识别与分类和回归过程显著相关的属性。(也就是分析样本特征之间的相关性)
4)聚类分析
# 不同与分类和回归分析标记类的数据集,聚类(clustering)是分析数据对象(也就是样本),而不考虑类标号。
# 许多情况下,样本数据并不存在标记,可以使用聚类产生数据组群的类标号。
# 对象根据最大化类内相似性、最小化类间相似性的原则进行聚类或分组。也就是说,对象(一类样本)的簇(cluster,一类样本共同的特征)这样形成,使得相比之下在同一簇中的对象(样本)具有很高的相似性,而与其它簇中的对象很不相似。
# 聚类分析所形成的每一个簇(也就是一种分类)都可以看做一个对象类,由它可以导出规则(符号此规则的样本就可以归为该簇(或该类))。
# 聚类便于分类法的形成,将观测组织成类分层结构,把类似的事件组织在一起。
5)离群点分析
# 离群点:数据集中,与其它样本的一般行为或模型不一致的样本。
# 大部分数据挖掘方法都将离群点视为噪声或异常而丢弃,然而,有一些应用中,罕见事件可能比正常出现的时间更令人感兴趣。
# 离群点数据分析也称作“离群点分析”或“异常挖掘”。
6)模式的兴趣度
# 有趣的模式代表知识,其特点:
1、易于被人理解;(也可以理解该挖掘方法的可解释性)
2、在某种确信度上,对于新的或检验数据是有效的;(也就是具有一定的泛化能力)
3、是潜在有用的;(即使当下没有挖掘任务需要,但未来可能会使用)
4、是新颖的;
# 模式兴趣度的客观度量:支持度、置信度;(有助于识别有趣的模式)
1、规则的支持度,表示事务数据库中满足规则的事务所占的百分比;(可以表示概率,P(X U Y),同时包含 X 和 Y 的事务的概率)
形式:support(X => Y) = P(X U Y)
2、规则的置信度,评估所发现的规则的确信程度(类似模型准确率);(可以去条件概率,P(X | Y),既包含 X 的事务也包含 Y 的概率)
形式:confidence(X => Y) = P(X | Y)
# 一般的,每个兴趣度都与一个阈值有关联,该阈值可以由用户控制(如刷选条件),低于阈值的规则可能反应噪声、异常或少数情况,可能不太有价值。
# 其它兴趣度度量包括分类(IF - THEN)规则的准确率与覆盖率。
# 模式兴趣度的主观度量:反应特定用户需求和兴趣,是基于用户对数据的信念。
# 模式兴趣度度量是不可或缺的,一般在挖掘之后使用,可以跟进各种模式的兴趣度对所使用的模式进行排位,过滤掉不感兴趣的模式。也可以用来指导和约束发现挖掘模式的过程,通过剪去模式空间中不满足预先设定的兴趣度约束子集,提高搜素性能。
四、数据挖掘使用的技术
# 涉及的知识领域:统计学、机器学习、模式识别、可视化、算法、数据库和数据仓库、信息检索、高性能计算和许多应用领域的大型技术等。
1)统计学
# 统计学:研究数据的收集、分析、解释、表示。
# 统计学模型:用随机变量及其概率分布,刻画目标样本的行为,被广泛用于对数据和数据类建模。
# 统计学方法:用来汇总或描述数据集,也可以用来验证数据挖掘结果。
# 许多统计学方法具有很高的计算复杂度,当用于分布在多个逻辑或物理站点上的大型数据集时,应小心设计和调整算法,以降低计算开销。
2)机器学习
1、监督学习:分类的同义词。
# 学习过程中的监督来自训练数据集中样本的标记;
2、无监督学习:聚类的同义词。
# 输入的数据集中的样本没有被标记。
3、半监督学习:数据集中使用标记的和未标记的样本。
# 标记的样本训练模型,未标记的样本用来进一步改进类边界(也就是改进簇的规则)。
4、主动学习:让用户在学习过程中扮演主动角色。
# 要求用户(例如领域专家)对一个可能来自未标记的实例集或由学习程序合成的实例进行标记。
# 特点:通过主动地从用户获取知识来提高模型质量。
3)数据库系统和数据仓库
# 数据库系统研究关注为单位和最终用户,创建、维护和使用数据库。特别是,数据库系统研究者们已经建立了数据建模、查询语言、查询处理与优化方法、数据村粗以及索引和存取方法的公认规则。
# 数据库系统因其在处理非常大的、相对结构化的数据集方面的高度可伸缩性而闻名。
# 许多数据挖掘任务都需要处理大型数据集,甚至处理实时的快速流数据。因此,数据挖掘可以很好的利用可伸缩的数据库技术,一遍获得在大型数据集上的高效率和可伸缩性。
# 数据挖掘任务可以用来扩充数据库系统,以便满足高端用户复杂的数据分析需求。
# 新的数据库系统使用数据仓库和数据挖掘机制,已经在数据库的数据上建立了系统的数据分析能力。
# 数据仓库,集成来自多种数据源和各个时间段的数据,它在多维空间合并数据,形成部分物化的数据立方体。数据立方体不仅有利于多维数据库的OLAP,而且推动了多维数据挖掘。
4)信息检索
# 信息检索(IR):搜索文档或文档中信息的科学。
# 文档可以是文本或多媒体,并且可能驻留在Web上。
# 传统的信息检索与数据库系统之间的差别:
1、信息检索假定所搜索的数据是无结构的;
2、信息检索查询主要用关键词,没有复杂的机构(不同与数据库系统中的SQL查询)。
# 信息检索的典型方法——概率模型。
# 文档的语言模型:生成文档中词的包的概率密度函数,语言模型之间的相似性可以度量两个文档之间的相似度。
# 一个文本文档集的主题可以用词汇表上的概率分布建模,称作主题模型。一个文本文档可以涉及多个主题,可以看做主题混合模型。
# 通过集成信息检索模型和数据挖掘技术,可以找出文档集中的主要主题,对集合中的每个文档,找出所涉及的主要主题。
五、面向的应用
1)智能商务
1、商务而言,理解顾客、市场、供应、资源、竞争对手等信息,是非常重要的。
2、商务智能中的联机处理工具依赖于数据仓库和多维数据挖掘。
3、分类和预测计算是商务智能预测分析的核心。。
2)Web搜索引擎
1、Web搜索引擎本质上是大型数据挖掘应用。
2、通常,用户查询的搜索结果用一张表返给用户(有时称作采样(hit)),包含网页、图像和其它类型的文件。
3、搜索引擎不同于网络目录,网络目录由人工编辑管理,搜索引擎按算法运行,或者是算法和人工输入的混合。
4、搜索引擎对数据挖掘提出了巨大挑战,大量的并且不断增加的数据,需要数以万计的计算机组成计算机云,共同挖掘。
六、数据挖掘的主要问题
1)挖掘方法
# 数据挖掘方法应该考虑数据的不确定性、噪声、不完全性等问题。
1、挖掘各种新的知识类型
# 数据挖掘任务:数据特征化与区分、关联与相关性分析、分类、回归、聚类、离群点分析、序列分析、趋势和演变分析。
2、挖掘多维空间中的知识
# 在不同抽象层的多维(属性)组合中搜索有趣的模式,称为探索式多维数据挖掘。
# 在数据立方体中挖掘知识可以显著的提高数据挖掘的能力和灵活性。
3、数据挖掘——跨学科的努力
# 通过集成来自多学科的新方法可以显著增强数据挖掘的能力。
4、提升网络环境下的发现能力
# 大部分的数据对象驻留在连接或互连的环境中,无论是Web、数据库关系、文件还是文档。
# 多个数据对象之间的语义链接可以用来促进数据的挖掘。
# 一个数据集中导出的知识可以用来提升“相关”或语义连接的对象集中的知识发现。
5、处理不确定性、噪声或不完全数据
# 错误和噪声可能干扰数据挖掘过程,导致错误的模式出现。
# 数据清理、数据预处理、离群点检测与删除、不确定性推理,都是需要与数据挖掘过程集成的技术。
6、模式评估和模式或约束指导的挖掘
# 数据挖掘模式是否有趣,要根据用户来定。
# 模式的价值是基于给定用户类、用户确信度或期望来定的。
# 通过使用兴趣度度量或用户指定的约束指导发现过程,可以产生更有趣的模式,压缩搜素空间。
2)用户界面
# 挖掘过程需要思考的问题:
# 如何与数据挖掘系统交互?
# 如何在挖掘过程中融入用户的背景知识?
# 如何可视化与理解数据挖掘的结果?
1、交互挖掘
# 数据挖掘过程应该是高度交互的。
# 构建灵活的用户界面和探索式挖掘环境,是非常重要的,以便用户与系统交互。
# 交互式挖掘允许用户在挖掘过程中动态的改变搜索的聚焦点,根据返回的结果提炼挖掘请求,并在数据和知识空间交互的进行下钻、切块、旋转,动态的探索“立方体空间”。
2、结合背景知识
# 应把背景知识、约束、规则和关于所研究领域的其他信息结合到挖掘过程中,这些知识可用于模式评估,指引搜索有趣的模式。
3、特定的数据挖掘和数据挖掘查询语言
# 查询语言(如SQL)在灵活的搜索中扮演了重要的角色,因为它允许用户提出特定的查询。
4、数据挖掘结果的表示和可视化
# 数据挖掘系统是交互的(如搜索引擎),这点极其重要,这要求系统采用有表达能力的知识表示,以及用户友好的界面和可视化技术。
3)有效性和可伸缩性
1、数据挖掘算法的有效性和可伸缩性
# 算法必须是有效的、可伸缩的:数据挖掘算法的运行时间必须是可预计的、短的、可以被应用接受的。
# 有效性、可伸缩性、性能、优化、实时运行能力,是驱动驱动数据挖掘算法开发的关键标准。
2、并行、分布式和增量挖掘算法
# 算法特点:把数据划分成若干“片段”,每个片段并行处理,搜索模式。
# 原因:数据集容量巨大、数据的广泛分布、一些数据挖掘算法的计算复杂性。(有些数据挖掘过程的高开销和输入的增量特点,推动了增量数据挖掘)
# 增量挖掘与新的数据更新结合在一起,而不必“从头开始”挖掘全部数据。
# 增量算法增量的进行知识修改,修正和加强先前业已发现的知识。
# 并行处理可以交互(如多个刷选条件同时执行),来自每部分的模式最终合并在一起。
# 云计算和集群计算,使用分布式和协同的计算机处理超大规模计算任务,是并行数据挖掘研究的活跃主题。
4)数据库类型的多样性
# 数据库类型的多样性给挖掘任务带来了挑战:
1、处理复杂的数据类型
# 关系型数据库和数据仓库数据这样的结构化数据到半结构化数据和无结构化数据,从静态的数据库到动态的数据库,从简单的数据对象到时间数据、生物序列数据、传感器数据、空间数据、超文本数据、多媒体数据、软件程序代码、Web数据和社会网络数据,由于数据类型的多样性和数据挖掘的目标不同,一个系统做不到挖掘所有类型的数据。
2、挖掘动态的、网络的、全球的数据库
# 难点:众多数据源被国际互联网和各种网络连接在一起,形成了一个庞大的、分布的和异构的全球信息系统和网络,而且数据拥有结构化、半结构化和非结构化的不同数据语义。
# 好处:与从孤立的数据库的小数据集中发现的知识相比,挖掘庞大的、互连的信息网络可能帮助在异种数据集中发现更多的模式和知识。
七、总结
1)需求是发明之母。
2)数据挖掘是从海量的数据中发现有趣模式的过程。
# 作为知识发现过程,数据挖掘通常包括:数据清理、数据集成、数据选择、数据变换、模式发现、模式评估、知识表示。
3)有趣的模式
# 有趣的模式:如果一种模式在某种确信度上对于检验数据是有效的、新颖的、潜在有用的,并且易于被人理解的。
# 有趣的模式代表知识。
# 模式兴趣度度量,无论是客观的还是主观的,都可以用来指导发现过程。
4)数据挖掘的多维视图
# 维:指数据、知识、技术、应用。
5)只要数据对目标应用有意义,数据挖掘可以在任何类型的数据上进行。
6)数据仓库
# 数据仓库中的数据,来自多个数据源,在一种同一的模式下存放,并且通常是汇总的。
# 数据仓库提供一些数据分析能力,称作联机分析处理。
7)多维数据挖掘
# 多维数据挖掘(又称探索式多维数据挖掘):把数据挖掘的核心技术与基于 OLAP 的多维分析结合在一起。在不同的抽象层的多维(属性)组合中搜索有趣的模式,从而探索多维空间。
8)数据挖掘功能
# 用来指定数据挖掘任务发现的模式或知识类型:特征化与区分、频繁模式、关联和相关性挖掘、分类和回归、聚类分析、离群点检测。
9)数据挖掘研究
# 研究领域:挖掘方法、用户交互、有效性和可伸缩性、处理多种多样的数据类型。