第十章数据挖掘与Agent技术人工智能原理与应用教材简介:名称:人工智能原理与应用作者:张仰森出版社:高等教育出版社章节:共十章主讲教师:宗春梅第十章数据挖掘与Agent技术人工智能原理与应用当今时代,人们面临的两大问题:–“数据和信息过量,但知识贫乏”的问题。•数据挖掘和知识发现(DMKD)技术应运而生,并成为人工智能近年来研究的热点。–异构网络和异构硬软件环境下的程序跨平台互操作问题•智能Agent与多Agent系统正在崛起为人工智能领域研究分布式计算环境下软件智能化的重要技术。第十章数据挖掘与Agent技术人工智能原理与应用1.网络信息时代的问题•信息过量,难以消化;•真假信息难以辨识;•信息安全难以保证;•信息形式的不一致导致难以统一处理。•缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。2.解决的办法•数据库知识发现(KDD):1989年第11届国际联合人工智能学术会议上提出。•用机器学习的方法分析数据库管理系统中存储的数据,发现数据中隐藏的规则与知识。10.1数据挖掘及其应用10.1.1数据挖掘与知识发现第十章数据挖掘与Agent技术人工智能原理与应用3.KDD的定义Fayyad等为KDD下了这样的定义:KDD是从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程。4.KDD过程与步骤:•数据选择和预处理(称为数据准备)•数据挖掘•发现知识•解释评价10.1数据挖掘及其应用10.1.1数据挖掘与知识发现第十章数据挖掘与Agent技术人工智能原理与应用1.数据挖掘的定义•从技术的角度:数据挖掘(DataMining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。•从商业的角度:数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。•简而言之:数据挖掘其实是一类深层次的数据分析方法。10.1数据挖掘及其应用10.1.2数据挖掘的概念与研究内容第十章数据挖掘与Agent技术人工智能原理与应用2.数据挖掘与在线分析处理(OLAP)•数据挖掘与传统的在线分析处理的本质区别:数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。•在线分析处理(OLAP):建立在一些假设之上的。用户首先建立一系列假设,然后用OLAP检索数据库来验证或推翻所提假设的正确性,最终得到自己的结论。OLAP分析过程在本质上是一个演绎推理的过程,但如果分析的变量达到几十或上百个时,再用OLAP手动分析验证这些假设将是一件非常困难和痛苦的事情。•数据挖掘:不是用于验证某个假设模型的正确性,而是在数据库中自己寻找模型。其本质是一个归纳的过程。数据挖掘所得到的信息应具有先前未知、有效和可实用三个特征。10.1数据挖掘及其应用10.1.2数据挖掘的概念与研究内容第十章数据挖掘与Agent技术人工智能原理与应用•数据挖掘和OLAP的互补性:采用数据挖掘技术得出一些信息或知识后,当要把这些信息或知识应用于决策时,也许要验证一下应用这些信息或知识所制定的决策将会给企业带来什么影响,这时或许要用到OLAP工具。3.数据挖掘的研究内容•研究内容包括基础理论、发现算法、数据仓库、可视化技术、定性定量互换模型、知识表示方法、发现知识的维护和再利用、半结构化和非结构化数据中的知识发现以及网上数据挖掘等10.1数据挖掘及其应用10.1.2数据挖掘的概念与研究内容第十章数据挖掘与Agent技术人工智能原理与应用4.数据挖掘的分类•根据挖掘任务分:分类或预测模型知识发现;数据总结、数据聚类、关联规则发现;序列模式发现;依赖关系或依赖模型发现;异常和趋势发现等等。•根据挖掘对象分:关系数据库;面向对象数据库;空间数据库;时态数据库;文本数据源;多媒体数据库;异质数据库;遗产(legacy)数据库;万维网(Web)。•根据挖掘方法分:可粗分为:统计方法、机器学习方法、神经网络方法和数据库方法。•根据系统应用分:根据其系统的应用领域分类。如金融、电信、商业预测等。不同的应用领域通常要将一些特别适合该领域的算法进行集成,那些普通的、全能的数据挖掘系统可能并不适合特定领域的挖掘任务。10.1数据挖掘及其应用10.1.2数据挖掘的概念与研究内容第十章数据挖掘与Agent技术人工智能原理与应用1.发现与预测•发现功能:数据挖掘就像在“数据山”上寻找挖掘“知识金块”,如果不采用强有力的工具,这些“金块”就很难找到,即使找到也会花费非常高的代价,就像大海捞针。•预测功能:用一个形象的比喻,我们使用数据挖掘,不仅可以在“数据山”中找到目前需要的“金矿”,还可以帮助我们预测新的金矿或银矿在山的什么走向上,以使我们尽快地找到新的金矿,这种能够预测未来走势信息的功能就称为预测。10.1数据挖掘及其应用10.1.3数据挖掘的功能与作用第十章数据挖掘与Agent技术人工智能原理与应用2.关联规则挖掘•若两个或多个变量的取值之间存在某种规律性,就称为关联。关联分析的目的就是找出数据库中隐藏的关联规则或关联网。关联规则可记为AB,A称为前提或左部(LHS),B称为后续或右部(RHS)。利用数据挖掘的关联分析功能所发现的规则性知识往往带有可信度。•关联规则可信度:•数据关联支持度:该关联在数据库中出现的频率。相关例子参见教材100%ABABA出现的频率同时出现的频率与规则可信度10.1数据挖掘及其应用10.1.3数据挖掘的功能与作用第十章数据挖掘与Agent技术人工智能原理与应用3.数据聚类•聚类也可以称为无监督分类(不需要训练集)。聚类是把一组个体按照相似性归成若干类别,即“物以类聚”。使得属于同一类别的个体之间的距离尽可能的小而不同类别上的个体间的距离尽可能的大。•与分类不同,在开始聚类之前你不知道要把数据分成几组,也不知道怎么分(依照哪几个变量)。10.1数据挖掘及其应用10.1.3数据挖掘的功能与作用第十章数据挖掘与Agent技术人工智能原理与应用4.概念/类描述•数据可以与类或概念相关联。概念/类描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念/类描述可分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。•特征性描述通过对数据的特征化来实现。数据特征化就是对目标类数据的一般特征或特性进行汇总。通常,用户通过数据库查询来收集类的某些指定特征。在对一个类进行特征化处理或在生成一个类的特征性描述时,一般只涉及该类对象中所有对象的共性。•区别性描述则是通过对数据的区分加以实现。数据区分是将目标类对象的一般特性与一个或多个对比类对象的一般特性进行比较。目标类和对比类由用户指定,而对应的数据通过数据库查询来检索。10.1数据挖掘及其应用10.1.3数据挖掘的功能与作用第十章数据挖掘与Agent技术人工智能原理与应用5.数据分类•数据分类是根据分类模型按照属性值对数据集合分类。是数据挖掘的一个重要的应用,其目标是挖掘分类规则。分类属于有导师学习,一般需要有一个训练样本数据集作为输入。•主要的分类方法包括基于决策树的方法、统计方法、人工神经网络方法和粗糙集方法等。6.偏差分析•数据库中的数据常有一些异常记录,从数据库中检测这些偏差很有意义。偏差包括很多潜在的知识,如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差、量值随时间的变化等。偏差分析的基本方法是,寻找观测结果与参照值之间有意义的差别。10.1数据挖掘及其应用10.1.3数据挖掘的功能与作用第十章数据挖掘与Agent技术人工智能原理与应用7.演变分析•数据演变分析描述行为随时间变化的对象的规律或趋势,并对其进行建模。演变分析也称时间序列分析,可以用变量过去的值来预测未来的值。•演变分析采用的方法一般是在连续的时间流中截取一个时间窗口(一个时间段),窗口内的数据作为一个数据单元,然后让这个时间窗口在时间流上滑动,以获得建立模型所需要的训练集。10.1数据挖掘及其应用10.1.3数据挖掘的功能与作用第十章数据挖掘与Agent技术人工智能原理与应用1.人工神经网络•人工神经网络是一种仿照生物神经网络结构而建立的非线形预测模型,是数据挖掘中比较常用的模型与算法。•使用人工神经网络时需要注意的几点事项:神经网络很难解释,目前还没有能对神经网络做出显而易见解释的方法学。神经网络会学习过度,在训练神经网络时一定要恰当的使用一些能严格衡量神经网络的方法,如测试集方法和交叉验证法等。除非问题非常简单,训练一个神经网络可能需要相当长的时间才能完成。建立神经网络需要做的数据准备工作量很大。10.1数据挖掘及其应用10.1.4数据挖掘的模型与算法第十章数据挖掘与Agent技术人工智能原理与应用2.决策树•决策树是一种展示类似“在什么条件下会得到什么值”这类规则的方法。比如,在贷款申请中,要对申请的风险大小做出判断,下图(图10.1)是为了解决这个问题而建立的一棵决策树。10.1数据挖掘及其应用10.1.4数据挖掘的模型与算法第十章数据挖掘与Agent技术人工智能原理与应用•数据挖掘中决策树是一种经常要用到的技术,可以用于对数据进行分析,同样也可以用来对某些事情进行预测。•建立决策树的过程,即树的生长过程是不断的把数据进行分组的过程,每次分组对应一个问题,也对应着一个节点。每次分组都要求所分得的组之间的“差异”最大。各种决策树算法之间的主要区别就是对这个“差异”衡量方式的区别。•决策树的优点是需要的计算资源较少,而且可以很容易的处理包含很多预测变量的情况。决策树擅长处理非数值型数据。10.1数据挖掘及其应用10.1.4数据挖掘的模型与算法第十章数据挖掘与Agent技术人工智能原理与应用3.回归分析•回归分析是通过具有已知值的变量来预测其他变量的值。最简单的情况是采用最小二乘法线性回归技术。但大多数现实世界中的问题是不能用简单的线性回归技术来预测的,如商品的销售量、股票价格、产品合格率等,很难找到简单有效的方法来预测,因为要描述这些事件的变化所需的变量往往以上百计,且这些变量本身又都是非线性的。为此人们又发明了许多新的手段来试图解决这个问题,如逻辑回归、多项数回归、对数回归、泊松回归等10.1数据挖掘及其应用10.1.4数据挖掘的模型与算法第十章数据挖掘与Agent技术人工智能原理与应用4.遗传算法GA(GeneticAlgorithm)•本质上是一种不依赖具体问题的直接搜索方法。是一种基于进化理论,并采用自然选择、遗传交叉(或结合)及遗传变异等设计方法的优化技术。在执行遗传算法之前,给出一群“染色体”(以二进制编码串的形式表示),也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉、变异过程产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。10.1数据挖掘及其应用10.1.4数据挖掘的模型与算法第十章数据挖掘与Agent技术人工智能原理与应用•遗传算法在模式识别、神经网络、图像处理、机器学习、工业优化控制、自适应控制、生物科学、社会科学等方面都得到应用。尽管如此,遗传算法还存在许多不足之处,还有大量的问题需要研究。•在变量多、取值范围大或无给定范围时,收敛速度下降•可找到最优解附近,但却无法精确确定最优解的位置•遗传算法的参数选择尚未有定量方法•对遗传算法,还需要进一步研究其数学基础理论;还需要在理论上证明它与其它优化技术的优劣及原因;还需研究硬件化的遗传算法;以及遗传算法的通用编程和形式等。10.1数据挖掘及其应用10.1.4数据挖掘的模型与算法第十章数据挖掘与Agent技术人工智能原理与应用5.邻近算法•邻近算法是一种将数据集合中每一个记录进行分类的方法。这种分类方式是通过查询已知类似的例子的情况,来判断新例子与已知例子是否属