毕业论文-鱼群算法在聚类分析中的应用_第1页
毕业论文-鱼群算法在聚类分析中的应用_第2页
毕业论文-鱼群算法在聚类分析中的应用_第3页
毕业论文-鱼群算法在聚类分析中的应用_第4页
毕业论文-鱼群算法在聚类分析中的应用_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文设计(论文)题目鱼群算法在聚类分析中的应用学院名称管理学院专业(班级)电子商务10-2班姓名(学号)指导教师201目录摘要 3Abstract 41绪论 51.1研究的背景和意义 51.1.1研究背景 51.1.2研究目的与意义 61.2国内外研究现状 61.2.1数据挖掘研究现状 61.2.2聚类方法研究现状 71.3论文各部分的主要内容 72聚类算法概论 82.1聚类的定义 82.2聚类算法的分类与应用 82.3K-means算法 93人工鱼群算法 113.1引言 113.2人工鱼的相关定义 113.2.1鱼群模式的提出 113.2.2人工鱼的结构模型 123.3人工鱼群算法发的运行机制 133.3.1行为描述 133.3.2行为选择 153.4人工鱼群算法的研究与发展趋势 154人工鱼群算法求解聚类问题 164.1引言 164.2人工鱼群算法与聚类融合 164.4整体算法描述 174.4实验与分析设计 184.4.1实验设计 184.4.2运算结果 204.4.3分析 205总结 20参考文献 21Kmeans的弊端、评估标准、流程图、多来几种方法、每章小结、致谢鱼群算法在聚类分析中的应用摘要:数据挖掘是目前信息产业界最热门的研究方向,而数据挖掘中的核心技术是聚类分析。聚类分析在统计学、数据挖掘、机器学习等很多领域中都有非常广泛的应用,目前来看聚类算法的主要方法有以下五种:划分方法、层次方法、基于网格的方法、基于密度的方法和基于模型的方法。人工鱼群算法(AFSA)是一种新型的仿生优化算法,采用自下而上的设计方法,对寻优空间的形式和性质有求不高。且算法拥有对初始参数要求低、结构简单和寻优速度快等优点,使得算法从提出到现在得到了广泛的好评。本文将人工鱼群算法与聚类的思想相融合,并将算法用于求解聚类问题。并与传统的K均值算法(K-means算法)进行比较,并得出算法的优越性。关键词:人工鱼群算法;聚类;K-means算法;优化算法Abstract1绪论1.1研究的背景和意义1.1.1研究背景随着信息信息技术的日益发展,大量的数据不断地从我们的工作和生活中产生,这些数据记录了我们的日常生活中的点点滴滴,我们将其中对我们有意义、有价值的保存起来,就形成了数据库里面的一条条记录。然而,对于这些每天都在积累的大量的数据本身而言是并不能作为信息的,然而这些数据的背后却隐藏着巨大的信息量,对我们有用的数据才是信息,所以我们得通过各种技术去对大量的数据进行统计、挖掘。面对每日以指数增长的数据量,老旧的数据挖掘技术显得心有余而力不足,与此同时聚类数据挖掘的兴起与仿生群体算法的发展,使得数据挖掘更加的高效。数据挖掘(DataMining)又被称为知识发现(KnowledgeDiscovery,KD),是从大量随机的数据中“挖掘”隐含在数据集中的潜在信息的过程。不论是数据库中的格式化数据,还是复杂多样的混合文本、多媒体数据、生物信息数据等,都可以作为数据挖掘的目标对象[1-3]。数据挖掘中的核心技术是聚类分析,聚类分析(ClusterAnalysis)又被称作群体分析,是根据“物以类聚”的思想,对样品或指标进行规划分类的一种分析方法,它们讨论的对象是规模庞大的数据样品,要求尽可能合理地按各自的特点来进行合理的分类,没有任何可供参考和依循的模式,也就是说是在没有先验知识的情况下进行的。聚类算法大体可划分为以下五类:划分方法、层次方法、基于模型的方法、基于密度的方法和基于网格的方法。而属于划分聚类的k均值聚类算法(K-means算法)就是根据初始聚类中心确定一个初始划分,然后对初始划分进行优化。而它的缺点就是初始聚类中心的选择对聚类的结果影响很大,而且算法的开销很容易受到数据初始量大小的影响。所以,近年来产生了许多仿生类的对原始参数要求较低并且能迅速准确的获得最优解的算法,如鱼群算法、蚁群算法、萤火虫算法等。人工鱼群算法(AFSA)是李晓磊等人,通过对鱼类习性、生活方式以及物种特征的深度观察,模仿鱼类行为方式提出的一种基于动物自治体的优化算法,是集群智能思想的一个具体应用。例如:在湖泊中,鱼类一般更愿意生存在水域中食物浓度较高的地方,他们会通过自己的方式寻找到这样的地方。因此,本算法就依据鱼类的这一特点来模仿鱼群的聚群行为从而实现聚类的。该算法具有全局性好、寻优速度快、对初始参数要求不高、结构简单等优点。1.1.2研究目的与意义本文研究的目的:研究人工鱼群算法的工作机制;研究如何将聚类机制引入人工鱼群算法;研究如何将鱼群算法实现在聚类挖掘中的应用,并将本算法与传统聚类算法进行比较;探索验证该算法在解决优化问题的特性;本文研究的意义:人工鱼群算法是一种基于动物行为的智能优化算法,它采用自下而上的设计方法,对寻优空间的形式和性质没有特殊要求。鱼群算法从构造鱼类底层的行为开始,通过每条人工鱼个体的寻优行为,最终在整个鱼群中使得全局最优值凸显出来,并且算法的实现无需设定大量的参数。算法具有良好的自适应能力、寻优速度快、克服局部极值取得全局最优值的能力强等优点。本文把人工鱼群算法用于聚类分析,将充分体现出人工鱼群算法在以上所说的这些优点,并且阐述简便实用的人工鱼群算法将取代传统的聚类算法。1.2国内外研究现状1.2.1数据挖掘研究现状数据挖掘与知识发现(KnowledgeDiscoveryindatabases,KDD)都是数据库领域中的重要研究课题。1989年,KDD一词正式形成。1995年,工程领域的数据挖掘技术与科研领域的知识发现分开。经历了二十年左右的探索,目前围绕KDD理论、技术和应用方面的研究都有了一定的成果,跨领域的理论结合和方法整合成为当前研究者们的主要研究方向之一。相比于国外,国内在数据挖掘方面的研究开始的比较晚,但是由于在数据挖掘方面的极大价值,许多专家以及研究人员已经开始在这方面的深入研究,现在正处于一个快速发展的阶段。目前国内外研究的几个热点方向是:文本数据挖掘、网站数据挖掘和基因或生物信息的数据挖掘。网站数据挖掘与传统的数据挖掘相差不大,主要的数据格式来源于用户点击率。文本挖掘与传统挖掘有一定的差距,因为分析和抽取有用文本并形成相应知识需要很复杂的问题分析技术,而目前还没有能够聚类完善的分析能力的完本挖掘算法。基因和生物信息的数据挖掘对人类有着深远的意义,找到病人基因的变化然后研究相应的制药技术,是人类一直以来的梦想,这些医用技术的发现需要达赖能够的基因数据分析,需要数据挖掘技术的支撑。1.2.2聚类方法研究现状聚类分析是数据挖掘中的一个重要的研究领域,并且聚类分析的方法也一直在被研究,经历了长期的发展,形成了各种不同的聚类方法。聚类的算法大体可划分成以下几类:划分方法、层次方法、基于密度的方法、基于网格的方法和基于模型的方法,不同的聚类分析方法在不同的领域中发挥着作用。例如K-means算法,有收敛速度快、执行效率高的优点,对中小规模的数据非常适用,然而对不规则形状、规模庞大的数据集难以识别,所以K-means算法有着适用性低、过度依赖于聚类中心的选择、初始值与参数设置复杂等缺点。为了弥补传统聚类算法在聚类分析中的一些缺点,一些研究人员将一些智能算法与聚类算法融合,改造成聚类算法,以此来更好的发挥聚类算法的性能。目前常用的一些智能算法有:粒子群算法、蚁群算法、粒子群算法、鱼群算法等。遗传算法(GeneticAlgorithm,GA)借鉴了近代英国生物学家达尔文的《进化论》中的选择机制和竞争机制,模拟自然界遗传特征的搜索优化算法。文献[4]设计了一种遗传算法,提出了用遗传算法与K均值算法融合的新算法。免疫算法(ImmuneAlgorithm)从人体或者说动物体细胞抵抗病毒保护人体的行为中得到启发,模拟人类自身的免疫系统,通过生成不同抗体模拟了类似于人体免疫系统的自我保护功能。由于划分方法的经典K-均值算法是聚类算法中高效且简单的算法且容易实现,现在已经被应用到如图象分割、文档聚类等方面相当广泛的领域中。1.3论文各部分的主要内容本文主要研究了人工鱼群算法在聚类分析中的应用。在基本人工鱼群算法的基础上,添加并融合聚类因素,将人工鱼群算法改造成一种聚类算法。本文的组织结构如下:第一章:结合本文的研究内容,介绍了数据挖掘技术、国内外大数据研究近况等,并对本文的研究目的、研究意义和研究的思路进行了简要说明。第二章:主要介绍了聚类分析的基本概念,及K-means算法的运行机制和研究状况。第三章:主要介绍了基本人工鱼群算法,以及人工鱼群算法的研究现状和发展趋势。第四章:在深入研究人工鱼群算法和聚类问题的基础上,求解聚类问题的人工鱼群算法。第五章:对全文进行总结,得出鱼群算法在聚类方面相比于传统聚类算法的优越性。2聚类算法概论2.1聚类的定义到目前为止,聚类在学术界仍旧没有一个统一的定义。1974年Everitt定义:一个类簇内的个体是相似的,不同类簇的个体是不相似的;一个类簇是在数据空间中点的聚集,而同一类簇的任意两个点之间的距离小于他与不同类簇之间两个点的距离;类簇可以认为是一个多维空间中点密集度相对较高的一个连通区域,他们与其他密度较低的点集区域相分离。聚类与分类是不同的,在聚类中,目标数据集的类簇信息是未知的,从而需要以某种度量标准来将数据集中的样本划分到各个类簇。而对于分类来说,分类的目的是要从目的训练样本集中提出分类规则,而首先样本数据的类簇标号需要是已知的,再根据提取出来的规则对其他位置标号的对象进行类标识。所以相比于分类,聚类分析称为无知道或者无监督学习[5]。所谓聚类分析就是从数据中找到数据之间的相似度,根据相似度将数据划分到不同的类,使各类之间具有尽可能大的离散度,各类内部具有尽可能小的离散度。它的一般数学描述如下:设X={Xi,|Xi=Xi1,Xi2,…,Xid,i=1,2,…,n}标识模式样本集,共有nF=minj=1kXimj=在式(2.1)中,mj为聚类中心,由(2.2)式计算得到,d(Xi,mj)表示第C2.2聚类算法的分类与应用聚类算法大体可以划分为以下几类:划分方法、层次方法、基于密度的方法、基于网格的方法和基于模型的方法。(1)划分方法(partitioningmethod)给定一个包含n个数据对象或元组的数据库,一个划分方法构建数据的c个划分,每个划分表示一个簇,且c≤n。通常会采用一个划分准则(经常成为相似度函数),例如距离,一边在同一个簇中的对象是“相似的”,在不同簇中的对象是“相异的”。这些聚类方法对在中小规模的数据库中发现球状簇很适用。为了对大规模的数据集进行聚类,以及处理复杂形状的聚类,基于划分的方法需要进一步的扩展。(2)层次方法(hiernrchicalmethod)层次方法对给定数据对象集合进行层次的分解。根据层次分解是自底向上还是自顶向下形成,层次聚类的方法可以进一步分为凝聚和分裂的。层次聚类方法的缺陷在于,一旦一个步骤(合并或分裂)完成,他就不能被撤销,因此而不能更正错误的决定。改进层次方法的聚类质量的一个有希望的方向就是将层次聚类和其他聚类技术进行集成,形成多阶段聚类。(3)基于密度的方法(density-basedmethod)提出了基于密度的聚类方法是为了发现任意形状的聚类结果。其主要思想是:只要临近区域的密度超过某个阀值。就继续聚类。这样的方法可以用来过滤“噪声”孤立点数据,发现任意形状的簇。(4)基于网格的方法(grid-basedmethod)基于网格的聚类方法采用一个多分辨率的网格数据结构。把对象空间量化为有限数只的单元,形成了一个网格结构。所有的聚粪操作都在这个网格结构上进行。这种方法的主要优点是它的处理速度很快。其处理时间独立于数据对象的数目,只与量化空间中每一维的单元数目有关。(5)基于模型的方法(model-basedmethod)基于模型的方法为每个簇假定了一个模型,寻找数据对给定模型的最佳拟合。基于模型的算法可能性通过构建反映数据点空间分布的密度函数来定位聚类。这种聚类方法试图优化给定的数据和某些数学模型之间的适应性。2.3K-means算法K均值算法(K-means算法)是聚类分析中最经典最常用的算法之一,该算法的每个类别通过所有数据的加权平均来体现,聚类中心为表示类别的平均值。k-means算法对于数值属性的数据,能充分体现出聚类在几何学和统计学上的意义,但不能用于类别属性的数据。在K-means算法中,用数据对象与簇中心的距离来表示相似度,相似度小的就划分到同一个簇。具体流程:先随机地选择k个对象初始代表k个划分;其次,对其他对象,根据其与各个簇中心的距离,划分到距离最近的簇,随后,重新计算每个簇的平均值得到新的簇中心,再重新聚类,不断重复这个过程直到准则函数收敛[6]。如果所有对象总数用n表示,簇的数目用k表示,迭代次数用t表示,k-means算法的时间复杂度表示为O(nkt)。虽然算法效率比较高;但原始k-means算法也存在一些缺陷:初始聚类中心的选择对聚类结果的好坏影响很大;可能陷入局部最优值;没有可依循的准则来选择K值;对异常数据较为敏感;处理的数据只能数值属性的数据;可能使得聚类结果不平衡。k均值聚类的核心思想用数学方法描述如下:设xj(1,2,…,n)表示n量,Gi(1,2,…,c)表示c个组,算法就是要将n个向量分到c计算每组的聚类中心,使得非相似性(或距离)指标的价值函数(或目标函数)达到最小。如果用欧几里德距离表示组j中向量xk与相应聚类中心ci间的非相似性指标,那么价值函数可定义如式J=i=1cJ式(2.3)中,Ji=k,xk∈Gix一般用一个c×n的二位隶属矩阵U来定义划分过的组。如果第j个数据点xi属于组i,则U中的元素ui为1;否则,U中的元素uij取0。聚类中心ci一旦确定,可得到式(2.3)最小的uuij=10若ci是xi的最近聚类中心,则xj属于组所以隶属矩阵U具有式(2.5)、式(2.6)的性质。j=1cuij且i=1cj=1n对于固定的uij,使式(2.3)最小的最佳聚类中心就是组i中所有向量的均值,如式(2ci=1Gik,xk∈Gin个向量xi(1,2,…,n)的k均值算法确定聚类中心ci和隶属矩阵第1步:算法初始化聚类中心ci,i=1,2,…,c第2步:用式(2.4)确定隶属矩阵U。第3步:根据式(2.3)计算价值函数。如果它小于确定的阀值,或者相对于上次函数值的该变量小于确定的阀值,就算法停止。第4步:根据式(2.5)修正聚类中心。返回第2步。这个算法是循环执行的且不能确保它收敛于全局最优解。k均值算法的性能主要依赖于聚类中心的初始位置。k均值算法在线运行的情况下,利用时间平均导出相应的聚类中心和组。算法使用式(1.8)修正给定的数据点x对应的最近的聚类中心ci∆ci=η(x-式(1.8)从本质上讲已经嵌入了非监督学习神经元网络的学习法则,一句定义的测量标准,将数据分成几组,使得同组内数据与其他组数据相比具有较强的相似性,也就是聚类。聚类是数据挖掘中最基础的操作之一,一些传统聚类方法已不能满足处理复杂类型的高维的任意分布形状的数据集合的聚类。3人工鱼群算法3.1引言在动物的进化过程中,经过漫长的自然界的优胜劣汰,形成了形形色色的觅食和生存方式,这些方式为人类解决问题的思路带来了不少启发和鼓舞,动物一般不具有人类所具有的复杂逻辑推理能力和综合判断能力的高级智能,它们的目的是在个体的简单行为或通过群体的简单行为而达到或突现出来的。动物行为具有以下几个特点:(1)适应性:动物通过感觉器官来感知外界环境,并应激性的做出各种反应,从而影响环境,表现出与环境交互的能力;(2)自治性:动物有其特有的某些行为,在不同的时刻和不同的环境中能够自主的选取某种行为,而不是通过外界的控制或指导;(3)盲目性:不像传统的基于知识的智能系统,有着明确的目标;单个个体的行为是独立的,与总目标之间没有直接的关系;(4)突现性:总目标的完成是在个体行为的运动过程中突现出来的;(5)并行性:各个体的行为是实时的、并行进行的。人工鱼群算法是根据鱼类的活动特点提出的一种基于动物行为的自治体寻优模式。【李晓磊】3.2人工鱼的相关定义3.2.1鱼群模式的提出20实际90年代以来,群质能(swarmintelligence,SI)的研究引起了众多学者的极大关注,出现了蚁群优化、粒子群优化等一些著名的群质能算法。集群是生物界中常见的一种现象,如昆虫、鸟类、鱼类、微生物乃至人类等。生物的这种特性是在漫长的进化过程中逐渐形成的,对其生存和进化有着重要的影响,同时这些方式也为人类解决问题的思路带来了不少启发和鼓舞。因此,近年来有不少科学家对生物的行为进行了广泛研究,并逐渐形成了一种基于生物行为的人工智能模式。这种基于生物行为的人工智能模式与经典人工智能模式是不同的,他不是采取自上而下的设计方法,二十采取自下而上的设计方法:首先设计单个实体的感知、行为机制,然后将一个或一群实体放置于环境中,让他们在与环境交互作用中解决问题。它是内嵌的(situatedness)、物化的(embodiment)、自治的(autonomous)、突显的(emergence)。一个集群通常定义为一群自治体的集合,他们利用相互间直接或者间接通信,从而通过全体的活动来解决一些分布式的难题。在这里,自治体是指在一个环境中具备自身活动能力的一个实体,其自身力求简单,通常不必具有高级智能。单是他们的集群活动所表现出来的这是一种高级智能才能达到的活动,这种活动称为继群智能。动物自治体通常指自主机器人或动物模拟实体,它主要是用来展示动物在复杂多变的环境里能够自主产生自适应的质能行为的一种方式。自治体的行为受到环境的影响,同时每一个自治体又是环境的构成要素。环境的下一个状态是当前状态的自治体活动的函数,自治体的下一个刺激是环境的当前状态和其自身活动的函数,自治体的合理构架就是能在环境的刺激下做出最好的应激活动。将动物体自治体的概念引入人工鱼群优化算法中,采取自下而上的设计思路,应用基于行为的人工智能方法,形成了一种新的解决问题的模式,因为是从分析鱼类活动出发的,所以称为鱼群模式。该模式用于寻优中,形成了人工鱼群算法。在一片水域中,与生存数目最多的地方一般就是该水域中富含营养物质最多的地方,一句这一特点来模仿鱼群的觅食、聚群、追尾等行为,从而实现全局寻优,这就是人工鱼群算法的基本思想。3.2.2人工鱼的结构模型人工鱼(artificialfish,AF)是真实鱼的一个虚拟实体,用来进行问题的分析和说明。人工鱼的结构模型和行为描述[1]人工鱼所在的环境主要是问题的解空间和其他人工鱼的状态,他在下一时刻的行为取决于目前自身的状态和目前的环境状态(包括问题当前接的优劣势和其他同伴的状态),并且它还通过了自身活动来影响环境,进而影响其他同伴的活动。人工鱼对外界的感知是靠视觉来实现的。生物的视觉是极其复杂的,为了实施的简单和有效,人工鱼的模型中应该用如下方法实现虚拟人工鱼的视觉。XX1StepXVisualXX图3.1人工鱼视觉的概念如图3.1所示,一条虚拟人工鱼当前状态为X,Visual为其视野范围,状态为Xv为为其某时刻视点所在的位置,若该位置的状态优于当前状态,这考虑向该位置方向前进一步,即到达状态Xnext;若状态X在一片水域中,与生存数目最多的地方一般就是水域中富含营养物质最多的地方,因此,本算法就依据这一特点来模仿鱼群的觅食行为从而实现寻优。鱼群的几种典型的行为:觅食行为、聚群行为和追尾行为,鱼群的行为与寻优问题的求解联系密切,人工鱼群算法实施的主要问题就在于如何利用简单有效的方式来构造并实现这些鱼群行为。鱼群的觅食行为实质是朝着食物多的方向游动,而在鱼群算法中,则是以迭代方式向较优方向前进。用向量X=(x1,x2,…,xn)表示人工鱼个体的状态,变量xi(i=1,2,…n)表示欲寻优的变量;定义Y=f(X)表示人工鱼X当前所在位置的食物浓度,即Y为目标函数值;定义di∙j=Xi-X3.3人工鱼群算法发的运行机制3.3.1行为描述(1)觅食行为设人工鱼当前状态为Xi,在其感知范围内随机选择一个状态Xj,如果在求极大问题中,Yi<Y伪代码描述如下:FloatArtificial-fish::AF-prey(){for(i=0;i<try-number;i++){Xj=Xiif(YiXi|next=XelseXi|next}returnAF-foodconsistence(Xi|next)}(2)聚群行为设人工鱼当前状态为Xi,探索当前领域内(即di∙j<Visable)的伙伴数目nf伪代码如下:floatArtificial-fish::AF-swarm(){nfor(j=0;j<friend-number;j++)if(di∙j<VisualXcIf(YcXi|next=XelseAF-prey();eturnAF-foodconsistence(Xi|next}(3)追尾行为【李晓磊】设人工鱼当前状态为Xi,探索当前领域内(即di∙j<Visable)的伙伴中Yj为最大的伙伴Xj,如果伪代码描述如下:floatArtificial-fish::AF-follow(){Yfor(j=0;j<friend-number;j++)if(di∙j<Visualnfor(j=0;j<friend-number;j++)if(di∙j<Visableif(YmaxXi|next=XelseAF-prey();returnAF-foodconsistence(Xi|next}3.3.2行为选择依据待解决问题的性质,评价人工鱼当前所处的环境,然后选择某种行为。最常用的评价方法就是选择各行为中使得向最优方向进步最大的行为,即选择各行为中,让人工鱼的下一个状态最优的行为,若没有能使人工鱼下一状态优于当前状态的行为,那么就进行随机行为。[陈祥生]3.4人工鱼群算法的研究与发展趋势人工鱼群算法(AFSA)是由李晓磊等人于2002年提出的,是一种新型的群只能优化算法。本算法采用自下而上的结构,模仿自然界鱼群的各种行为,并利用这些行为进行寻优。鱼群算法为解决优化问题提供了一种新思路,主要特点如下:【李晓磊】从算法产生的来源来看,人工鱼群算法是通过对自然界鱼群的长期观察,将生物界中的群体只能用于优化问题的解决,并同人工智能技术相结合而产生的。从算法的寻优的机理来看,人工鱼群算法是一种广义的邻域搜索算法,借助于启发式的搜索策略,从而具有了全局最优的能力。从算法实现的方式来看,人工鱼群算法可采用串行或并行方式实现,具有并行执行能力,可以由此设计出高效的系统。人工鱼群算法对于寻优函数无特殊要求,对初值业务特殊要求,由于本身具有全局收敛能力,因此初值设置为固定值或随机值都可以,参数可设置的范围较广。总之,算法的适应性比较强。人工鱼群算法的通用性比较强,由于采用面向对象来实现,因此可以很好地与实际问题相结合,简单易用。人工鱼算法虽然有很多优点,就目前来看能做到许多传统算法所不能达到的水准,但是毕竟是一种新型的算法,许多方面还有待成熟。因此,对鱼群算法进行进一步的完善和发展有很大的必要,目前对这种算法的研究主要有几个方向:理论基础的研究。目前,群集智能算法均是停留在仿真阶段,尚未能提一个完善的理论分析,因此进行理论研究可进一步完善发展各算法的性能。算法适用范围的研究。NFL定理表明不存在适用于任何问题的优化算法,因此研究各群集智能算法的适用范围成为一件必要的研究工作。鱼群算法的设计研究。应该注重高效鱼群算法的开发,提出合理的核心更新公式以及有效的均衡全局搜索和局部改进的策略。考虑到特定问题的特殊性,应该注重高效混合的鱼群算法的设计,包括鱼群算法与问题信息或规则、鱼群算法与神经网络、模糊逻辑、进化算法、模拟退火、禁忌搜索、生物质能以及混沌等方法和策略的结合,另外提出合理选取参数的指导性方法也值得重视。算法应用研究。目前鱼群算法的应用大量局限于连续、但目标、无约束的确定性优化问题,应该注重鱼群算法在离散、多目标、多约束、不确定、动态等优化问题上。系统框架的构建。人工鱼群算法是基于仿生机理,与遗传算法、蚁群算法等群集智能算法具有许多相似的特征,因此建立系统的算法框架有利于取长补短,发展混合型算法,提高算法的性能。【陈祥生】4人工鱼群算法求解聚类问题4.1引言人工鱼群算法是一种优秀的优化算法,将人工鱼群算法用于聚类分析,关键在于构造人工鱼个体模型。将于去算法与聚类因素融合,对模式样本为n,聚类迭代次数为k的数据进行聚类分析,构造中的聚类因素主要求:决策变量、人工鱼间距、人工鱼的r-距离邻域、目标函数等。4.2人工鱼群算法与聚类融合(1)添加决策变量一个决策变量用一条人工鱼来表示。人工鱼个体的状态A定义为:A={a1,a2,…,an},其中ai的值((2)人工鱼间距人工鱼A={a1,a2,…,an}Distance(A,B)=i=1n式(4.1)中:sign(x)=0,x=0(3)人工鱼r-聚类邻域设G表示人工鱼的集合,式(4.2)表示人工鱼A的r-距离领域,表示人工鱼群中与人工鱼A的距离小于r的人工鱼集合。N(A,r)={B|distance(A,B)<=r,B∈G}(4.2)(4)人工鱼群的中心n条人工鱼A1,A2,A3,….An的中心位置Center(A1,A2,…An)表示,定义为(4.3)式。Center(A1,A2,…An)=Most(ai1i=1,2,…n(5)目标函数目标函数用人工鱼当前状态的食物浓度表示,定义如(4.4)式。表示个样本到其聚类中心的欧式距离之和,其中符号定义见(1.1)(1.2)式。Y=j=1求人工鱼个体状态为A={a1,根据人工鱼的状态A={a1,根据各类中的模式样本及其属性,由mj=1|Cj|计算目标函数的值,即食物浓度Y,为各模式样本到期对应的聚类中心的欧几里德距离之和。4.4整体算法描述按照上述人工鱼群算法与聚类分析的融合,文章提出了求解聚类问题的人工鱼群算法,算法的整体描述如下:第1步:算法初始化。设置maxgen(最大进化代数)、N(人工鱼的数量),visual(人工鱼视野),δ(delta)(拥挤度因子),trynumber(每次觅食试探的最大次数),初始化A[m](m条人工鱼的初始状态),计算Y[m](m条人工鱼的初始状态对应的目标函数值),初始化公告板。第2步:对每条人工鱼,先执行追尾,如果其状态优于公告板则更新公告板,然后转第3步;否则,进行群聚行为,若其状态优于公告板则更新公告板后转第3步;否则,进行觅食行为,若其状态优于公告板则更新公告板。第3步:如果m条鱼都执行了第2步,则转向第4步;否则转向第2步。第4步:根据式(1),计算新的聚类中心,计算每个模式样本到新的聚类中心的距离di∙j=X第5步:如果这一代循环中,公告板有更新,则动态因子置零,进化代数gen加1,如果gen<maxgen,则转向第2步,否则算法结束。调整聚类中心,重复上述操作达到最大迭代次数达到满意聚类?调整聚类中心,重复上述操作达到最大迭代次数达到满意聚类?分类所有样本,获取不同聚群记录公告板,计算样本到中心的距离模拟鱼群行为,调整当前状态分类所有样本,获取不同聚群记录公告板,计算样本到中心的距离模拟鱼群行为,调整当前状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论