基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】

基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】

ID:475284

大小:398.11 KB

页数:21页

时间:2017-08-08

上传者:U-944
基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】_第1页
基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】_第2页
基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】_第3页
基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】_第4页
基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】_第5页
资源描述:

《基于matlab的数据挖掘技术研究【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

毕业论文开题报告信息与计算科学基于matlab的数据挖掘技术研究一、选题的意义如今,高速发展的信息技术使人们积累的数据量急剧增长,动辄以tb计算,如何从数量巨大的数据中提取有用的知识成为当务之急。数据挖掘就是为顺应这种需要应运而生发展起来的数据处理技术。是知识发现(knowledgediscoveryindatabase)的关键步骤。数据挖掘(DataMining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。与数据挖掘相近的同义词有数据融合、数据分析和决策支持等。这个定义包括好几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。  何为知识?从广义上理解,数据、信息也是知识的表现形式,但是人们更把概念、规则、模式、规律和约束等看作知识。人们把数据看作是形成知识的源泉,好像从矿石中采矿或淘金一样。原始数据可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形和图像数据;甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现的知识可以被用于信息管理,查询优化,决策支持和过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到从数据中挖掘知识,提供决策支持。在这种需求牵引下,汇聚了不同领域的研究者,尤其是数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面的学者和工程技术人员,投身到数据挖掘这一新兴的研究领域,形成新的技术热点。   这里所说的知识发现,不是要求发现放之四海而皆准的真理,也不是要去发现崭新的自然科学定理和纯数学公式,更不是什么机器定理证明。实际上,所有发现的知识都是相对的,是有特定前提和约束条件,面向特定领域的,同时还要能够易于被用户理解。最好能用自然语言表达所发现的结果。当前数据挖掘应用主要集中在电信、零售、农业、网络日志、银行、电力、生物、天体、化工、医药等方面。看似广泛,实际应用还远没有普及。而据Gartner的报告也指出,数据挖掘会成为未来10年内重要的技术之一。而数据挖掘,也已经开始成为一门独立的专业学科。具体发展趋势和应用方向主要有:对知识发现方法的研究进一步发展,如对Bayes和Boosting方法的研究和提高;商业工具软件不断产生和完善,注重建立解决问题的整体系统,例如Weka等软件。数据挖掘的发展应是挖掘工具在先进理论指导下的改进,而就国内情况而言,还有至少20年的发展空间。本论文对各种研究及其应用作综合的介绍。二、研究的主要内容,拟解决的主要问题(阐述的主要观点)介绍基于matlab的数据挖掘技术的研究与应用三、研究(工作)步骤、方法及措施(思路)1.1---1.20明确论文的研究方向查阅相关资料准备任务书1.20---2.10完成论文的任务书准备开题报告和文献综述2.11---3.1完成开题报告和文献综述并交指导教师审阅3.2---3.28根据指导教师意见准备英文文献两篇并翻译,准备论文初稿3.29---4.15完成两篇英文文献和论文初稿并交指导教师审阅4.15---5.20根据指导教师意见修改并完成毕业论文全部内容定稿作答辩PPT四、毕业论文(设计)提纲1引文2数据挖掘技术的产生与兴起3数据挖掘的定义与特点4MATLAB概述5基于matlab的数据挖掘5.1层次聚类hierarchicalclustering5.2遗传算法在非线性规划中的应用6总结及参考文献 五、主要参考文献[1]黄子诚,基于决策树的数据挖掘技术[J],电脑知识与技术Vo.l6,No.8,2010(3):P1949-1950[2]袁溪,数据挖掘技术及其应用[J].科技资讯.NO.102010:p22,p24[3]赵芳,马玉磊,浅析数据挖掘技术的发展及应用[J],科技信息:P64[4]王平,王升花,邬连学,基于遗传算法的变压器故障诊断方法的研究[J],技术应用2011(2):P69[5]卢华,刘福胜,王少杰,张鹏,基于遗传算法的平原水库坝高优化[J],人民黄河Vol33,No.1,2011(1):P125-128[6]刘兴波,凝聚型层次聚类算法的研究[J],科技信息NO.11,2008:P202[7]吴燕,科技文档的层次聚类分析[J],商业文化.社会经纬,2008(1):P353-354[8]孟姗姗,全国地区小康和现代化指数的层次聚类分析[J][9]张利华,彭海燕,余淑媛,量子克隆遗传算法的多用户检测技术研究[J],大众科技,No.1,2011:P28-31[10]张德丰,matlab概述[J],Matlab数值分析与应用:P1-9[11]牛晓东,刑棉,孟明,基于基于联合数据挖掘技术的神经网络负荷预测模型研究[J],电工科技学报,Vol.19,No.9,2004(4):P62-68 毕业论文文献综述信息与计算科学基于matlab的数据挖掘技术研究数据挖掘是用于大规模数据处理的一种新的思维方式和技术手段,他是在现实生活中各种数据量呈指数级不断增长,以及以数据库(database)技术为核心的信息技术逐渐成熟的背景下产生的。数据挖掘可以帮助用户发现影藏在大型数据库中的规律和模式,它融合了人工智能(artificialintelligence)、统计(statistics)、机器学习(nachinelearning)、模式识别(patternrecognition)和数据库等多种学科的理论、方法与技术,已经在商业、企业、政府、科研及体育等多种不同类型的组织机构和领域中获得了非常广泛的应用。即使在日常生活中,数据挖掘技术也已经潜移默化地参与到人们的生活质量改善过程中。数据挖掘有很多种技术和计算方法,包括决策树方法(decisiontree)、人工神经网络方法(artificialneuralmetwork,ANN)、聚类分析、模糊集合方法、遗传算法(geneticalgorithm)、模拟退火算法(simulatedannealing,SA)、进化式程序设计(evolutionaryprogramming)等。这里主要介绍一下聚类分析、遗传算法和人工神经网络算法。聚类分析也称无监督学习,或无教师学习,或无指导学习,因为和分类学习相比,聚类的样本没有标记,需要由聚类学习算法来自动确定。聚类分析是研究如何在没有训练的条件下把样本划分为若干。聚类(clustering)是对物理的或抽象的样本集合分组的过程。聚类分析有很多种目标,但都涉及把一个样本集合分组或分割为子集或簇(cluster)。从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。聚类分析主要针对的数据类型包括区间标度变量、二值变量、标称变量、序数型变量、比例标度型变量以及由这些变量类型构成的复合类型。聚类算法应具有以下几个特点:1处理不同字段类型的能力;2可伸缩性;3处理高维数据的能力;4发现具有任意簇的形状的族类能力;5能够处理异常数据;6对数据顺序的不敏感性;7输入参数对领域知识的弱依赖性;8聚类结果的可解释性和实用性;9增加限制条件后的聚类分析能力。 基因算法起源于对生物系统进行的计算机模拟研究,是一种受生物进化启发,使用计算机模拟生物进化的学习方法。基因算法是模拟生物进化过程的计算模型,是自然遗传学与计算机科学互相结合、互相渗透而形成的新的计算方法。基因算法的最大优点是问题求解与初始条件无关,搜索最优解的能力极强。从数学的角度看,基因算法是一种概率型搜索算法:从工程学角度看,它是一种自适应的迭代寻优过程。基因算法需要完成两种数据转换,算法实施之前进行从表现型到基因型的转换,即将搜索空间中的参数或可行解转化成遗传空间中的染色体或个体,完成编码操作;在算法完成之后,需要进行从基因型到表现型的转换,是前者的反方向操作,作为译码操作,即将遗传空间中的染色体或个体转换成解空间中的最优解。基因算法有如下特点:1在生物系统中,进化被认为是一种成功的自适应方法,且具有很好的健壮性。2基因算法搜索的假设空间中,假设的各个部分相互作用,每一部分对总的假设适应度的影响难以建模。3基因算法易于并进化,且可降低由使用超强计算机硬件所带来的昂贵费用。4基因算法采用一种随机化的搜索老寻找最大适应度得假设。神经网络起源生物学和神经生物学中有关神经细胞计算本质的研究工作。所谓神经网络就是一组相互连接的输入输出单元,这些单元之间的每个连接都关联一个权重。在网络学习阶段,网络通过调整权重来实现输入样本与其相应(正确)类别的对应。由于网络学习主要是针对其中的连接权重进行的,因此神经网络的学习有时也称为连接学习。鉴于神经网络学习时间较长,因此它仅适用于时间容许觉得应用场合。此外它们还需要一些关键参数,如网络结构等。这些参数通常需要经验才能有效确定。由于神经网络的输出结果较难理解,因而受到人们的冷落,也使得神经网络较难成为理想的数据挖掘方法。神经网络的优点是对噪声数据有较好适应能力,并且对未知数据也有较好的预测分类能力。目前人们也提出了一些从神经网络中抽取出(知识)规则的算法。这些因素又将有助于数据挖掘中的神经网络应用。当前数据挖掘应用主要集中在电信、零售、农业、网络日志、银行、电力、生物、天体、化工、医药等方面。看似广泛,实际应用还远没有普及。而据Gartner的报告也指出,数据挖掘会成为未来10年内重要的技术之一。而数据挖掘,也已经开始成为一门独立的专业学科。具体发展趋势和应用方向主要有:对知识发现方法的研究进一步发展,如对Bayes和Boosting方法的研究和提高;商业工具软件不断产生和完善,注重建立解决问题的整体系统,例如Weka等软件。数据挖掘的发展应是挖掘工具在先进理论指导下的改进,而就国内情况而言,还有至少20年的发展空间。参考文献[1]黄子诚,基于决策树的数据挖掘技术[J],电脑知识与技术Vo.l6,No.8,2010(3):P1949-1950[2]袁溪,数据挖掘技术及其应用[J].科技资讯.NO.102010:p22,p24[3]赵芳,马玉磊,浅析数据挖掘技术的发展及应用[J],科技信息:P64[4]王平,王升花,邬连学,基于遗传算法的变压器故障诊断方法的研究[J],技术应用 2011(2):P69[5]卢华,刘福胜,王少杰,张鹏,基于遗传算法的平原水库坝高优化[J],人民黄河Vol33,No.1,2011(1):P125-128[6]刘兴波,凝聚型层次聚类算法的研究[J],科技信息NO.11,2008:P202[7]吴燕,科技文档的层次聚类分析[J],商业文化.社会经纬,2008(1):P353-354[8]孟姗姗,全国地区小康和现代化指数的层次聚类分析[J][9]张利华,彭海燕,余淑媛,量子克隆遗传算法的多用户检测技术研究[J],大众科技,No.1,2011:P28-31[10]张德丰,matlab概述[J],Matlab数值分析与应用:P1-9[11]牛晓东,刑棉,孟明,基于基于联合数据挖掘技术的神经网络负荷预测模型研究[J],电工科技学报,Vol.19,No.9,2004(4):P62-68 (20__届)本科毕业设计信息与计算科学基于matlab的数据挖掘技术研究 摘要:本文综合介绍了数据挖掘技术的产生和发展及应用。通过“层次聚类”和“遗传算法”的Matlab实现,显示了基于Matlab的数据挖掘技术的优势。关键词:数据挖掘技术,matlab,层次聚类,遗传算法ThedataminingtechnologybasedonmatlabAbstract:GeneralInformationoftheProduce、DevelopingandApplicationofdataminingtechnical。Itshowstheadvabtageofthedataminingtechnologybasedonmatlabthat"hierarchicalclustering"and"geneticalgorithm"isimplementedbymatlab.Keyword:dataminging,matlab,hierarchicalclustering,Geneticalgorithm 论文目录1引文………………………………………………………………………………………32数据挖掘技术的产生与兴起…………………………………………………33数据挖掘的定义与特点…………………………………………………………44MATLAB概述…………………………………………………………………………65基于matlab的数据挖掘算例…………………………………………………75.1层次聚类hierarchicalclustering………………………………………75.2遗传算法在非线性规划中的应用……………………………………………107总结………………………………………………………………………………………12 参考文献………………………………………………………………………………………131引言数据库量的飞速增长向科学家、工程师和销售人员提出了一个挑战:在大量的数据中是不是会隐藏着有价值的东西呢?怎样充分有效地利用这些数据进行科学研究、系统优化以及发现商业数据内在关系及其可说明的问题,便成了一个很重要的课题。为了实现这个目的,人们发明了各式各样的算法:统计,机器学习,神经网络,推理网络,决策树以及针对各种特定实际问题的解决方法。数据挖掘涉及的学科领域和方法很多。这门新兴的边缘科学结合了统计学、机器学习、模式识别、智能数据库、知识获取、人工智能、专家系统、数据可视化以及高性能计算等领域。它已吸引了计算机科学家、工程技术人员、认知科学家和统计学家的极大兴趣。2数据挖掘技术的产生与兴起随着计算机硬件和软件的飞速发展,尤其是数据库技术与应用的日益普及,人们面临着快速扩张的数据海洋,如何有效利用这一丰富数据海洋的宝藏为人类服务,业已成为广大信息技术工作者所关注的焦点之一。与日趋成熟的数据管理技术与软件工具相比,人们所以来的数据分析工具功能,却无法有效地为决策者提供其决策支持所需要的相关知识,从而形成了一种“丰富的数据,贫乏的知识” 之独特的现象。为有效解决这一问题,自20世纪80年代开始,数据挖掘逐步发展起来,数据挖掘技术的迅速发展,得益于目前全世界所拥有的巨大数据资源,以及对将这些数据资源转换为信息和知识资源的巨大需求,对信息和知识的需求来自各行各业,从商业管理、生产控制、市场分析到工程设计、科学探索等等。数据挖掘可以视为是数据管理与分析技术自然进化产物。自20世纪60年代开始,数据库及其信息技术就逐步从基本的文件处理系统发展为更复杂功能、更强大的数据库系统;70年代的数据库系统的研究与发展,最终导致了关系数据库系统、数据建模工具、索引与数据组织技术的迅速发展,这时用户获得了更方便灵活的数据存取语言和界面;此外在线事务处理(OLTP:on-linetransactionprocessing)手段的出现也极大地推动了关系数据库技术的应用普及,尤其是在大数据量存储、检索和管理的世纪应用领域。自20世纪80年代中期开始,关系数据库技术被普遍采用,新一轮研究与开发新型与强大的数据库系统悄然兴起,并提出了许多先进的数据模型;扩展关系模型、面向对象模型、演绎模型等,以及应用数据库系统:空间数据库、时序数据库、多媒体数据库等。目前异构数据库系统和基于互联网的全球信息系统也已开始出现并在信息工业中开始扮演重要角色。被收集并存储在众多数据库中且正在快速增长的庞大数据,已远远超过人类的处理和分析理解能力(在不借助功能强大的工具情况下),这样存储在数据库中的数据就成为“数据坟墓”,即这些数据极少被访问,结果许多重要的决策部署基于这些基础数据而是依赖决策者的直觉而制订的,其中的原因很简单,这些决策的制定者没有合适的工具帮忙其从数据中抽取出所需的信息知识。而数据挖掘工具可以帮助从大量数据中发现所存在的特定模式规律,从而可以为商业活动、科学探索和医学研究等诸多领域提供所必须的信息知识。数据与信息知识之间的巨大差距迫切需要系统地开发数据挖掘工具,来帮助实现将“数据坟墓”中的数据转化为知识财富。实际上,数据挖掘在1966年就作为一个词组在统计学的论文中出现了,但是统计学家当时是希望在统计分析中尽量避免进行数据挖掘,原因是当时的大规模数据存取和处理技术还不成熟。1989年以后再度使用数据挖掘这个词就不再是负面意义了,“数据挖掘中的知识发现”这一概念首次出现在第十一届国际联合人工智能学术会议的“数据库中知识发现”研讨会(IJCAIWorkshoponKnowledgeDiscoveryinDatabases)上,人们开始希望能够用“在数据中通过挖掘”的方式处理数据,获取有用的信息。Piatetsky-Shapiro和Frawley编辑的论文集《KnowledgeDiscoveryin Databases》就汇集了早期的一些研究论文,之后,由美国人工智能协会主办的KDD国际研讨会召开了多次,规模从原来的专题讨论会发展到国际学术大会,研究重点也逐渐从发现方法转向系统应用,注重多种发现策略和技术的集成,以及多学科间的相互渗透。1996年出版的由Fayyad、Piatetsky-Shapiro、Smyth和Uthurusamy编辑的论文集《AdvancesinKnowledgeDiscoveryandDataMining》则反映了数据挖掘技术比较深入的一些成果,数据挖掘和知识发现技术开始在海量数据处理中发挥作用。不仅仅局限在数据库领域,很多和计算技术、信息系统、决策支持和人工智能相关的学术期刊和国际会议都把数据挖掘和只是发现列为重要的专题和专刊进行讨论,如并行计算、计算机网络、运筹与优化、信息系统与信息工程等领域的学术会议及期刊。3数据挖掘的定义与特点数据挖掘的定义几经变动,有多种不动方式的定义。现在,由UsamaM.Fayyad等给出的定义被大家广泛的采用。定义3.1数据挖掘是从大量的数据中挖掘出隐含的、未知的、用户可能感兴趣的和对决策有潜在价值的知识和规则。这些规则蕴含了数据库中一组对象之间的特定关系,揭示出一些有用的信息,可以为经营决策、市场策划和金融预测等方面提供依据。在一些文献中,数据挖掘或知识发现也一度被翻译为数据采集、数据开采、知识挖掘、知识抽取和知识考查等。定义3.2令D={}为要分析的数据合集,数据挖掘可描述为一个过程,其目的是要发现:1)D的一个子集,一般要在数据量上少于D,且维数也较低;2)关于的一个假设H(,C),其中C是用户认为有用的上下文。由于数据经常被组织成关系或类,所以D可看作是多个关系,,…,的并列集,即D=,关系到维数分别为,,…,,H可处理整个数据库或单个关系,(=D或=),或处理数据库的子集(D,<<),也可以处理热点(=1)。H有如下功能:1)描述满足大部分数据项e的性质(D);2)将D根据不同的情况分为不同类,()(),当,,且,为某种性质; 1)存在两维或多维函数依赖F,即:=F(,,…,)或满足关系R(,,…,)。通过数据挖掘,有价值的知识、规则或高层次的信息就可以从数据库的相关数据集合中抽取出来,并从不同的角度显示从而使大型数据库作为一个丰富可靠的资源,为决策服务。另外数据挖掘不只在商业中获得成功应用,在工业生产领域应用中也有很好的表现。例如,影响工业生产率的因素往往很多,靠传统的方法无法得知哪些是关键因素,利用数据挖掘的方法进行分析就可以发现各因素的联系,找出关键因素,从而提高生产效率。数据挖掘有以下三个特点:1处理数据规模通常都非常巨大,否则单纯使用统计方法处理数据就足够了。因此怎样才能高效率地存取数据,如何根据一定应用领域找出数据关系即高效率算法以及是使用全部数据还是使用一部分随机或有目的地选择出数据子集,都成为数据挖掘工作者要考虑的问题。2数据挖掘面临的数据常常是为其他目的而收集好的数据(比如说,银行已存有巨大的每日出入帐的数据,这些数据原本是为其他目的而存储的)。这就为数据挖掘提出了一个问题,即收集数据时,可能有一个或几个重要的变量未被收集,而这些变量在后来做数据挖掘时被证明是有用的,甚至是至关重要的。也就是说,未知性和不完全性将始终伴随数据挖掘的过程。3数据的另一个特点是数据挖掘工作者常常不愿把先验知识预先嵌入算法内,因为这样就等于做“假设检验”(但这不排除把统计中的假设检验作为其中间一步来做)。数据挖掘常常要求算法主动性地提示一些数据内在的关系。新颖性是衡量一个数据挖掘算法好坏的一个很重要的标准。当然,这些新颖性的结论必须是可以被人理解的,绝对不应该是漫无边际的奇怪理论。很显然,数据挖掘有别于传统的数据查询、报表及全文检索等数据分析的方法,它常常是在没有前提假设的情况下,从事信息的挖掘与知识的提取。数据挖掘所得到的信息结果,当然不一定全都是先前未知的。4MATLAB概述Matlab是MathWorks公司在1984年推出的一套科学计算然见,不但具有面向大量数据量的以矩阵计算为基础的强大数据计算和分析功能,而且具有丰富的可视化图形表现功能和方便的程序设计能力。M语言被通俗地称为“演算纸式科学算法语言“ ,具有其他高级语言难以比拟的一些优点,如简单易学、代码短小高效、计算功能强大、图形表现功能有益、可扩展性好等。Matlab的应用领域极为广泛,除数学计算和分析外,还被广泛地应用于自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域。Matlab的特点有:1)编程效率高;2)用户使用方便;3)扩充能力强,交互性好;4)移植性和开发性好;5)语句简单,内涵丰富;6)高效方便的矩阵和数组运算;7)方便的绘图功能。目前,matlab应用的一个成功典例是SPM软件。SPM(statisticalparamentersmapping)是当前国际上流行的进行脑功能成像数据分析的软件之一。该软件是在MATLAB品台上开发的,是专门为脑功能成像数据分析而设计的一个通用团建包。SPM充分利用了MATLAB再图形用户届面设计、大数据量处理方面的优势,以及基于MATLAB开发数据分析与处理软件的设计可行性。5基于matlab的数据挖掘5.1层次聚类hierarchicalclustering层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。层次聚类的过程可以分这么几步:(1)确定对象(实际上就是数据集中的每个数据点)之间的相似性,实际上就是定义一个表征对象之间差异的距离,例如最简单的平面上点的聚类中,最经常使用的就是欧几里得距离。这在MATLAB中可以通过Y=pdist(X)实现,例如:>>X=randn(6,2)X=   -0.4326    1.1892   -1.6656   -0.0376    0.1253    0.3273    0.2877    0.1746   -1.1465   -0.1867    1.1909    0.7258>>plot(X(:,1),X(:,2),'bo')   %如图1,来对照聚类结果 图1>>Y=pdist(X)Y=  Columns1through14    1.7394    1.0267    1.2442    1.5501    1.6883    1.8277    1.9648    0.5401    2.9568    0.2228    1.3717    1.1377    1.4790    1.0581  Column15    2.5092例子中X数据集可以看作包含6个平面数据点,pdist之后的Y是一个行向量,15个元素分别代表X的第1点与2-6点、第2点与3-6点,......这样的距离。那么对于M个点的数据集X,pdist之后的Y将是具有M*(M-1)/2个元素的行向量。Y这样的显示虽然节省了内存空间,如果需要对这些距离进行特定操作的话,也不太好索引。MATLAB中可以用squareform把Y转换成方阵形式,方阵中位置的数值就是X中第i和第j点之间的距离,显然这个方阵应该是个对角元素为0的对称阵。>>squareform(Y)ans=         0    1.7394    1.0267    1.2442    1.5501    1.6883    1.7394         0    1.8277    1.9648    0.5401    2.9568    1.0267    1.8277         0    0.2228    1.3717    1.1377    1.2442    1.9648    0.2228         0    1.4790    1.0581    1.5501    0.5401    1.3717    1.4790         0    2.5092     1.6883    2.9568    1.1377    1.0581    2.5092         0这里需要注意的是,pdist可以使用多种参数,指定不同的距离算法。另外,当数据规模很大时,可以想象pdist产生的Y占用内存将是很吓人的,比如X有10k个数据点,那么X占10k*8*2Bytes=160K,这看起来不算啥,但是pdist后的Y会有10k*10k/2*8Bytes=400M。所以,用MATLAB的层次聚类来处理大规模数据,大概是很不合适的。(2)确定好了对象间的差异度(距离)后,就可以用Z=linkage(Y)来产生层次聚类树了。>>Z=linkage(Y)Z=    3.0000    4.0000    0.2228    2.0000    5.0000    0.5401    1.0000    7.0000    1.0267    6.0000    9.0000    1.0581    8.0000   10.0000    1.3717对于M个元素的X,前面说了Y是1行M*(M-1)/2的行向量,Z则是(M-1)*3的矩阵。Z数组的前两列是索引下标列,最后一列是距离列。在产生聚类树的计算过程中,第3和第4点先聚成一类,他们之间的距离是0.2228,以此类推。为标记每一个节点,给新产生的聚类也安排一个标识,MATLAB中会将新产生的聚类依次用M+1,M+2,....依次来标识。比如第3和第4点聚成的类以后就用7来标识,第2和第5点聚成的类用8来标识,依次类推。通过linkage函数计算之后,实际上二叉树式的聚类已经完成了。Z这个数据数组不太好看,可以用dendrogram(Z)来可视化聚类树。图2 可以看到,产生的聚类树的每一层都是一个倒置的U型(或者说是个型),纵轴高度代表了当前聚类中两个子节点之间的距离。横轴上标记出了各个数据点索引下标。稍微注意以下的是,dendrogram默认最多画30个最底层节点,当然可是设置参数改变这个限制,比如dendrogram(Z,0)就会把所有数据点索引下标都标出来,但对于成千上万的数据集合,这样的结果必然是图形下方非常拥挤。(3)初步的聚类树画完后,还要做很多后期工作的,包括这样的聚类是不是可靠,是不是代表了实际的对象分化模式,对于具体的应用,应该怎样认识这个完全版的聚类树,产生具有较少分叉的可供决策参考的分类结果呢?这都是需要考虑的。MATLAB中提供了cluster,clusterdata,cophenet,inconsistent等相关函数。cluster用于剪裁完全版的聚类树,产生具有一定cutoff的可用于参考的树。clusterdata可以认为是pdist,linkage,cluster的综合,当然更简易一点。cophenet和inconsistent用来计算某些系数,前者用于检验一定算法下产生的二叉聚类树和实际情况的相符程度(就是检测二叉聚类树中各元素间的距离和pdist计算产生的实际的距离之间有多大的相关性),inconsistent则是量化某个层次的聚类上的节点间的差异性(可用于作为cluster的剪裁标准)。后面这些的理解,需要对聚类有一个更深刻更数学的认识,我也不是很清楚,就不多说了。5.2遗传算法在非线性规划中的应用(1)简述非线性规划非线性规划研究一个n元实函数在一组等式或不等式的约束条件下的极值问题,一般非线性规划可描述如下:目标函数maxf不等式约束()0,=等式约束()=0,=,…遗传算法对染色体做遗传操作一般都会产生不可行的后代,所以用遗传学算法解非线性规划的关键是如何满足约束。工程中常通过惩罚不可行解使有约束问题转化为无约束问题。构造带有惩罚项的适值通常有两种。一种是加法形式:val()=()+() 对于极大化问题,则对于极小化问题,则另一种乘法形式:val=()*()对于极大化问题,则对于极小化问题,则其中,染色体x,目标函数(),惩罚项()。(2)实例分析min()=(-2)+(-1)()=-2+10s.t.()=-0取加法形式的适值函数:Val()=()+()P()=为约束的可变惩罚系数。(3)使用GOAT编程计算1)编制目标函数文件rosenbrockMin.m:Function[sol,eval]=rosenbrockMin(sol,options)x1=sol(1);x2=sol(2);r1=0.1;r2=0.8;g1=x1-2*x2+1;%约束条件 g2=x1.^2/4-x2.^2+1;%加惩罚项的适值if(g1>=0)&(g2>=0)eval=(x1-2).^2+(x2-1).^2;elseeval=(x1-2).^2+(x2-1).^2+r1*g1+r2*g2;endeval=-eval;2)编程调用主程序ga.m,其程序:Bounds=ones(2,1)*[-1,1];%n=2,设置参数边界[x,endPop,bestSols,trace]=ga(bounds,’rosenbrockMin’);Plat(trace(:,1),-trace(:,3),‘b-’Trace(:,1),-trace(:,2),‘r-’)xlabel(‘Generation’,‘fontsize’,14);ylabel(‘Fittness’,‘fontsize’,14);legend(‘解的变化’,‘种群平均值的变化’);3)结果输出X=[11]Eval(x)=1,g1(x)=0,g2(x)=0.25显然最优解满足约束条件,图1为遗传算法寻优的跟踪图。 图1遗传算法寻优性能的跟踪图7总结通过领域间互相借鉴,越来越多的数据挖掘算法从原领域内分化出来,并正在形成一学科。数据挖掘虽然包括很多统计学的方法,可它在处理数据集的规模和包容方法的种类方面则远远超过了传统意义上的统计学。加入了人工智能及启发性知识后,数据挖掘可以处理的问题更多更广了。他已经脱离了传统意义上的数学模型概念,成为一个基于工业、金融业等实际背景,用包含数学在内的各种手段和工具直接满足实际的需求的技术领域。参考文献[1]黄子诚,基于决策树的数据挖掘技术[J],电脑知识与技术Vo.l6,No.8,2010(3):P1949-1950[2]袁溪,数据挖掘技术及其应用[J].科技资讯.NO.102010:p22,p24[3]赵芳,马玉磊,浅析数据挖掘技术的发展及应用[J],科技信息:P64[4]王平,王升花,邬连学,基于遗传算法的变压器故障诊断方法的研究[J],技术应用2011(2):P69[5]卢华,刘福胜,王少杰,张鹏,基于遗传算法的平原水库坝高优化[J],人民黄河Vol33,No.1,2011(1):P125-128 [6]刘兴波,凝聚型层次聚类算法的研究[J],科技信息NO.11,2008:P202[7]吴燕,科技文档的层次聚类分析[J],商业文化.社会经纬,2008(1):P353-354[8]孟姗姗,全国地区小康和现代化指数的层次聚类分析[J][9]张利华,彭海燕,余淑媛,量子克隆遗传算法的多用户检测技术研究[J],大众科技,No.1,2011:P28-31[10]张德丰,matlab概述[J],Matlab数值分析与应用:P1-9[11]牛晓东,刑棉,孟明,基于基于联合数据挖掘技术的神经网络负荷预测模型研究[J],电工科技学报,Vol.19,No.9,2004(4):P62-68

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭