数据挖掘技术.docx
- 文档编号:30646197
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:35
- 大小:121.57KB
数据挖掘技术.docx
《数据挖掘技术.docx》由会员分享,可在线阅读,更多相关《数据挖掘技术.docx(35页珍藏版)》请在冰豆网上搜索。
数据挖掘技术
第一课数据挖掘技术的由来
1.1网络之后的下一个技术热点
1.2数据爆炸但知识贫乏
1.3支持数据挖掘技术的基础
1.4从商业数据到商业信息的进化
1.5数据挖掘逐渐演变的过程
1.1网络之后的下一个技术热点
我们现在已经生活在一个网络化的时代,通信、计算机和网络技术正改变着整个人类和社会。
如果用芯片集成度来衡量微电子技术,用CPU处理速度来衡量计算机技术,用信道传输速率来衡量通信技术,那么摩尔定律告诉我们,它们都是以每18个月翻一番的速度在增长,这一势头已经维持了十多年。
在美国,广播达到5000万户用了38年;电视用了13年;Internet拨号上网达到5000万户仅用了4年。
全球IP网发展速度达到每6个月翻一番,国内情况亦然。
1999年初,中国上网用户为210万,现在已经达到600万。
网络的发展导致经济全球化,在1998年全球产值排序前100名中,跨国企业占了51个,国家只占49个。
有人提出,对待一个跨国企业也许比对待一个国家还要重要。
在新世纪钟声刚刚敲响的时候,回顾往昔,人们不仅要问:
就推动人类社会进步而言,历史上能与网络技术相比拟的是什么技术呢?
有人甚至提出要把网络技术与火的发明相比拟。
火的发明区别了动物和人,种种科学技术的重大发现扩展了自然人的体能、技能和智能,而网络技术则大大提高了人的生存质量和人的素质,使人成为社会人、全球人。
现在的问题是:
网络之后的下一个技术热点是什么?
让我们来看一些身边俯拾即是的现象:
《纽约时报》由60年代的10~20版扩张至现在的100~200版,最高曾达1572版;《北京青年报》也已是16~40版;市场营销报已达100版。
然而在现实社会中,人均日阅读时间通常为30~45分钟,只能浏览一份24版的报纸。
大量信息在给人们带来方便的同时也带来了一大堆问题:
第一是信息过量,难以消化;第二是信息真假难以辨识;第三是信息安全难以保证;第四是信息形式不一致,难以统一处理。
人们开始提出一个新的口号:
“要学会抛弃信息”。
人们开始考虑:
“如何才能不被信息淹没,而是从中及时发现有用的知识、提高信息利用率?
”
面对这一挑战,数据开采和知识发现(DMKD)技术应运而生,并显示出强大的生命力。
1.2数据爆炸但知识贫乏
另一方面,随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。
激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。
目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。
缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。
1.3支持数据挖掘技术的基础
数据挖掘技术是人们长期对数据库技术进行研究和开发的结果。
起初各种商业数据是存储在计算机的数据库中的,然后发展到可对数据库进行查询和访问,进而发展到对数据库的即时遍历。
数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。
现在数据挖掘技术在商业应用中已经可以马上投入使用,因为对这种技术进行支持的三种基础技术已经发展成熟,他们是:
--海量数据搜集
--强大的多处理器计算机
--数据挖掘算法
Friedman[1997]列举了四个主要的技术理由激发了数据挖掘的开发、应用和研究的兴趣:
--超大规模数据库的出现,例如商业数据仓库和计算机自动收集的数据记录;
--先进的计算机技术,例如更快和更大的计算能力和并行体系结构;
--对巨大量数据的快速访问;
--对这些数据应用精深的统计方法计算的能力。
商业数据库现在正在以一个空前的速度增长,并且数据仓库正在广泛地应用于各种行业;对计算机硬件性能越来越高的要求,也可以用现在已经成熟的并行多处理机的技术来满足;另外数据挖掘算法经过了这10多年的发展也已经成为一种成熟,稳定,且易于理解和操作的技术。
1.4从商业数据到商业信息的进化
从商业数据到商业信息的进化过程中,每一步前进都是建立在上一步的基础上的。
见下表。
表中我们可以看到,第四步进化是革命性的,因为从用户的角度来看,这一阶段的数据库技术已经可以快速地回答商业上的很多问题了。
进化阶段
商业问题
支持技术
产品厂家
产品特点
数据搜集
(60年代)
“过去五年中我的总收入是多少?
”
计算机、磁带和磁盘
IBM,CDC
提供历史性的、静态的数据信息
数据访问
(80年代)
“在新英格兰的分部去年三月的销售额是多少?
”
关系数据库(RDBMS),结构化查询语言(SQL),ODBCOracle、Sybase、Informix、IBM、Microsoft
Oracle、Sybase、Informix、IBM、Microsoft
在记录级提供历史性的、动态数据信息
数据仓库;
决策支持
(90年代)
“在新英格兰的分部去年三月的销售额是多少?
波士顿据此可得出什么结论?
”
联机分析处理(OLAP)、多维数据库、数据仓库
Pilot、Comshare、Arbor、Cognos、Microstrategy
在各种层次上提供回溯的、动态的数据信息
数据挖掘
(正在流行)
“下个月波士顿的销售会怎么样?
为什么?
”
高级算法、多处理器计算机、海量数据库
Pilot、Lockheed、IBM、SGI、其他初创公司
提供预测性的信息
表一、数据挖掘的进化历程。
数据挖掘的核心模块技术历经了数十年的发展,其中包括数理统计、人工智能、机器学习。
今天,这些成熟的技术,加上高性能的关系数据库引擎以及广泛的数据集成,让数据挖掘技术在当前的数据仓库环境中进入了实用的阶段。
1.5数据挖掘逐渐演变的过程
数据挖掘其实是一个逐渐演变的过程,电子数据处理的初期,人们就试图通过某些方法来实现自动决策支持,当时机器学习成为人们关心的焦点.机器学习的过程就是将一些已知的并已被成功解决的问题作为范例输入计算机,机器通过学习这些范例总结并生成相应的规则,这些规则具有通用性,使用它们可以解决某一类的问题.随后,随着神经网络技术的形成和发展,人们的注意力转向知识工程,知识工程不同于机器学习那样给计算机输入范例,让它生成出规则,而是直接给计算机输入已被代码化的规则,而计算机是通过使用这些规则来解决某些问题。
专家系统就是这种方法所得到的成果,但它有投资大、效果不甚理想等不足。
80年代人们又在新的神经网络理论的指导下,重新回到机器学习的方法上,并将其成果应用于处理大型商业数据库。
随着在80年代末一个新的术语,它就是数据库中的知识发现,简称KDD(Knowledgediscoveryindatabase).它泛指所有从源数据中发掘模式或联系的方法,人们接受了这个术语,并用KDD来描述整个数据发掘的过程,包括最开始的制定业务目标到最终的结果分析,而用数据挖掘(datamining)来描述使用挖掘算法进行数据挖掘的子过程。
但最近人们却逐渐开始使用数据挖掘中有许多工作可以由统计方法来完成,并认为最好的策略是将统计方法与数据挖掘有机的结合起来。
数据仓库技术的发展与数据挖掘有着密切的关系。
数据仓库的发展是促进数据挖掘越来越热的原因之一。
但是,数据仓库并不是数据挖掘的先决条件,因为有很多数据挖掘可直接从操作数据源中挖掘信息。
第二课数据挖掘的定义
2.1技术上的定义及含义
2.2商业角度的定义
2.3数据挖掘与传统分析方法的区别
2.4数据挖掘和数据仓库
2.5数据挖掘和在线分析处理(OLAP)
2.6数据挖掘,机器学习和统计
2.7软硬件发展对数据挖掘的影响
2.1技术上的定义及含义
数据挖掘(DataMining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
与 数据挖掘相近的同义词有数据融合、数据分析和决策支持等。
这个定义包括好几层含义:
数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。
----何为知识?
从广义上理解,数据、信息也是知识的表现形式,但是人们更把概念、规则、模式、规律和约束等看作知识。
人们把数据看作是形成知识的源泉,好像从矿石中采矿或淘金一样。
原始数据可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形和图像数据;甚至是分布在网络上的异构型数据。
发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。
发现的知识可以被用于信息管理,查询优化,决策支持和过程控制等,还可以用于数据自身的维护。
因此,数据挖掘是一门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到从数据中挖掘知识,提供决策支持。
在这种需求牵引下,汇聚了不同领域的研究者,尤其是数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面的学者和工程技术人员,投身到数据挖掘这一新兴的研究领域,形成新的技术热点。
这里所说的知识发现,不是要求发现放之四海而皆准的真理,也不是要去发现崭新的自然科学定理和纯数学公式,更不是什么机器定理证明。
实际上,所有发现的知识都是相对的,是有特定前提和约束条件,面向特定领域的,同时还要能够易于被用户理解。
最好能用自然语言表达所发现的结果。
2.2商业角度的定义
数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。
简而言之,数据挖掘其实是一类深层次的数据分析方法。
数据分析本身已经有很多年的历史,只不过在过去数据收集和分析的目的是用于科学研究,另外,由于当时计算能力的限制,对大数据量进行分析的复杂数据分析方法受到很大限制。
现在,由于各行业业务自动化的实现,商业领域产生了大量的业务数据,这些数据不再是为了分析的目的而收集的,而是由于纯机会的(Opportunistic)商业运作而产生。
分析这些数据也不再是单纯为了研究的需要,更主要是为商业决策提供真正有价值的信息,进而获得利润。
但所有企业面临的一个共同问题是:
企业数据量非常大,而其中真正有价值的信息却很少,因此从大量的数据中经过深层分析,获得有利于商业运作、提高竞争力的信息,就像从矿石中淘金一样,数据挖掘也因此而得名。
因此,数据挖掘可以描述为:
按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。
2.3数据挖掘与传统分析方法的区别
数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识.数据挖掘所得到的信息应具有先未知,有效和可实用三个特征.
先前未知的信息是指该信息是预先未曾预料到的,既数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值.在商业应用中最典型的例子就是一家连锁店通过数据挖掘发现了小孩尿布和啤酒之间有着惊人的联系.
2.4数据挖掘和数据仓库
大部分情况下,数据挖掘都要先把数据从数据仓库中拿到数据挖掘库或数据集市中(见图1)。
从数据仓库中直接得到进行数据挖掘的数据有许多好处。
就如我们后面会讲到的,数据仓库的数据清理和数据挖掘的数据清理差不多,如果数据在导入数据仓库时已经清理过,那很可能在做数据挖掘时就没必要在清理一次了,而且所有的数据不一致的问题都已经被你解决了。
数据挖掘库可能是你的数据仓库的一个逻辑上的子集,而不一定非得是物理上单独的数据库。
但如果你的数据仓库的计算资源已经很紧张,那你最好还是建立一个单独的数据挖掘库。
当然为了数据挖掘你也不必非得建立一个数据仓库,数据仓库不是必需的。
建立一个巨大的数据仓库,把各个不同源的数据统一在一起,解决所有的数据冲突问题,然后把所有的数据导到一个数据仓库内,是一项巨大的工程,可能要用几年的时间花上百万的钱才能完成。
只是为了数据挖掘,你可以把一个或几个事务数据库导到一个只读的数据库中,就把它当作数据集市,然后在他上面进行数据挖掘。
2.5数据挖掘和在线分析处理(OLAP)
一个经常问的问题是,数据挖掘和OLAP到底有何不同。
下面将会解释,他们是完全不同的工具,基于的技术也大相径庭。
OLAP是决策支持领域的一部分。
传统的查询和报表工具是告诉你数据库中都有什么(whathappened),OLAP则更进一步告诉你下一步会怎么样(Whatnext)、和如果我采取这样的措施又会怎么样(Whatif)。
用户首先建立一个假设,然后用OLAP检索数据库来验证这个假设是否正确。
比如,一个分析师想找到什么原因导致了贷款拖欠,他可能先做一个初始的假定,认为低收入的人信用度也低,然后用OLAP来验证他这个假设。
如果这个假设没有被证实,他可能去察看那些高负债的账户,如果还不行,他也许要把收入和负债一起考虑,一直进行下去,直到找到他想要的结果或放弃。
也就是说,OLAP分析师是建立一系列的假设,然后通过OLAP来证实或推翻这些假设来最终得到自己的结论。
OLAP分析过程在本质上是一个演绎推理的过程。
但是如果分析的变量达到几十或上百个,那么再用OLAP手动分析验证这些假设将是一件非常困难和痛苦的事情。
数据挖掘与OLAP不同的地方是,数据挖掘不是用于验证某个假定的模式(模型)的正确性,而是在数据库中自己寻找模型。
他在本质上是一个归纳的过程。
比如,一个用数据挖掘工具的分析师想找到引起贷款拖欠的风险因素。
数据挖掘工具可能帮他找到高负债和低收入是引起这个问题的因素,甚至还可能发现一些分析师从来没有想过或试过的其他因素,比如年龄。
数据挖掘和OLAP具有一定的互补性。
在利用数据挖掘出来的结论采取行动之前,你也许要验证一下如果采取这样的行动会给公司带来什么样的影响,那么OLAP工具能回答你的这些问题。
而且在知识发现的早期阶段,OLAP工具还有其他一些用途。
可以帮你探索数据,找到哪些是对一个问题比较重要的变量,发现异常数据和互相影响的变量。
这都能帮你更好的理解你的数据,加快知识发现的过程。
2.6数据挖掘,机器学习和统计
数据挖掘利用了人工智能(AI)和统计分析的进步所带来的好处。
这两门学科都致力于模式发现和预测。
数据挖掘不是为了替代传统的统计分析技术。
相反,他是统计分析方法学的延伸和扩展。
大多数的统计分析技术都基于完善的数学理论和高超的技巧,预测的准确度还是令人满意的,但对使用者的要求很高。
而随着计算机计算能力的不断增强,我们有可能利用计算机强大的计算能力只通过相对简单和固定的方法完成同样的功能。
一些新兴的技术同样在知识发现领域取得了很好的效果,如神经元网络和决策树,在足够多的数据和计算能力下,他们几乎不用人的关照自动就能完成许多有价值的功能。
数据挖掘就是利用了统计和人工智能技术的应用程序,他把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己所要解决的问题。
2.7软硬件发展对数据挖掘的影响
使数据挖掘这件事情成为可能的关键一点是计算机性能价格比的巨大进步。
在过去的几年里磁盘存储器的价格几乎降低了99%,这在很大程度上改变了企业界对数据收集和存储的态度。
如果每兆的价格是¥10,那存放1TB的价格是¥10,000,000,但当每兆的价格降为1毛钱时,存储同样的数据只有¥100,000!
计算机计算能力价格的降低同样非常显著。
每一代芯片的诞生都会把CPU的计算能力提高一大步。
内存RAM也同样降价迅速,几年之内每兆内存的价格由几百块钱降到现在只要几块钱。
通常PC都有64M内存,工作站达到了256M,拥有上G内存的服务器已经不是什么新鲜事了。
在单个CPU计算能力大幅提升的同时,基于多个CPU的并行系统也取得了很大的进步。
目前几乎所有的服务器都支持多个CPU,这些SMP服务器簇甚至能让成百上千个CPU同时工作。
基于并行系统的数据库管理系统也给数据挖掘技术的应用带来了便利。
如果你有一个庞大而复杂的数据挖掘问题要求通过访问数据库取得数据,那么效率最高的办法就是利用一个本地的并行数据库。
所有这些都为数据挖掘的实施扫清了道路,随着时间的延续,我们相信这条道路会越来越平坦。
第三课数据挖掘的研究历史和现状
3.1历史现状
3.2出版物及工具
3.3国内现状
3.4业界观点
3.1研究历史
从数据库中发现知识(KDD)一词首次出现在1989年举行的第十一届国际联合人工智能学术会议上。
到目前为止,由美国人工智能协会主办的KDD国际研讨会已经召开了8次,规模由原来的专题讨论会发展到国际学术大会(见表1),研究重点也逐渐从发现方法转向系统应用,注重多种发现策略和技术的集成,以及多种学科之间的相互渗透。
1999年,亚太地区在北京召开的第三届PAKDD会议收到158篇论文,空前热烈。
IEEE的KnowledgeandDataEngineering会刊率先在1993年出版了KDD技术专刊。
并行计算、计算机网络和信息工程等其他领域的国际学会、学刊也把数据挖掘和知识发现列为专题和专刊讨论,甚至到了脍炙人口的程度。
3.2出版物及工具
此外,在Internet上还有不少KDD电子出版物,其中以半月刊KnowledgeDiscoveryNuggets最为权威(EmailClub等。
至于DMKD书籍,可以在任意一家计算机书店找到十多本。
目前,世界上比较有影响的典型数据挖掘系统有:
SAS公司的EnterpriseMiner、IBM公司的IntelligentMiner、SGI公司的SetMiner、SPSS公司的Clementine、Sybase公司的WarehouseStudio、RuleQuestResearch公司的See5、还有CoverStory、EXPLORA、KnowledgeDiscoveryWorkbench、DBMiner、Quest等。
读者可以访问.网站,该网站提供了许多数据挖掘系统和工具的性能测试报告。
3.3国内现状
与国外相比,国内对DMKD的研究稍晚,没有形成整体力量。
1993年国家自然科学基金首次支持我们对该领域的研究项目。
目前,国内的许多科研单位和高等院校竞相开展知识发现的基础理论及其应用研究,这些单位包括清华大学、中科院计算技术研究所、空军第三研究所、海军装备论证中心等。
其中,北京系统工程研究所对模糊方法在知识发现中的应用进行了较深入的研究,北京大学也在开展对数据立方体代数的研究,华中理工大学、复旦大学、浙江大学、中国科技大学、中科院数学研究所、吉林大学等单位开展了对关联规则开采算法的优化和改造;南京大学、四川联合大学和上海交通大学等单位探讨、研究了非结构化数据的知识发现以及Web数据挖掘。
3.4国内现状
最近,GartnerGroup的一次高级技术调查将数据挖掘和人工智能列为“未来三到五年内将对工业产生深远影响的五大关键技术”之首,并且还将并行处理体系和数据挖掘列为未来五年内投资焦点的十大新兴技术前两位。
根据最近Gartner的HPC研究表明,“随着数据捕获、传输和存储技术的快速发展,大型系统用户将更多地需要采用新技术来挖掘市场以外的价值,采用更为广阔的并行处理系统来创建新的商业增长点。
”
第四课数据挖掘研究内容和本质
4.1广义知识(Generalization)
4.2关联知识(Association)
4.3分类知识(Classification&Clustering)
4.4预测型知识(Prediction)
4.5偏差型知识(Deviation)
----随着DMKD研究逐步走向深入,数据挖掘和知识发现的研究已经形成了三根强大的技术支柱:
数据库、人工智能和数理统计。
因此,KDD大会程序委员会曾经由这三个学科的权威人物同时来任主席。
目前DMKD的主要研究内容包括基础理论、发现算法、数据仓库、可视化技术、定性定量互换模型、知识表示方法、发现知识的维护和再利用、半结构化和非结构化数据中的知识发现以及网上数据挖掘等。
----数据挖掘所发现的知识最常见的有以下四类:
4.1广义知识(Generalization)
----广义知识指类别特征的概括性描述知识。
根据数据的微观特性发现其表征的、带有普遍性的、较高层次概念的、中观和宏观的知识,反映同类事物共同性质,是对数据的概括、精炼和抽象。
----广义知识的发现方法和实现技术有很多,如数据立方体、面向属性的归约等。
数据立方体还有其他一些别名,如“多维数据库”、“实现视图”、“OLAP"等。
该方法的基本思想是实现某些常用的代价较高的聚集函数的计算,诸如计数、求和、平均、最大值等,并将这些实现视图储存在多维数据库中。
既然很多聚集函数需经常重复计算,那么在多维数据立方体中存放预先计算好的结果将能保证快速响应,并可灵活地提供不同角度和不同抽象层次上的数据视图。
另一种广义知识发现方法是加拿大SimonFraser大学提出的面向属性的归约方法。
这种方法以类SQL语言表示数据挖掘查询,收集数据库中的相关数据集,然后在相关数据集上应用一系列数据推广技术进行数据推广,包括属性删除、概念树提升、属性阈值控制、计数及其他聚集函数传播等。
4.2关联知识(Association)
----它反映一个事件和其他事件之间依赖或关联的知识。
如果两项或多项属性之间存在关联,那么其中一项的属性值就可以依据其他属性值进行预测。
最为著名的关联规则发现方法是R.Agrawal提出的Apriori算法。
关联规则的发现可分为两步。
第一步是迭代识别所有的频繁项目集,要求频繁项目集的支持率不低于用户设定的最低值;第二步是从频繁项目集中构造可信度不低于用户设定的最低值的规则。
识别或发现所有频繁项目集是关联规则发现算法的核心,也是计算量最大的部分。
4.3分类知识(Classification&Clustering)
----它反映同类事物共同性质的特征型知识和不同事物之间的差异型特征知识。
最为典型的分类方法是基于决策树的分类方法。
它是从实例集中构造决策树,是一种有指导的学习方法。
该方法先根据训练子集(又称为窗口)形成决策树。
如果该树不能对所有对象给出正确的分类,那么选择一些例外加入到窗口中,重复该过程一直到形成正确的决策集。
最终结果是一棵树,其叶结点是类名,中间结点是带有分枝的属性,该分枝对应该属性的某一可能值。
最为典型的决策树学习系统是ID3,它采用自顶向下不回溯策略,能保证找到一个简单的树。
算法C4.5和C5.0都是ID3的扩展,它们将分类领域从类别属性扩展到数值型属性。
----数据分类还有统计、粗糙集(RoughSet)等方法。
线性回归和线性辨别分析是典型的统计模型。
为降低决策树生成代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 技术