一种量子行走的空间聚类方法与流程

文档序号:11287469阅读:289来源:国知局
一种量子行走的空间聚类方法与流程
本发明涉及一种量子行走的空间聚类方法。
背景技术
:文献“量子随机行走的基本性质及应用研究”“modelsofcooperationbasedontheprisoner’sdilemmaandthesnowdriftgame”“fiverulesfortheevolutionofcooperation”等提出了一个基于图的量子博弈聚类算法,该算法将数据点看作参与博弈的人。在博弈过程中,参与人都希望自己的利益最大化。文献“基于网格的量子博弈聚类算法”提出一种基于网格的量子博弈聚类算法,算法将数据点看作是博弈的参与人,通过在收益矩阵中内嵌距离函数,使相似的数据点能够获得更大的收益,从而形成聚类。这些方法聚类效果还不是很令人满意,得到最终结果的过程比较长,不能迅速的得到聚类结果。技术实现要素:本发明的目的就是为了解决上述问题,提供一种量子行走的空间聚类方法,能够快速得到聚类结果,能更快更好地解决问题。为了实现上述目的,本发明采用如下技术方案:一种量子行走的空间聚类方法,包括:步骤一,初始化n维空间,n为数据点的维度,并将数据点自然映射到空间上;定义一个距离函数;步骤二,检查包括数据点的空间数目λ与聚类数目θ之间的关系,如果λ>θ,找出潜在的孤立点空间,并分别计算含有数据点的空间中所含数据点数量最少的空间vmin相对于含有数据点的邻域中每个空间的总收益;若λ=θ,则执行步骤六;步骤三,空间合并与坍缩,合并坍缩后跳回步骤二;步骤四,当包含数据点的空间数量达到聚类数时,如果空间不相邻,则结束,得到相应的聚类结果。所述步骤一中,为了使任意空间中的数据点具有相同的行走环境,对于3维的情况,设定量子行走空间的上下、左右、前后边界相连。所述步骤一中的距离函数满足两个点之间的距离越靠近时,函数值就越小。所述步骤二中,孤立点空间的寻找方法为:查找含有数据点的空间中所含数据点数量最少的空间,记为vmin;若其邻域没有数据点,则将其邻域都并入vmin;如果合并后的vmin所占体积达到总体积设定,则该空间即为潜在的孤立点空间。所述步骤二中总收益的计算方法为,查找含有数据点的空间中所含数据点数量最少的空间,记为vmin,如果vmin的邻域中有数据点,则vmin中的所有数据点分别与邻域内的所有数据点进行一次收益比较,然后分别计算出vmin中数据点相对邻域中每个空间的总收益。所述步骤三中的具体方法为,计算vmin中的每个数据点相对于含有数据点的邻域内的所有数据点的收益,根据计算出的收益决定新的归属,整个空间按照少数服从多数的原则合并到某个邻域空间中;合并后的空间体积并不扩大,而是坍缩到一个空间的大小。所述步骤四中,如果空间相邻,则相邻空间中的数据点再与邻域空间中的数据点进行一次比较,确定最终的归属空间。本发明的有益效果:量子行走的空间聚类算法比已知最好的经典算法更快更好地解决问题,甚至解决某些经典计算无法有效解决的问题。更重要的是,它提供了一条寻找潜在算法加速的新途径。克服以前从传统经典的方法中演绎得来的智能模型的缺陷和困难,处理和描述目前其他智能方法很难解释的有关群体智能的一些问题和现象。附图说明图1为一个空间例子;图2为一个大的空间划分为一个三维空间的例子;图3为两个共面的单位空间合并后坍缩到一个单位空间的示例;图4为两个共线的单位空间合并后坍缩到一个单位空间的示例图5为两个共点的单位空间合并后坍缩到一个单位空间的示例。具体实施方式下面结合附图与实施例对本发明作进一步说明。数据空间及其邻域数据空间(dataspace):简言之,就是能够容纳数据的空间,它可以是一维、二维、三维或更高维度。数据空间本发明中的数据空间我们先按三维来考虑,假定数据点为ο(xi,yj,zk),设δx=xxam-xnim,其中xmax表示在x轴方向的坐标最大值,xmin表示在x轴方向的坐标最小值。也就是说,δx表示在x轴方向的最大坐标差。同样可以定义出。显然,δx,δy和δz就组成一个立方体,这个立方体称为空间,如图1所示。采用一定的策略对δx,δy和δz做一定的拓展,拓展方式根据具体情况和数据集而定,比如当划分的空间数为k时,可以用δx‘=(1+1/k)δx来进行拓展。这样拓展之后,以δx',δy‘,δz‘为长宽高建立的空间将包含所有的数据点。再按要求对该空间进行划分,使得每个数据点都有各自的所属空间。数据空间的邻域根据上述数据空间的描述,特殊的数据点有:处于空间面上的数据点所属于共面的各个空间,处于空间线上的数据点所属于共线的各个空间,处于空间顶点上的数据点所属于与其共点的各个空间。按此规则可以将建立空间的方法推广到n维的情形。当空间划分好之后,所有数据点都可以确定自己的归属空间。一个数据点的邻域是同它所属空间共面、共线或者共点的所有空间。用3维空间来加以说明,同时为了便于认识,用正立方体来阐述一下空间的概念(实际中可以是长方体),如图2所示,一个大的空间被划分为3维(3×3×3)的包含27个的小空间。可以想象,处于该图中最中心标号为14的一个立方体(本发明中称为空间,为了叙述方便,将其定义为v),它有26个邻域空间。显然,在三维情况下,一个数据点共面的所属空间最多6个,共线的空间最多18个,共点的空间最多26个。数据空间的合并与坍缩在模型理论中,数据空间根据聚类规则可以被合并,在本发明为了说明方便,采用正立方体的方式来表示单位空间。同时,当两个单位空间被合并后,坍缩到被合并的单位空间,也就是说,合并的空间体积不会扩大,定义空间的容积对于粒子来说是足够大的。图3、图4、图5分别表示两个共面、共线和共点的单位空间合并后坍缩到一个单位空间的示例。需要说明的是,在实际应用中,空间的定义不一定是正方体,同时大小也不一定相同,应该是多样化的。基于空间的随机行走在一个n维空间中,定义一个数据集ο={ο1,ο2,…,οm},数据集中的每个点οi,i=1,2,…,m为随机行走的数据点。在这个n维空间中,假定一个距离函数s=sij=s(οi,οj),i∈{1,2,…,m},j∈{1,2,…,m},它满足两个点之间的距离越远,函数值就越大。根据该距离函数,计算出集合ο中任意两点之间的距离,可得到数据点间的距离矩阵。初始化时,如果每个点有ω条有向边与其他点相连,通过一个ω近邻空间v(ο,h,s)来表示m个数据点之间的初始关系。那么,对于一个有m个数据点的集合ο={ο1,ο2,…,οm},构成的ω近邻空间v(ο,h,s)如公式(1)所示:这里,i=1,2,…,m。集合ο中的每个数据点οi对应有向图v(ο,h,s)中的一个顶点;图中的每条边hij=h(οi,οj)表示一对数据点之间建立起的特定关系;函数argminω表示找出与数据点οi有最小距离的ω个邻居,从而建立邻集当所有数据点按(1)式形成初始连接关系后,便可以在空间v定义一个随机行走ψ={ο,v,ρ,b)。设空间v上的一个随机行走ψ={ο,v,ρ,b)是一个四元组。其中ο表示数据点的集合;v0表示数据点之间的初始空间;p0={p0(i)},i=1,2,…,m表示所有数据点的初始策略集合,b={b(i)},i=1,2,…,m表示所有数据点的收益集合。每轮行走开始时,数据点同时选择策略,行走结束后,数据点观察邻居的收益,但不清楚邻居的策略组合,所有数据点同步更新自己的策略组合。模型中,假设每个数据点各自建立一个空间,并且它都希望自己的空间获得最大利益。同时,每个数据点也有选择地加入ω个其它点建立的空间,被选中的空间构成了数据点的策略集。假设数据点οi的初始策略集p0(i)∈p0定义为它的邻集,即需要指出的是,数据点οi加入ω个其它空间中的每个取向都是变化的,其初值如下:表示集合的势。数据点οi与οj进行一次行走之后,其收益如下:当一个数据点οi选择了其策略和取向之后,其获得的收益b(i)为:其中,degree0(j)表示数据点οj的度。所有数据点的收益通过计算得出后,它们将关注邻集中邻居的收益,从而借助行走函数调整空间的连接关系。这里行走函数具有使数据点οi断开与原来边的联系,并与其它边重新连接的功能。假设数据点οi的行走函数是收益b的函数,则它的输出应该是有ω个元素的集合,断开原来的连接重新构成数据点οi的邻集这里,δ0(i)表示收益阈值;ε0(i)称作扩展邻集,表示数据点除了ω最近邻外能够观察到的邻居;函数argmaxω表示找出中有最大收益的ω个邻居。行走函数使得数据点οi能够观察到扩展邻集中数据点的收益状况,扩大了数据点οi的观察范围。并在这些数据点中进行搜索,希望找到比ω最近邻收益更大的数据点。如果没有找到收益更大的数据点,则:当l∈ε0(i)时,min({b0(j)})≥max({b0(l)})成立,则行走函数所得的结果为保持原来的邻集不变。否则,断掉与最小收益邻居的连接,重新连接到搜索到的更大收益数据点上,直到所有未连接的数据点的收益都不大于已经连接的邻居的收益。行走函数使得数据点之间的连接关系发生变化,从而引起空间v(ο,h,s)的边集合h发生变化。所以当时间t≥1时,空间vt(ο,ht,s)开始随时间演化。而每一次行走后,数据点οi都要重新调整其取向集合qt(i)。假设在每次行走函数作用之后,数据点οi∈ο将按如下公式建立自己新的取向集合qt(i)。当所有的数据点调整和更新自己的取向集合后,模型就完成了一次迭代。当时间t≥1时,数据点之间的连接关系开始演化,这将使数据点的策略集和收益集合都将随时间演化。其中函数t为一个固定周期。每个数据点都会采用一个在演化过程中相对稳定的策略,某种模式在数据点的连接空间中自然出现,此时,模型算法迭代结束。本发明采用的行走函数让收益较小的点拥有较大的探索能力,而收益较大的点具备较小的探索能力。一般情况下,收益较小的点,为了获取较大的收益,从而拥有较大的探索能力。同理,收益较大的点,为了保持现有利益,拥有较小的探索能力。本方法可以应用于复杂的网络舆情分析与监管,也可以应用于互联网的移动社交平台的管理等。一种量子行走的空间聚类方法,本实施例中以应用于网络舆情分析与监管为例进行说明,本方法中包括的数据点具体映射为舆情话题;通过本聚类方法可以识别和聚焦敏感话题和热点话题,并进行负面舆情研判,解决自动摘要、自动提取关键词和要素等问题。方法具体包括:第一步,初始化n维空间,n为数据点的维度,并将数据点自然映射到空间上;为了使任意空间中的数据点具有相同的行走环境,设定量子行走空间的上下、左右、前后边界相连(此定义为3维情况,也可以推广至高维),第二步,在此空间定义一个距离函数s=sij=s(οi,οj),i∈{1,2,…,m},j∈{1,2,…,m},它满足两个点之间的距离越靠近,函数值就越小;第三步,检查包括数据点的空间数目λ与聚类数目θ之间的关系,如果λ>θ,则执行第四步,若λ=θ,则执行第七步;第四步,查找含有数据点的空间中所含数据点数量最少的空间,将其设为vmin;若其邻域没有数据点,则将其邻域都并入vmin;然后,判断如果合并后的vmin所占体积达到总体积一定比例(比如10%),则将该空间视为潜在的孤立点空间;否则,执行第五步;第五步,如果vmin的邻域中有数据点,则vmin中的所有数据点分别与邻域内的所有数据点进行一次收益比较,然后分别计算出vmin中数据点相对邻域中每个空间的总收益;第六步,空间合并与坍缩,vmin中的每个数据点根据第五步中计算出的收益决定新的归属,整个空间最后按照少数服从多数的原则合并到某个邻域空间中;合并后的空间体积并不扩大,而是坍缩到一个空间的大小;合并坍缩后跳回第三步;第七步,当包含数据点的空间数量到底聚类数的时候,如果空间相邻,则相邻空间中的数据点再与邻域中空间中的数据点进行一次比较,确定最终的归属空间;若不相邻,则算法结束,得到相应的聚类结果。从算法的精度、准确率、召回率三个方面,将本发明方法与kmeans、pcq+kmeans、lda-km三种算法进行对比。实验数据与实验环境为了验证本发明提出的算法性能,实验中以uci的4个数据集作为对象进行聚类分析,4个uci数据集分别为iris,wine,glass,ionosphere,详细见表1所示。本发明在windows7操作系统之下,用matlab作为开发环境,以weka作为辅助工具来进行仿真。表1实验数据集描述表datasetssamplesdimensionsclassesglass21494ionosphere351342iris15043wine101187实验结果与实验分析在上述实验条件下,分别对本发明算法(记作rwqcs)与kmeans、pca+kmeans、lda-km三种算法进行50次运算,计算各种算法的聚类精度、正确率、召回率的平均值,其结果如表2-表4所示。表2:几种算法的聚类精度(pe)比较datasetskmeanspca+kmeanslda-kmrwqcsglass0.5060.4970.5030.511ionosphere0.8110.8200.8380.851iris0.9010.9050.9330.952wine0.7340.7290.8210.839表3:几种算法的准确率(ac)比较表4:几种算法的召回率(re)比较datasetskmeanspca+kmeanslda-kmrwqcsglass0.5110.5220.5430.601ionosphere0.8100.8250.8540.875iris0.8010.8250.8360.856wine0.8650.9150.9230.956从表2-表4不难看出,在这4个数据集中,无论算法的聚类精度、准确率,还是召回率,采用本发明的算法rwqcs要比文献“广义加权minkowski距离及量子遗传聚类算法”“adaptivedimensionreductionusingdiscriminantanalysisandk-meansclustering”中提到的三种算法kmeans、pca+kmeans、lda-km具有较好的聚类效果。同时,对于数据集glass、ionosphere和wine的正确率改进较为明显,相对而言,这三个数据集的属性多,且其值域呈现多样化,因而使得其数据集相对复杂,而采用本发明算法能够取得明显优势。而相对比较简单,并且全局性不甚复杂的iris数据集,本发明算法起到了一定的作用,尽管不明显,但聚类效果还是有改善。因而说明,本发明的算法在聚类分析中是可靠的,有效的。在输入数据与聚类结果进行比较的过程中,我们所期望的聚类应该具有两个特点:第一集中性,在原始数据中的同一类数据对象应该被尽可能地聚类到同一类中;第二分散性,原始数据当中属于不同类的数据对象应该被尽可能地分散到不同的类中。当聚类算法得到的结果越符合这两个特点,其聚类精确度就越高,聚类效果就越好。聚类精度:pe(precision)聚类正确率ac(accuracy)聚类召回率re(recall)其中,ai代表应该分到i类,结果分到i类的数据点数目;bi表示不应该分到i类,结果分到i类的数据点数目;ci表示应该分到i类,结果没有被分到i类的数据点数目;m表示数据集中所有数据点的数目;θ表示聚类的数目。显然,聚类算法的精度越高,算法越优良;准确率越高,算法越优秀;召回率越高,算法误差就越小。上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1