1、2022-6-10高级人工智能 史忠植1高级人工智能高级人工智能第十四章第十四章 知识发现知识发现(一)(一) 史忠植史忠植 中国科学院计算技术研究所2022-6-10高级人工智能 史忠植2知识发现知识发现概述知识发现的任务数据仓库知识发现工具2022-6-10高级人工智能 史忠植3 知识发现知识发现知识发现是指从数据集中抽取和精炼新的模式。 范围非常广泛:经济、工业、农业、军事、社会 数据的形态多样化:数字、符号、图形、图像、声音 数据组织各不相同:结构化、半结构化和非结构 发现的知识可以表示成各种形式规则、科学规律、方程或概念网。2022-6-10高级人工智能 史忠植4 数据库知识发现数据
2、库知识发现 目前, 关系型数据库技术成熟、应用广泛。因此, 数据库知识发现(Knowledge Discovery in Databases KDD)的研究非常活跃。 该术语于1989年出现,Fayyad定义为“KDD是从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程” 2022-6-10高级人工智能 史忠植5 不同的术语名称不同的术语名称 知识发现是一门来自不同领域的研究者关注的交叉性学科,因此导致了很多不同的术语名称。 知识发现:人工智能和机器学习界。 数据挖掘(data mining):统计界、数据分析、数据库和管理信息系统界q知识抽取 (informatio
3、n extraction)、q信息发现 (information discovery)、q智能数据分析 (intelligent data analysis)、q探索式数据分析 (exploratory data analysis)q信息收获 (information harvesting) q数据考古 (data archeology)2022-6-10高级人工智能 史忠植62022-6-10高级人工智能 史忠植7知识发现的任务知识发现的任务 数据总结: 对数据进行总结与概括。传统的最简单的数据总结方法是计算出数据库的各个字段上的求和值、平均值、方差值等统计值,或者用直方图、饼状图等图形方式
4、表示。 分类:根据分类模型对数据集合分类。分类属于有导师学习,一般需要有一个训练样本数据集作为输入。 聚类:根据数据的不同特征,将其划分为不同的类。无导师学习2022-6-10高级人工智能 史忠植8知识发现的任务知识发现的任务 相关性分析: 发现特征之间或数据之间的相互依赖关系关联规则 偏差分析:基本思想是寻找观察结果与参照量之间的有意义的差别。通过发现异常, 可以引起人们对特殊情况的加倍注意。 建模:构造描述一种活动或状态的数学模型 2022-6-10高级人工智能 史忠植9知识发现的方法知识发现的方法 统计方法: 传统方法: 回归分析、判别分析、聚类分析、探索性分析 模糊集(fuzzy se
5、t) Zadeh 1965 支持向量机(Support Vector Machine) Vapnik 90年代初 粗糙集(Rough Set) Pawlak 80年代初2022-6-10高级人工智能 史忠植10知识发现的方法知识发现的方法 机器学习: 规则归纳:AQ算法 决策树:ID3、C4.5 范例推理:CBR 遗传算法:GA 贝叶斯信念网络2022-6-10高级人工智能 史忠植11知识发现的方法知识发现的方法 神经计算:神经网络是指一类新的计算模型,它是模仿人脑神经网络的结构和某些工作机制而建立的一种计算模型。常用的模型: Hopfield网 多层感知机 自组织特征映射 反传网络 可视化:
6、2022-6-10高级人工智能 史忠植12KDDKDD的技术难点的技术难点 动态变化的数据 噪声 数据不完整 冗余信息 数据稀疏 超大数据量2022-6-10高级人工智能 史忠植13数据仓库数据仓库 在过去几十年,数据库技术,特别是OLTP(联机事务处理),主要是为自动化生产、精简工作任务和高速采集数据服务。它是事务驱动的、面向应用的。 20世纪80年代,人们要利用现有的数据,进行分析和推理,从而为决策提供依据。这种需求既要求联机服务,又涉及大量用于决策的数据。而传统的数据库系统已无法满足这种需求:所需历史数据量很大,而传统数据库一般只存储短期数据。涉及许多部门的数据,而不同系统的数据难以集成
7、。对大量数据的访问性能明显下降 2022-6-10高级人工智能 史忠植14数据仓库的定义数据仓库的定义信息处理技术的发展趋势是:从大量的事务型数据库中抽取数据,并将其清理、转换为新的存储格。随着此过程的发展和完善,这种九十年代初出现的支持决策的、特殊的数据存储即被称为数据仓库(Data Warehouse)。Inmon将数据仓库明确定义为: 数据仓库(Data Warehouse)是面向主题的,集成的,内容相对稳定的、不同时间的数据集合,用以支持经营管理中的决策制定过程。 2022-6-10高级人工智能 史忠植15数据仓库的特征数据仓库的特征 数据仓库中的数据是面向主题的 与传统数据库面向应用
8、相对应的。主题是一个在较高层次将数据归类的标准,每一个主题基本对应一个宏观的分析领域 数据仓库中的数据是集成的 在数据进入数据仓库之前,必然要经过加工与集成。要统一原始数据中的所有矛盾之处,还要进行数据综合和计算2022-6-10高级人工智能 史忠植16数据仓库的特征数据仓库的特征 数据仓库中的数据是稳定的 数据仓库的数据主要供决策分析之用,所涉及的操作主要是数据查询,一般不进行修改操作 数据仓库中的数据又是随时间不断变化的 数据仓库的数据不是实时更新的,但并不是永远不变的,也要随着时间的变化不断地更新、增删和重新综合。 更新周期 2022-6-10高级人工智能 史忠植17元数据元数据元数据(
9、Metadata)是关于数据的数据,它描述了数据的结构、内容、编码、索引等内容。传统数据库中的数据字典是一种元数据,但在数据仓库中,元数据的内容比数据库中的数据字典更加丰富和复杂。设计一个描述能力强、内容完善的元数据,是有效管理数据仓库的具有决定意义的重要前提 2022-6-10高级人工智能 史忠植18元数据的重要性元数据的重要性 数据仓库使用者往往将使用元数据作为分析的第一步。元数据如同数据指示图,指出了数据仓库内各种信息的位置和含义 从操作型数据环境到数据仓库的数据转换是复杂的、多方面的,是数据仓库建设的关键性步骤,元数据要包含对这种转换的清晰描述,保证这种转换是正确、适当和合理的,并且是
10、灵活可变的元数据还管理粒度的划分、索引的建立以及抽取更新的周期等,以便管理好数据仓库中的大规模数据 2022-6-10高级人工智能 史忠植19数据仓库的相关概念数据仓库的相关概念事实表事实表(Fact):存储用户需要查询分析的数据,事实表中一般包含多个维(Dimension)和度量(Measurement)。维:维:代表了用户观察数据的特定视角,如:时间维、地区维、产品维等。每一个维可划分为不同的层次来取值,如时间维的值可按年份、季度、月份来划分,描述了不同的查询层次。度量:是数据的实际意义,描述数据“是什么”,即一个数值的测量指标,如:人数、单价、销售量等。 2022-6-10高级人工智能
11、史忠植20数据仓库的建模模型数据仓库的建模模型 度量的实际数据存放在事实表中。维的详细信息,如不同的层次划分和相应数据等在维表中存储,事实表中存放各个维的标识码键。事实表和维表将通过这些键关联起来,构成一种星型模型 对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为雪花模型2022-6-10高级人工智能 史忠植21OLAPOLAP数据仓库技术中,多维数据分析(Multidimensional Data Analysis)方法是一种重要的技术,也称作联机分析处理(On-Line Analytical Processing,简称OLAP)或数据立方体(
12、Data Cube)方法,主要是指通过各种即席复杂查询,对数据仓库中存储的数据进行各种统计分析的应用 数据仓库是面向决策支持的,决策的前提是数据分析。在数据分析中经常要用到诸如求和、总计、平均、最大、最小等汇集操作,这类操作的计算量特别大 。2022-6-10高级人工智能 史忠植22OLAPOLAP的类型的类型ROLAP:数据保留在原有的关系型结构中,并且将聚合表也存储在关系数据库, 在技术成熟及各方面的适应性上较之MOLAP占有一定的优势,性能较差MOLAP: 数据和聚合都存储在多维结构中,效率较高 ,便于进行优化操作。维数多数据量大时,存储是难点。HOALP: 数据保留在原有的关系型结构中
13、,聚合存储在多维结构。结合ROLAP和MOLAP两者的优点2022-6-10高级人工智能 史忠植23OLAP的分析操作的分析操作OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)等。钻取是改变维的层次,变换分析的粒度。它包括向上钻取和向下钻取。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据;而drill down则相反,它从汇总数据深入到细节数据进行观察切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片,否则是切块 旋转是变换维的方向,即在表格中重
14、新安排维的放置(例如行列互换 2022-6-10高级人工智能 史忠植24数据仓库和知识发现技术的结合数据仓库和知识发现技术的结合(1)(1) 知识发现成为数据仓库中进行数据深层分析的一种必不可少的手段 数据仓库是面向决策分析的,数据仓库从事务型数据抽取并集成得到的分析型数据后,需要各种决策分析工具对这些数据进行分析和挖掘,得到有用的决策信息。而知识发现技术具备从大量数据中发现有用信息的能力。2022-6-10高级人工智能 史忠植25数据仓库和知识发现技术的结合数据仓库和知识发现技术的结合(2)(2) 数据仓库为知识发现提供经过良好预处理的数据源 知识发现往往依赖于经过良好组织和预处理的数据源,
15、数据的好坏直接影响知识发现的效果。 数据仓库具有从各种数据源中抽取数据,并对数据进行清洗、聚集和转换等各种处理的能力2022-6-10高级人工智能 史忠植26l1989 IJCAI会议:会议: 数据库中的知识发现讨论专题数据库中的知识发现讨论专题lKnowledge Discovery in Databases (G. Piatetsky-Shapiro and W. Frawley, 1991)l1991-1994 KDD讨论专题讨论专题lAdvances in Knowledge Discovery and Data Mining (U. Fayyad, G. Piatetsky-Shap
16、iro, P. Smyth, and R. Uthurusamy, 1996)l1995-1998 KDD国际会议国际会议 (KDD95-98)lJournal of Data Mining and Knowledge Discovery (1997)l1998 ACM SIGKDD, SIGKDD1999-2002 会议会议,以及以及SIGKDD Explorationsl数据挖掘方面更多的国际会议数据挖掘方面更多的国际会议lPAKDD, PKDD, SIAM-Data Mining, (IEEE) ICDM, DaWaK, SPIE-DM, etc.2022-6-10高级人工智能 史忠植2
17、7代代特征特征数据挖掘算法数据挖掘算法集成集成分布计算分布计算模型模型数据模型数据模型第一第一代代作为一个独作为一个独立的应用立的应用支持一个或者支持一个或者多个算法多个算法 独立的系统独立的系统单个机器单个机器向量数据向量数据第二第二代代和数据库以和数据库以及数据仓库及数据仓库集成集成多个算法:能多个算法:能够挖掘一次不够挖掘一次不能放进内存的能放进内存的数据数据数据管理系数据管理系统,包括数统,包括数据库和数据据库和数据仓库仓库同质、局同质、局部区域的部区域的计算机群计算机群集集有些系统支持有些系统支持对象对象, ,文本和文本和连续的媒体数连续的媒体数据据第三第三代代和预言模型和预言模型系
18、统集成系统集成 多个算法多个算法数据管理和数据管理和预言模型系预言模型系统统intranet/extranet网网络计算络计算支持半结构化支持半结构化数据和数据和webweb数数据据第四第四代代和移动数据和移动数据/ /各种计算设各种计算设备的数据联备的数据联合合 多个算法多个算法数据管理、数据管理、预言模型、预言模型、移动系统移动系统移动和各移动和各种计算设种计算设备备普遍存在的计普遍存在的计算模型算模型 Robert Grossman, National Center for Data Mining University of Illinois at Chicago 的观点的观点2022-
19、6-10高级人工智能 史忠植28第一代数据挖掘软件第一代数据挖掘软件l特点特点l支持一个或少数几个数据挖掘算法支持一个或少数几个数据挖掘算法 l挖掘向量数据(挖掘向量数据(vector-valued datavector-valued data) l数据一般一次性调进内存进行处理数据一般一次性调进内存进行处理 l典型的系统如典型的系统如Salford SystemsSalford Systems公司早期的公司早期的CARTCART系统系统( (www.salford-)www.salford-) l缺陷缺陷l如果数据足够大,并且频繁的变化,这就需要利用数据库如果数据足够大,并且频繁的变化,这就
20、需要利用数据库或者数据仓库技术进行管理,第一代系统显然不能满足需或者数据仓库技术进行管理,第一代系统显然不能满足需求。求。2022-6-10高级人工智能 史忠植29第一代数据挖掘软件 CBA新加坡国立大学。新加坡国立大学。基于关联规则的分类算法,能从关系数据或者基于关联规则的分类算法,能从关系数据或者交易数据中挖掘关联规则,使用关联规则进行分类和预测交易数据中挖掘关联规则,使用关联规则进行分类和预测2022-6-10高级人工智能 史忠植30第二代数据挖掘软件第二代数据挖掘软件l特点特点l与数据库管理系统(与数据库管理系统(DBMSDBMS)集成集成 l支持数据库和数据仓库,和它们具有高性能的接
21、口,具有高的支持数据库和数据仓库,和它们具有高性能的接口,具有高的可扩展性可扩展性 l能够挖掘大数据集、以及更复杂的数据集能够挖掘大数据集、以及更复杂的数据集 l通过支持数据挖掘模式(通过支持数据挖掘模式(data mining schemadata mining schema)和数据挖掘查和数据挖掘查询语言增加系统的灵活性询语言增加系统的灵活性 l典型的系统如典型的系统如DBMinerDBMiner,能通过能通过DMQLDMQL挖掘语言进行挖掘操作挖掘语言进行挖掘操作l缺陷缺陷l只注重模型的生成,如何和预言模型系统集成导致了第三代数只注重模型的生成,如何和预言模型系统集成导致了第三代数据挖掘
22、系统的开发据挖掘系统的开发2022-6-10高级人工智能 史忠植31第二代数据挖掘软件第二代数据挖掘软件 DBMiner2022-6-10高级人工智能 史忠植32第二代软件第二代软件 SAS Enterprise Miner2022-6-10高级人工智能 史忠植33第三代数据挖掘软件第三代数据挖掘软件l特点特点l和预言模型系统之间能够无缝的集成,使得由数据挖掘软件产和预言模型系统之间能够无缝的集成,使得由数据挖掘软件产生的模型的变化能够及时反映到预言模型系统中生的模型的变化能够及时反映到预言模型系统中 l由数据挖掘软件产生的预言模型能够自动地被操作型系统吸收,由数据挖掘软件产生的预言模型能够自
23、动地被操作型系统吸收,从而与操作型系统中的预言模型相联合提供决策支持的功能从而与操作型系统中的预言模型相联合提供决策支持的功能 l能够挖掘网络环境下(能够挖掘网络环境下(Internet/ExtranetInternet/Extranet)的分布式和高度异的分布式和高度异质的数据,并且能够有效地和操作型系统集成质的数据,并且能够有效地和操作型系统集成 l缺陷缺陷l不能支持移动环境不能支持移动环境2022-6-10高级人工智能 史忠植34第三代软件第三代软件 SPSS Clementine以PMML的格式提供与预言模型系统的接口2022-6-10高级人工智能 史忠植35第四代数据挖掘软件第四代数
24、据挖掘软件l特点特点l目前移动计算越发显得重要,将数据挖掘和移动计算相结合是目前移动计算越发显得重要,将数据挖掘和移动计算相结合是当前的一个研究领域。当前的一个研究领域。 l第四代软件能够挖掘嵌入式系统、移动系统、和普适计算第四代软件能够挖掘嵌入式系统、移动系统、和普适计算(ubiquitousubiquitous)计算设备产生的各种类型的数据计算设备产生的各种类型的数据第四代数据挖掘原型或商业系统尚未见报导,第四代数据挖掘原型或商业系统尚未见报导,PKDD2001上上Kargupta发表了一篇在移动环境下挖掘决策树的论文,发表了一篇在移动环境下挖掘决策树的论文,Kargupta是马里兰巴尔的摩州立大学(是马里兰巴尔的摩州立大学(University of Maryland Baltimore County)正在研制的正在研制的CAREER数据挖掘数据挖掘项目的负责人,该项目研究期限是项目的负责人,该项目研究期限是2001年年4月到月到2006年年4月,目月,目的是开发挖掘分布式和普适计算(的是开发挖掘分布式和普适计算(Ubiquitous)设备的第四代)设备的第四代数据挖掘系统。数据挖掘系统。2022-6-10高级人工智能 史忠植