1、2018/6/18,史忠植 高级人工智能,1,高级人工智能,第十四章 知识发现(二) 史忠植 中国科学院计算技术研究所,2018/6/18,史忠植 高级人工智能,2,主要内容,研究背景Weka MSMiner体系结构元数据数据仓库平台数据采掘集成工具,2018/6/18,史忠植 高级人工智能,3,典型的知识发现系统,SAS公司的SAS Enterprise Miner IBM公司的Intelligent Miner Solution公司的Clementine加拿大Simon Fraser Univ.的DBMiner中科院计算技术研究所的MSMiner等,2018/6/18,史忠植 高级人工智能
2、,4,知识发现工具SAS,SAS公司的SAS Enterprise Miner是一种通用的数据挖掘工具。通过收集分析各种统计资料和客户购买模式,SAS Enterprise Miner可以帮助您发现业务的趋势,解释已知的事实,预测未来的结果,并识别出完成任务所需的关键因素,以实现增加收入、降低成本。,2018/6/18,史忠植 高级人工智能,5,知识发现工具SAS,SAS Enterprise Miner提供抽样-探索-转换-建模-评估(SEMMA)的处理流程。数据挖掘算法有: 聚类分析,SOM/KOHONEN神经网络分类算法 关联模式/序列模式分析 多元回归模型 决策树模型(C45, CHA
3、ID, CART) 神经网络模型(MLP, RBF) SAS/STAT,SAS/ETS等模块提供的统计分析模型和时间序列分析模型也可嵌入其中。,2018/6/18,史忠植 高级人工智能,6,知识发现工具Intelligent Miner,IBM公司的Intelligent Miner具有典型数据集自动生成、关联发现、序列规律发现、概念性分类和可视化显示等功能。它可以自动实现数据选择、数据转换、数据发掘和结果显示。若有必要,对结果数据集还可以重复这一过程,直至得到满意结果为止。,2018/6/18,史忠植 高级人工智能,7,知识发现工具Clementine,Solution公司的Clementi
4、ne 提供了一个可视化的快速建立模型的环境。它由数据获取(Data Access)、探查(Investigate)、整理(Manipulation)、建模(Modeling)和报告(Reporting)等部分组成。都使用一些有效、易用的按钮表示,用户只需用鼠标将这些组件连接起来建立一个数据流,可视化的界面使得数据挖掘更加直观交互,从而可以将用户的商业知识在每一步中更好的利用。,2018/6/18,史忠植 高级人工智能,8,数据挖掘工具: 公用系统,MLC+MatlabWeka,6/18/2018,University of Waikato,9,作者: Ian H. Witten / Eibe
5、Frank副标题: Practical Machine Learning Tools and Techniques, Second Edition (Morgan Kaufmann Series in Data Management Systems)页数: 525出版社: Morgan Kaufmann出版年: 2005-06-08,Weka,关于WEKA的简介,WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化(与之对应的是SPSS公司商业数据挖掘产品-Clementine )的,基于JAVA环境
6、下开源的机器学习(machine learning)以及数据挖掘(data minining)软件。它和它的源代码可在其官方网站下载。非常有趣的是,该软件的缩写WEKA也是New Zealand独有的一种鸟名,而Weka的主要开发者同时恰好来自New Zealand的the University of Waikato。,6/18/2018,University of Waikato,10,6/18/2018,University of Waikato,11,WEKA: the bird(译:秧鸡),Copyright: Martin Kramer (mkramerwxs.nl),关于WEKA的
7、简介,WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。而开发者则可使用Java语言,利用WEKA的架构上开发出更多的数据挖掘算法。用户如果想自己实现数据挖掘算法的话,可以查看WEKA的接口文档。在WEKA中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。,6/18/2018,University of Waikato,12,WEKA开发历史的介绍,WEKA自1993年由位于 New Zealand的 the University of Waikato 进行开
8、发,最初的软件基于C语言实现。1997年,开发小组用JAVA语言重新编写了该软件,并且对相关的数据挖掘算法进行了大量的改进。2005年8月,在第11届ACM SIGKDD国际会议上,the University of Waikato 的Weka小组荣获了数据挖掘和知识探索领域的最高服务奖,Weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一.,6/18/2018,University of Waikato,13,6/18/2018,University of Waikato,14,WEKA: versions,There are several
9、versions of WEKA:WEKA 3.4: “book version” compatible with description in data mining bookWEKA 3.6: “GUI version” adds graphical user interfacesWEKA 3.7: “development version” with lots of improvementsThis talk is based on the snapshot of WEKA 3.3,WEKA:Format of the Data,使用这个系统前,首先需要将用户的数据转变成为WEKA所需要
10、的数据格式(ARFF格式)。大多数ARFF数据文件是一个包括所有事例的列表,还有每个事例的属性值,这些属性值用逗号分开。当事例存在EXCEL或数据库中的时候,只需要将他们提出,转成数据间用逗号分割的形式,然后加上数据集的名字relation,属性信息attribute,值data,然后再将该文件保存成ARFF格式即可。需要注意的是WEKA中的分类方案缺省假定ARFF文件中的最后一个属性是分类属性。,6/18/2018,University of Waikato,15,6/18/2018,University of Waikato,16,relation heart-disease-simpli
11、fiedattribute age numericattribute sex female, maleattribute chest_pain_type typ_angina, asympt, non_anginal, atyp_anginaattribute cholesterol numericattribute exercise_induced_angina no, yesattribute class present, not_presentdata63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67
12、,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present.,WEKA only deals with “flat” files,Flat file inARFF format,6/18/2018,University of Waikato,17,relation heart-disease-simplifiedattribute age numericattribute sex female, maleattribute chest_pain_type typ_angina, asympt, non_anginal,
13、atyp_anginaattribute cholesterol numericattribute exercise_induced_angina no, yesattribute class present, not_presentdata63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present.,WEKA only deals with “flat” files,numeric
14、attribute,nominal attribute,6/18/2018,University of Waikato,18,6/18/2018,University of Waikato,19,6/18/2018,University of Waikato,20,6/18/2018,University of Waikato,21,Explorer: pre-processing the data,Data can be imported from a file in various formats: ARFF, CSV, C4.5, binaryData can also be read
15、from a URL or from an SQL database (using JDBC)Pre-processing tools in WEKA are called “filters”WEKA contains filters for:Discretization, normalization, resampling, attribute selection, transforming and combining attributes, ,6/18/2018,University of Waikato,22,6/18/2018,University of Waikato,23,6/18
16、/2018,University of Waikato,24,6/18/2018,University of Waikato,25,6/18/2018,University of Waikato,26,6/18/2018,University of Waikato,27,6/18/2018,University of Waikato,28,2018/6/18,史忠植 高级人工智能,29,知识发现工具MSMiner,中科院计算技术研究所智能信息处理开放实验室开发的MSMiner是一种多策略知识发现平台,能够提供快捷有效的数据挖掘解决方案,提供多种知识发现方法。 MSMiner具有下列特点: .基
17、于数据仓库和新型的元数据管理按照主题创建数据仓库,并通过元数据进行管理和维护。 .数据的抽取、转换、装载等预处理方便,支持OLAP查询。,2018/6/18,史忠植 高级人工智能,30,MSMiner的特点,提供决策树、支持向量机、粗糙集、模糊聚类、基于范例推理、统计方法、神经计算等多种数据挖掘算法,支持特征抽取、分类、聚类、预测、关联规则发现、统计分析等数据挖掘功能,并支持高层次的决策分析功能。实现了可视化的任务编辑环境,以及功能强大的任务处理引擎,能够快捷有效地实现各种数据转换和数据挖掘任务。 可扩展性好。转换规则和挖掘算法是封装的、模块化的,系统提供了一个开放的、灵活通用的接口,使用户能
18、够加入新的规则和算法。 容易进行二次开发。,2018/6/18,史忠植 高级人工智能,31,数据仓库: 特征,面向主题集成性稳定性随时间变化,2018/6/18,史忠植 高级人工智能,32,数据仓库: OLAP,ROLAP: Relational OLAPMOLAP: Multidimensional OLAPHOLAP: Hybrid OLAP,2018/6/18,史忠植 高级人工智能,33,数据挖掘和数据仓库的结合,数据仓库为数据挖掘提供经良好处理的数据源数据挖掘为数据仓库提供深层数据分析手段,2018/6/18,史忠植 高级人工智能,34,MSMiner体系结构,设计目标:提供快捷有效的
19、数据挖掘解决方案。设计要求:开放性可扩展性效率易用性,2018/6/18,史忠植 高级人工智能,35,MSMiner体系结构,2018/6/18,史忠植 高级人工智能,36,元数据的内容,关于外部数据源的关于内部数据的(包括数据库、表、字段的信息)关于数据仓库的(包括事实表、维表、立方以及其它的中间表)关于用户信息的数据采掘算法(包括算法的参数信息)关于采掘任务的(包括采掘步骤、每个步骤的所用的参数),2018/6/18,史忠植 高级人工智能,37,元数据:元数据库,2018/6/18,史忠植 高级人工智能,38,元数据:元数据对象模型,设计思路一致性完备性易维护性,2018/6/18,史忠植
20、 高级人工智能,39,元数据是层次的嵌套的封装的互相联系的采用面向对象的方法共有60多个类,元数据的结构,2018/6/18,史忠植 高级人工智能,40,数据仓库平台:结构,2018/6/18,史忠植 高级人工智能,41,数据仓库平台:数据抽取和集成,数据的简单抽取和集成数据的复杂处理面向数据挖掘的数据预处理,2018/6/18,史忠植 高级人工智能,42,数据抽取和集成: MSETL,MSETL系统作为MSMiner数据挖掘平台的一个重要组成部分,主要完成从业务数据源到分析数据源的转换功能。具体包括从异质业务数据源中抽取需要的数据,对这些数据进行多种预处理,把经过处理后的数据装载入指定数据仓
21、库/数据库,2018/6/18,史忠植 高级人工智能,43,数据抽取和集成: MSETL,2018/6/18,史忠植 高级人工智能,44,数据抽取和集成: MSETL,支持多种数据源和目的数据库良好的可扩充性高效率的调度执行功能增量更新功能,2018/6/18,史忠植 高级人工智能,45,数据抽取和集成: MSETL,2018/6/18,史忠植 高级人工智能,46,数据抽取和集成: MSETL,2018/6/18,史忠植 高级人工智能,47,数据仓库平台:数据仓库建模,产品号产品名称产品目录,产品维表,订单号订货日期,订货维表,客户号客户名称客户地址,客户维表,产品号客户号订单号时间标识地区名
22、称产品数量总价,事实表,时间标识月季度年,时间维表,地区名称省别,地区维表,星型模型,2018/6/18,史忠植 高级人工智能,48,OLAP,MOLAP, ROLAP, HOLAPOLAP 的操作Slice (切片)Dice (切块)Roll up (上卷)Drill down (下钻)Pivot (旋转)OLAP方案采用了自主开发的 OLAP Server,2018/6/18,史忠植 高级人工智能,49,数据立方体,2018/6/18,史忠植 高级人工智能,50,数据仓库平台:OLAP的实现,2018/6/18,史忠植 高级人工智能,51,数据挖掘集成工具:结构,数据挖掘集成工具结构示意图
23、,数据仓库平台,任务编辑,任务规划和执行,算法库,算法管理,元数据任务模型库、算法描述,2018/6/18,史忠植 高级人工智能,52,数据挖掘集成工具:数据挖掘任务模型,Step1,Step2,Step4,Step3,Step5,DMTask = (V, R)V = x | x StepObjectsR = | P(x, y) x, yV,2018/6/18,史忠植 高级人工智能,53,数据挖掘集成工具:数据挖掘任务模型,步骤对象BNF语法定义: := ; := |; := , := |; := , := | := | := *,2018/6/18,史忠植 高级人工智能,54,数据挖掘集成工
24、具:编辑任务模型,任务向导,2018/6/18,史忠植 高级人工智能,55,数据挖掘集成工具:编辑任务模型,任务编辑图板,2018/6/18,史忠植 高级人工智能,56,数据挖掘集成工具:处理任务模型,人机界面,主控模块,规划器,解释器,缓存,函数库,黑板,任务模型库,数据采掘任务处理引擎的结构,2018/6/18,史忠植 高级人工智能,57,数据挖掘集成工具:处理任务模型,任务规划和解释执行,S1 - S2 - S3 - S4 - S5,2018/6/18,史忠植 高级人工智能,58,数据挖掘集成工具:DML语言,DML函数,人机交互和控制台输入/输出数值计算字符串处理图形、图表展示文件操作
25、数据库访问,网络通讯对象访问消息处理和流程控制黑板操作外部功能调用其它辅助功能,2018/6/18,史忠植 高级人工智能,59,数据挖掘集成工具:内嵌,决策树SOM神经网络粗糙集关联规则,2018/6/18,史忠植 高级人工智能,60,决策树,2018/6/18,史忠植 高级人工智能,61,知识约简,知识约简在保持知识库的分类或决策能力不变的条件下,删除其中不相关或不重要知识冗余知识资源的浪费;干扰人们作出正确而简洁的决策Rough Set把那些无法确认的个体都归属于边界线区域,而这种边界线区域被定义为上近似集和下近似集之差集(Z.Pawlak ) 知识约简是粗糙集的核心内容之一,2018/6
26、/18,史忠植 高级人工智能,62,Rough Set约简,2018/6/18,史忠植 高级人工智能,63,数据挖掘集成工具:外联,BP神经网络统计分析模糊聚类超曲面分类SVM贝叶斯网络基于范例推理(CBR)隐马尔科夫模型(HMM),2018/6/18,史忠植 高级人工智能,64,BP用于预测,2018/6/18,史忠植 高级人工智能,65,统计工具,线性回归模型一元线性回归、多元线性回归、逐步回归 非线性回归模型二次曲线、三次曲线、指数曲线、幂指数曲线、生产函数等模型 确定型时间序列模型指数平滑法、趋势移动平均法(水平趋势、线性趋势和二次曲线趋势)、成长曲线模型(Compertz曲线、Log
27、istic曲线和修正指数曲线 )、季节指数法随机型时间序列模型(自回归移动平均模型ARMA)相关分析,2018/6/18,史忠植 高级人工智能,66,自回归移动平均( ARMA),2018/6/18,史忠植 高级人工智能,67,模糊聚类,基于传递闭包的模糊聚类计算模糊相似矩阵的传递闭包,从而获得传递闭包法的模糊聚类基于摄动的模糊聚类参数系相似矩阵的最优模糊等价阵及其等价标准型获得失真最小的模糊聚类,2018/6/18,史忠植 高级人工智能,68,数据挖掘集成工具:可扩展算法库,算法注册,2018/6/18,史忠植 高级人工智能,69,MSMiner的应用:计算机选案,决策树选案,执行选案,选案
28、结果分析,定义样本模板,训练样本数据,选案规则,样本数据表,数据汇总表,税务稽查计算机选案系统功能结构,2018/6/18,史忠植 高级人工智能,70,MSMiner的应用:计算机选案,挖掘结果:,云计算时代的分布并行编程技术分布并行数据处理技术Google Map/ReduceHadoop Map/Reduce分布式文件系统Google File SystemHadoop Distributed File System分布式数据库Google BigTableHadoop HBase,云计算时代的分布并行编程技术,分布并行数据处理,72,软件工程国家重点实验室,Map/Reduce用于大规模
29、数据并行处理数据量大(超过1TB)在成百上千个CPU上并行处理用户只需实现下面接口map (in_key, in_value) - (out_key, intermediate_value) listreduce (out_key, intermediate_value list) - out_value list,分布并行数据处理,73,软件工程国家重点实验室,Map/Reduce架构,分布并行数据处理,MapReduce实现原理,分布式文件系统,75,Google File System(GFS)需求:在廉价、相对不可靠的计算机上对巨量数据进行冗余存储。 为什么不用现有的文件系统?-Goo
30、gle面对特殊的挑战文件较大,每个都在100M以上,通常为几个GB文件通常需要频繁的追加用流方式读取高吞吐量低延迟针对上述问题,GFS在文件系统性能和可伸缩性方面进行了优化设计。,GFS的设计理念文件用块存储每个块固定为64MB通过冗余解决可靠性问题每个块同时拷贝在3个块服务器上主服务器负责协调访问和保存元数据简单化的集中管理定制化的API无数据缓存较大文件块和流式读取使得缓存效果不佳,76,分布式文件系统,GFS架构,分布式文件系统,GFS集群一个 GFS 集群有一个主服务器和多个块服务器文件被分割成固定尺寸的块。块服务器把块作为 linux 文件保存在本地硬盘上,并根据指定的块句柄和字节范
31、围来读写块数据。主服务器管理文件系统所有的元数据,包括名字空间、访问控制信息和文件到块的映射信息,以及块当前所在的位置。客户端与主服务器交互,处理元数据客户端与块服务器交互,存取数据本身,分布式文件系统,分布式数据库系统,Google BigTable为了处理Google内部大量的格式化以及半格式化数据而构建的大规模分布式数据存储系统 特点面向大规模处理、容错性强的自我管理系统,拥有TB级的内存和PB级的存储能力,每秒可以处理数百万的读写操作能够保存记录的不同时段的版本构建于GFS和Map/Reduce基础之上,软件工程国家重点实验室,79,BigTable的设计理念面向网页数据的发布、搜索和
32、浏览等特定处理的需要,简化数据管理系统的设计,并提高性能不支持关联不支持SQL查询简化数据的一致性管理网页数据的管理对一致性要求不高简化事务管理网页数据的处理(搜索、发布)对事务管理要求不高面向海量数据管理要求设计分割和合并管理机制(基于元数据)设计自动伸缩功能(根据数据量调整资源用量),软件工程国家重点实验室,80,分布式数据库系统,BigTable的实现GFS为表文件、元数据和日志提供存储服务Chubby 提供分布式并行处理功能一个Table按照行被分割为多个tablet每一个tablet在物理层被存为SSTable文件通过维护keydisk block索引, SSTable 文件管理系统提供 keyvalue的索引功能,分布式数据库系统,BigTable架构,82,分布式数据库系统,2018/6/18,史忠植 高级人工智能,83,进一步的工作,与用户合作开发应用实例进一步完善工作流完善和丰富数据挖掘算法库算法评测功能。,2018/6/18,史忠植 高级人工智能,84,