前言 一、 系列教材背景 人类已经进入智能时代。云计算、大数据、物联网、人工智能、机器人、量子计算等是这个时代最重要的技术热点。为了适应和满足时代发展对人才培养的需要,2017年2月以来,教育部积极推进新工科建设,先后形成了“复旦共识”“天大行动”和“北京指南”,并发布了《教育部高等教育司关于开展新工科研究与实践的通知》《教育部办公厅关于推荐新工科研究与实践项目的通知》,全力探索形成领跑全球工程教育的中国模式、中国经验,助力高等教育强国建设。新工科有两个内涵: 一是新的工科专业;二是传统工科专业的新需求。新工科建设将促进一批新专业的发展,这批新专业有的是依托于现有计算机类专业派生、扩展而成的,有的是多个专业有机整合而成的。由计算机类专业派生、扩展形成的新工科专业有计算机科学与技术、软件工程、网络工程、物联网工程、信息管理与信息系统、数据科学与大数据技术等。由“计算机类”学科交叉融合形成的新工科专业有网络空间安全、人工智能、机器人工程、数字媒体技术、智能科学与技术等。 在新工科建设的“九个一批”中,明确提出“建设一批体现产业和技术最新发展的新课程”“建设一批产业急需的新兴工科专业”,新课程和新专业的持续建设,都需要以适应新工科教育的教材作为支撑。由于各个专业之间的课程相互交叉,但是又不能相互包含,所以在选题方向上,既考虑由计算机类专业派生、扩展形成的新工科专业的选题,又考虑由计算机类专业交叉融合形成的新工科专业的选题,特别是网络空间安全专业、智能科学与技术专业的选题。基于此,清华大学出版社计划出版“面向新工科专业建设计算机系列教材”。 二、 教材定位 教材使用对象为“211工程”高校或同等水平及以上高校计算机类专业及相关专业学生。 三、 教材编写原则 (1) 借鉴Computer Science Curricula 2013(以下简称CS2013)。CS2013的核心知识领域包括算法与复杂度、体系结构与组织、计算科学、离散结构、图形学与可视化、人机交互、信息保障与安全、信息管理、智能系统、网络与通信、操作系统、基于平台的开发、并行与分布式计算、程序设计语言、软件开发基础、软件工程、系统基础、社会问题与专业实践等内容。 (2) 处理好理论与技能培养的关系,注重理论与实践相结合,加强对学生思维方式的训练和计算思维的培养。计算机专业学生能力的培养特别强调理论学习、计算思维培养和实践训练。本系列教材以“重视理论,加强计算思维培养,突出案例和实践应用”为主要目标。 (3) 为便于教学,在纸质教材的基础上,融合多种形式的教学辅助材料。每本教材可以有主教材、教师用书、习题解答、实验指导等。特别是在数字资源建设方面,可以结合当前出版融合的趋势,做好立体化教材建设,可考虑加上微课、微视频、二维码、MOOC等扩展资源。 数据仓库与数据挖掘教程(第3版)出版说明四、 教材特点1. 满足新工科专业建设的需要系列教材涵盖计算机科学与技术、软件工程、物联网工程、数据科学与大数据技术、网络空间安全、人工智能等专业的课程。 2. 案例体现传统工科专业的新需求 编写时,以案例驱动,任务引导,特别是有一些新应用场景的案例。 3. 循序渐进,内容全面 讲解基础知识和实用案例时,由简单到复杂,循序渐进,系统讲解。 4. 资源丰富,立体化建设 除了教学课件外,还可以提供教学大纲、教学计划、微视频等扩展资源,以方便教学。 五、 优先出版1. 精品课程配套教材主要包括国家级或省级的精品课程和精品资源共享课的配套教材。 2. 传统优秀改版教材 对于已经出版过的优秀教材,经过市场认可,由于新技术的发展,给图书配上新的教学形式、教学资源,计划改版的教材。 3. 前沿技术与热点教材 反映计算机前沿和当前热点的相关教材,例如云计算、大数据、人工智能、物联网、网络空间安全等方面的教材。 六、 联系方式 联系人: 白立军 联系电话: 01083470179 联系和投稿邮箱: bailj@tup.tsinghua.edu.cn “面向新工科专业建设计算机系列教材”编委会 2019年6月 主任: 张尧学清华大学计算机科学与技术系教授中国工程院院士/教育部高等 学校软件工程专业教学指导委员会主任委员 副主任: 陈刚浙江大学计算机科学与技术学院院长/教授 卢先和清华大学出版社副社长/编审 委员: 毕胜大连海事大学信息科学技术学院院长/教授 蔡伯根北京交通大学计算机与信息技术学院院长/教授 陈兵南京航空航天大学计算机科学与技术学院院长/教授 成秀珍山东大学计算机科学与技术学院院长/教授 丁志军同济大学计算机科学与技术系系主任/教授 董军宇中国海洋大学信息科学与工程学院副院长/教授 冯丹华中科技大学计算机学院院长/教授 冯立功战略支援部队信息工程大学网络空间安全学院院长/教授 高英华南理工大学计算机科学与工程学院副院长/教授 桂小林西安交通大学计算机科学与技术学院教授 郭卫斌华东理工大学计算机科学与工程系系主任/教授 郭文忠福州大学数学与计算机科学学院院长/教授 郭毅可上海大学计算机工程与科学学院院长/教授 过敏意上海交通大学计算机科学与工程系教授 胡瑞敏武汉大学计算机学院教授 黄河燕北京理工大学计算机学院院长/教授 雷蕴奇厦门大学计算机科学系教授 李凡长苏州大学计算机科学与技术学院院长/教授 李克秋天津大学计算机科学与技术学院院长/教授 李肯立湖南大学信息科学与工程学院院长/教授 李向阳中国科学技术大学计算机科学与技术学院执行院长/教授 梁荣华浙江工业大学计算机科学与技术学院执行院长/教授 刘延飞火箭军工程大学基础部副主任/教授 陆建峰南京理工大学计算机科学与工程学院副院长/教授 罗军舟东南大学计算机科学与工程学院教授 吕建成四川大学计算机学院(软件学院)院长/教授 吕卫锋北京航空航天大学计算机学院院长/教授 马志新兰州大学信息科学与工程学院副院长/教授 毛晓光国防科技大学计算机学院副院长/教授 明仲深圳大学计算机与软件学院院长/教授 彭进业西北大学信息科学与技术学院院长/教授 钱德沛中山大学数据科学与计算机学院院长/教授 申恒涛电子科技大学计算机科学与工程学院院长/教授 苏森北京邮电大学计算机学院执行院长/教授 汪萌合肥工业大学计算机与信息学院院长/教授 王长波华东师范大学计算机科学与软件工程学院常务副院长/教授 王劲松天津理工大学计算机科学与工程学院院长/教授 王良民江苏大学计算机科学与通信工程学院院长/教授 王泉西安电子科技大学校长助理/教授 王晓阳复旦大学计算机科学技术学院院长/教授 王义东北大学计算机科学与工程学院院长/教授 魏晓辉吉林大学计算机科学与技术学院院长/教授 文继荣中国人民大学信息学院院长/教授 翁健暨南大学信息科学技术学院执行院长/教授 吴卿杭州电子科技大学计算机学院院长/教授 武永卫清华大学计算机科学与技术系副主任/教授 肖国强西南大学计算机与信息科学学院院长/教授 熊盛武武汉理工大学计算机科学与技术学院院长/教授 徐伟陆军工程大学指挥控制工程学院院长/副教授 杨鉴云南大学信息学院院长/教授 杨燕西南交通大学信息科学与技术学院副院长/教授 杨震北京工业大学信息学部副主任/教授 姚力北京师范大学人工智能学院执行院长/教授 叶保留河海大学计算机与信息学院院长/教授 印桂生哈尔滨工程大学计算机科学与技术学院院长/教授 袁晓洁南开大学计算机学院院长/教授 张春元国防科技大学教务处处长/教授 张强大连理工大学计算机科学与技术学院院长/教授 张清华重庆邮电大学计算机科学与技术学院执行院长/教授 张艳宁西北工业大学校长助理/教授 赵建平长春理工大学计算机科学技术学院院长/教授 郑新奇 中国地质大学(北京)信息工程学院院长/教授 仲红安徽大学计算机科学与技术学院院长/教授 周勇中国矿业大学计算机科学与技术学院院长/教授 周志华南京大学计算机科学与技术系系主任/教授 邹北骥中南大学计算机学院教授 秘书: 白立军清华大学出版社副编审数据仓库与数据挖掘教程(第3版)〖PS,208mm。+140mm,BP,DY#;270〗 数据仑库是商务智能的基础,从大量数据中获取信息和知识,解决商务中随机出现的问题。数据仑库也是企业和大单位所需的大数据。 数据挖掘和机器学习都是从数据中获取知识,它们都是人工智能的核心。本书增加了当前兴起的深度学习、强化学习和迁移学习新技术,对其原理、算法和实例进行了详细的介绍,读者可以在实践中参考。 本书对商务智能、计算智能与人工智能的关系和特点进行了比较,它们都属于机器智能。用“人工智能”概念统一起来,商务智能和计算智能分别是人工智能的分枝。人工智能的长远目标是模拟人的智能形为。但在人的认知问题上,人工智能还有较大差距。人工智能目前能解决的问题属于随机出现的问题。如医疗专家系统能给不同的人看病,无人驾驶汽车能在不同路况下行驶,图像识别能能对不同图像给出结论意见。这些随机出现的问题是靠大量知识做支撑的。符号表示的规则知识和数字表示的网络权值都是知识,它们都是具有规律的信息。 数据挖掘的各种算法的原理可以归纳为3个: (1)信息论原理。对数据库的属性计算它的信息量(互信息和信道容量)来建决策树;(2)集合论原理。讨论所有记录数据的集合(如条件属性的集合和结论属性的集合)之间的覆盖关系和相交关系,并计算集合中元素的个数所对应的概率和条件概率,来获取知识;(3)仿生物技术。如神经网络和遗传算法,它们采用了減化生物结构(如神经元)和运行原理(如交配和变异),并指出了反复迭代计算的运算方向(如神经网络的梯度下降和遗传算法中适应值函数取大者)。最后利用计算机的快速运算和大量存储的能力,逐步收敛到所需要的知识(网络权重)和接近的最优解(遗传算法)。这实质上是一种非常有效的启发式方法。 生物结构和运行原理实际上是生物进化了千亿年才形成的,人类一下子难于理解它。用減化的原理和提出迭代的方向,再用上计算机快速的运行来解决问题。这种启发式方法是今后我们设计新算法时的有效途径。 在11章知识挖掘中,介绍了软件进化和数学进化的知识挖掘。软件是计算机的核心,数学是软件的基础。在软件进化中,对汉字和多媒体存入和处理需要采用二值数据表示,这是数字化的重要方法,从而开启了万物的数字化过程,极大推动了科技的进步。在数学进化中,形式化方法是抽去了事物的内容,变成了符号的推演,从而加速了数学的进化发展,也使数学成了自然科学的坚实基础。数字化和形式化是两项极为重要的科学技术进化的推手。 本书增加了部分问答题的参考答案和设计题与计算题的答案。这样,既可以帮助读者更好的熟悉书中的内容,又扩充了书中的内容。希望借助于本书的内容,能帮助读者对书中介绍的方法编写出计算机程序并实现它。 由于数据挖掘的基础理论涉及面较宽,建议在本科生教学中对信息论原理和集合论方法只讲定义和例子,对神经网络和遗传算法只讲公式和应用,省略原理的深层内容和公式的推导。这些省略的内容适合研究生教学。 由于作者从事数据仓库与数据挖掘多年,并得到过国家自然科学基金项目的资助。在书中还介绍了作者领导的课题组完成了: IBLE决策规则树方法、FDD公式发现系统、遗传分类学习系统GCLS、变换规则的知识挖掘等。这些内容并不要求本科生去掌握它,而在于启发他们如何去创新,这些内容适合研究生学习和工作人员的参考。 欢迎和广大读者进行交流,共同为促进我国数据仓库和数据挖掘的发展而努力。 陈文伟2019年12月Chenww93@126.com 数据仓库与数据挖掘教程(第3版)第3版前言 数据仓库(Data Warehouse,DW)和数据挖掘(Data Mining,DM)是决策支持的两项重要技术。在数据仓库中利用多维数据分析来发现问题,并找出产生的原因,能从大量历史数据中预测未来;利用数据挖掘方法能从大量数据中获取知识。两项技术的共同特点是都需要利用大量的数据资源。 数据仓库和数据挖掘是在20世纪90年代中期兴起的,经过十多年的发展,在技术和应用两个方面都得到了很大的提高。为了提高数据仓库的决策支持效果,近年来开展了对综合数据的数据立方体的压缩技术研究,以及对多维数据分析的MDX语言的推广。本书第2版增加了这两项内容。为了强化数据挖掘中神经网络与遗传算法两项实用技术,在第2版中把它们独立列为两章。在神经网络中,按从易到难的顺序将内容重新安排了一下,并增加了径向基函数网络RBF的内容。在遗传算法中增加了进化计算的内容,以便扩大读者的视野。 本书仍保留了按数据仓库的形成过程来讲述其内容的方式,即从数据库到数据仓库以及对比,从联机事务处理OLTP到联机分析处理OLAP以及对比,用它们的对比来突出数据仓库决策支持的作用。按形成过程来讲述,既有利于掌握它们的连贯性,又有利于掌握数据仓库的新特点。 本书保留了依照数据挖掘的理论基础来讲述数据挖掘的方法:大家熟悉的决策树方法实质上是利用信息论中计算信息量的公式来选择属性构造决策树的结点;影响较大的粗糙集方法是典型的利用集合的覆盖原理;关联规则挖掘方法是对相关事务(项)的子集占整个集合的比例,大于阈值时建立关联规则的;在集合论方法中增加了影响最大的K均值聚类方法。读者在懂得数据挖掘的方法的理论基础后,能够更好地掌握和使用这些方法。 本书第12章由原来的第12章的“数据仓库与数据挖掘的发展”变为“知识挖掘”,这一章是全新的内容。第13章做了部分修改,增加了“Web日志分析与实例”一节。 作者从事数据仓库与数据挖掘研究工作多年,在本书第12章中介绍了作者完成的项目——“软件进化规律的知识挖掘”,相信能对本科生有启发作用。掌握这些软件进化规律,一来能够帮助学员提高软件使用能力;二来能够引起他们的兴趣,再进一步去挖掘软件进化规律,促进软件进化。本书中也介绍了作者领导的团队完成的项目:IBLE决策规则树方法、FDD公式发现系统、遗传分类学习系统GCLS、变换规则的知识挖掘等。这些内容并不要求本科生掌握,关键在于启发他们如何去创新。这些内容更适合研究生学习和相关行业的工作人员参考。 建议在本科教学中,对信息论原理、集合论方法、神经网络和遗传算法,只讲公式和应用,概略地说明原理的深层内容和公式的推导。这些知识的详细内容适合于研究生教学。 王珊教授曾说过:我觉得数据仓库或者数据挖掘,有时候挖掘出来的东西并不是很有用的,可能要经过很长时间,也许在某些情况下得到一个非常好的结果,能够给领导者一个启示。但是不会像宣传的那样,我们今天建立了数据仓库系统,明天就能够解决商业竞争中的很多问题,就能取得很大的效益。而且,领导者的素质也是一个重要因素。领导者能不能发现这些问题,技术人员给他的新提示他能不能接受,数据挖掘对他是否有效,等等。这些问题都影响了数据仓库和数据挖掘的效果。 这段话说明了一个问题,数据仓库和数据挖掘的应用比技术有时显得更重要。作者也希望学员在学习这门课程时,除学习原理与技术外,还要加强应用能力的锻炼,即通过计算机去亲自实现它,体会它的真正价值。 欢迎广大读者与作者进行交流,为促进我国数据仓库和数据挖掘的发展而共同努力。 陈文伟2011年9月于广州数据仓库与数据挖掘教程(第3版)第2版前言 数据仓库(data warehouse,DW)是利用数据资源提供决策支持。它比利用模型资源辅助决策更有效,而且辅助决策的范围更宽。由于在现实中,数据大量存在,而且在迅速地增长,只要将面向应用(事务驱动)的数据库重新组织转变为面向决策分析的数据仓库,就可以帮助决策者从不同的视角,通过综合数据分析掌握现状;通过多维数据分析发现各种存在的问题;通过对数据层次的钻取找出问题产生的原因;通过历史数据预测未来。由于数据仓库辅助决策效果明显,数据仓库已经从20世纪90年代中期兴起,经过几年的发展,迅速形成了潮流。 数据挖掘(data mining,DM)是从数据中挖掘出信息和知识,是从人工智能的机器学习(machine learning,ML)中发展起来的。机器学习是让计算机模拟人的学习方法获取知识。机器学习中的大量学习方法已经引入到数据挖掘中。数据挖掘也是20世纪90年代中期兴起的。正是由于数据挖掘具有获取知识的能力,目前各数据仓库均将数据挖掘作为数据仓库的前端分析工具,用于提高数据仓库的决策支持能力。 数据仓库、数据挖掘和联机分析处理(on line analytical processing,OLAP)结合起来的新决策支持系统是以数据驱动的决策支持系统。而传统决策支持系统(decision support system,DSS)是以模型和知识驱动的决策支持系统,是由模型库系统、知识库系统、数据库系统和人机交互系统组成的。新决策支持系统利用的是数据资源,而传统决策支持系统利用的是模型资源和知识资源,它们两者辅助决策的方式和效果均不相同。新决策支持系统并不能代替传统决策支持系统,它们是相互补充的。新决策支持系统与传统决策支持系统结合起来形成的综合决策支持系统将是决策支持系统发展的新方向。 数据仓库、数据挖掘、联机分析处理等结合起来也称为商业智能(business intelligence,BI)。商业智能是一种新的智能技术,区别于人工智能(artificial intelligence,AI)和计算智能(computational intelligence,CI)。人工智能采用的技术是符号推理,符号推理过程形成了概念的推理链。计算智能采用的技术是计算推理,模拟人和生物的模糊推理、神经网络计算和遗传进化过程。商业智能是从数据仓库和数据挖掘中获取信息和知识,对变化的商业环境提供决策支持。商业智能是目前企业界正在大力推广的知识管理(knowledge management,KM)的基础。 作者于1997年6月30日在《计算机世界》报上发表了一组关于数据开采(数据挖掘)的文章,最早向国内学者介绍了数据挖掘概念和技术。作者又于1998年6月15日在《计算机世界》报上发表了一组关于数据仓库与决策支持系统的文章,在介绍基于数据仓库的决策支持系统上,提出了将基于数据仓库的决策支持系统和传统决策支持系统结合的综合决策支持系统,在国内产生了一定的影响。 本书的特点是从数据仓库和数据挖掘的兴起与演变来说明它们的本质,通过例子来解释它们的原理,既系统地介绍了数据仓库和数据挖掘的概念和技术,又介绍了它们之间的关系,以及今后的发展。 在数据仓库的章节中,重点介绍数据仓库原理、联机分析处理、数据仓库设计与开发、数据仓库的决策支持应用。在数据挖掘的章节中重点介绍信息论方法、集合论方法、公式发现、神经网络和遗传算法,这些数据挖掘方法在现实中应用较广泛。由于数据挖掘的基础理论涉及面较宽,建议在本科生教学中对信息论原理和集合论方法只讲定义和例子,对神经网络和遗传算法只讲公式和应用,省略原理的深层内容和公式的推导。这些省略的内容适合研究生教学。 由于作者从事数据仓库与数据挖掘工作多年,并得到过国家自然科学基金项目的资助。在书中还介绍了作者领导的课题组完成的IBLE决策规则树方法、FDD公式发现系统、遗传分类学习系统GCLS等。本书也包含了作者提出的综合决策支持系统概念和可拓数据挖掘概念及理论,这些内容适合研究生学习和参考。 欢迎和广大读者进行交流,共同为促进我国数据仓库和数据挖掘的发展而努力。 参加本书录入的有毕季明、廖建文、赵健、徐怡峰、田昊等同志,在此表示感谢! 陈文伟2006年5月29日于广州