您的位置:首页 > 其它

[翻译]应用粒子群最优化的文件聚类

2007-05-22 00:25 363 查看
http://download1.csdn.net/down3/20070522/22002507287.pdf 原文下载

应用粒子群最优化的文件聚类
崔晓慧,Thomas E. Potok,Paul Palathingal
应用软件工程学研究小组
计算科学与工程学部
橡树岭国家实验室
橡树岭,TN 37831-6085
cuix, potokte, palathingalp@ornl.gov

概要
快速与高质量的文件聚类在有效地导航,总结和组织信息方面起着重要的作用。最近的一些研究已经表明分割聚类算法更适合用来聚类大量的数据。然而,在分割算法中应用的最普遍的K均值算法,只能产生局部最优的解决方案。在这篇文章中我们提出了一种粒子群(PSO)文件聚类算法。与K均值算法的局部搜索相反,PSO聚类算法在整个解决空间中完成一次全局的搜索。在我们进行的实验中,我们分别在四组不同的文本文件数据集中应用了PSO,K均值和改进的PSO聚类算法。数据集中文件的数目覆盖了从204到大于800的范围,群的数目覆盖了从大于5000到大于7000的范围。结果表明,改进的PSO聚类算法与K均值算法相比能产生更紧凑的聚类结果。
绪论
文件聚类作为一种基本的操作被广泛应用于无人管理的文件组织,自动主体获取和信息恢复等领域。聚类涉及到将一系列的样本划分为指定的群数。聚类一系列数据的动机是寻找数据固有的结构并揭露这种结构作为一系列的种群。每个种群中的数据样本应该具有很大程度的相似性,而这种相似性与其他种群相比有应该最小[3,9,23,25]。目前有两种主流的聚类技术:“分割法”和“分等级法”[9]。大部分的文件聚类算法可归为这两类。分等级的方法产生一个分割的聚类序列,而且在这个序列的顶部有一个单独的、包含所有样本点的种群,底部有个别的点。分隔聚类方法寻找一种将文件归为不重叠类的分割,依此作为聚类的最小估计值。虽然分等级的聚类方法经常被描述为一种较高质量的聚类方法,但是这种技术不能包括样本分类的任一种约束条件,这样就可能会在文本分析的较早阶段得到较差的分类结果[9]。此外,这种方法的时间复杂度是二次的[23]。
近些年来,由于分割聚类技术只需要较低的计算要求,人们已经认识到分割数据技术更适合聚类较大量的文件数据集[23,25]。分隔聚类算法的时间复杂度是线性的,这使得它得到广泛的应用。最有名的分割聚类算法是K均值聚类算法和它的变种算法[11]。这种算法简单易懂而且基于稳定的变异分析基础。除了K均值聚类算法,其他一些算法,比如遗传算法(GA)[10,18]和自组织映射聚类算法(SOM)[14]也已经用于文件聚类。粒子群优化(PSO)[13]是另一种已经被应用到图像聚类和其他低空间维数的数据集中的智能算法[15,16]。然而,限于作者的认识,PSO聚类算法一直没有被应用到文本文件聚类领域中。在这篇论文中,一种基于PSO的文件聚类算法被提出。这篇文章剩余的组织结构如下:第2章介绍了用具类算法描述文件以及比较文件间相同点的方法。第3章介绍了K均值聚类算法和PSO聚类算法的概况。PSO聚类算法在第4章被详细描述。第5章介绍了详细的实验步骤和PSO算法与K均值算法的性能对比结果。同时给出了对于实验结果的分析讨论。结论在第6章给出。
2、基本知识
2.1、文件表示法
在大多数的聚类算法中,要聚类的数据集被描述为一系列的向量X={x1,x2….xn},这里的向量xi相当于一个样本,可以称其为特征向量。特征向量应当具有合适的属性来描述这个样本。文本文件样本可以用向量空间模型(VSM)来描述[8]。在这个模型中,一个文件的内容被形式化为多维空间中的一个点,被标记为向量d,例如d={w1w2wn}这里的wii=12n是一个文件中组ti的条件权重。在一个文件中,条件权重值对于这个条件来说是很重要的。为了计算条件权重,我们必须考虑在一个文件和一系列文件中条件的出现频率。最常用的加权方案结合了条件频率与逆文件频率(TF-IDF)[8,19]。在文件j中,条件i的权重按下式计算:
wji=tfji´idfji=tfji´log2(n/dfji) (1)

这里的tfji是文件j中条件i的出现次数,dfji指出了文件归类过程中的条件频率,n是归类文件的总数。这种加权方案是低识别损耗与高频率词的折衷。

2.2、相似度度量
两个文件之间的相似度需要用聚类分析来计算。很多年来,有两种方法被用来计算文件mp和文件mj之间的相似度。第一种是基于Minkowski距离的方法,如下:


(2)
设n=2,我们获得了欧几里得距离。为了应用相等的开端距离,假设依据维数距离范围非常大,那么在向量空间中,大多数算法用格式化的欧几里得距离作为两个文件mpmj之间的相似度度量。距离公式的计算如3所示:


(3)
这里的mpmj是两个文件向量;dm表示向量空间的维数;mpkmjk表示在第k维上文件mp和文件mj的权重值。另一种在文件聚类中常用的相似度计算方法是余弦相关方法[19,20],如下:


(4)
这里的***是这两个文件向量的点积。|.|表示向量的长度。这两种相似度度量的方法在文本文件聚类文章中用都用的较为广泛。

3、背景
3.1、K均值聚类算法
K均值聚类算法简单易懂,而且基于变异分析的稳定基础。它将一组数据向量聚类为预先确定的群数。它从随机的初始聚类中心开始,依据数据样本和聚类中心的相似性,不断的分配数据集中的数据样本给聚类中心。再分配过程直到条件满足才结束(例如,最大的迭代次数或经过一定的迭代次数后聚类结果不再改变)。K均值算法可描述为:
(1) 随机选择聚类中心向量作为初始的集合划分。
(2) 将每个文件向量划分到离他最近的聚类中心的所在群中。
(3) 按式5重新计算聚类中心。


(5)
这里的dj是属于分类sj的文件向量;表示聚类中心向量;nj是属于分类sj的文件向量个数。
(4) 重复第2步和第3步直到达到收敛。
K均值算法的主要缺点是结果很大程度受初始聚类中心选择的影响,而且可能会落入局部最优[21]。因此,初始聚类中心的选择影响了K均值算法的主要处理,同时也影响了数据集的划分结果。K均值的处理过程是在临近的初始分类中寻找局部最优分类并优化划分结果。在一个数据集中相同的初始聚类中心总是产生相同的聚类结果。然而,如果能用其他技术获得较好的初始聚类中心,K均值算法在优化初始聚类中心得到最优聚类中心方面就能发挥较好的作用。
3.2、PSO算法
PSO算法是由艾伯哈特和肯尼迪于1995年提出的[13],它来源于对鸟群社会行为的模拟。在PSO算法中,一只鸟群中的鸟被形象地比喻为一个粒子。这些粒子可以被想象为在一个问题空间中简单地飞行。在多维问题空间中一个粒子的位置表示问题的一个解。当一个粒子移动到一个新的位置,就会产生一个不同的问题解。这个解由一个适当的方程来评估,这个方程提供了解的效用的一些值。每个粒子在问题空间中沿每维运动的速度和方向将会随着每一代的运动改变。综合粒子本身的经验pid和其他粒子的经验pgd影响着每一个粒子在问题空间中的移动。随机值rand1和rand2用于处理的完整性,即确保粒子在收敛到最优解周围时能搜索一个较大的空间范围。c1c2为调节pidpgd相对重要性的参数以决定粒子的下一次移动速度。在每一代,粒子的新位置通过当前位置xid与粒子的当前速度vid相加来获得。在数学上由于多维空间的存在,第i个粒子按照如下方程来改变自己的速度和位置[13]:
vid =w´vid +c1 ´rand1 ´(pid -xid )
+c2 ´rand2 ´(pgd -xid ) (6a)
xid= xid+ vid (6b)
w为惯性权重;pid是粒子经历过的最好位置;pgd是群体经历过的最好位置;c1c2为常数,被称为加速系数。d 是问题空间的维数;rand1,rand2是(0,1)范围内的任意数。
4、PSO聚类算法的描述
在过去的一些年,PSO算法已被证实能高效快速的解决一些最优化问题[13]。在很多研究和应用领域得到了成功的应用[4,7,13]。在文件聚类的研究领域,我们可以将聚类问题看作寻找群体最优中心的最优化问题而不是寻找最优分割。这种想法要求我们在应用PSO最优算法解决聚类问题上要有所改变。
和其他的分割聚类算法类似,PSO聚类算法的目的是寻找分类的合适中心以便能获得最小的群内距离和最大的群间距离。PSO算法为解决问题进行全局搜索,而大多数的其他分割聚类算法执行局部搜索。在局部搜索中,所获得的解通常是基于它的前一步所获得的解。例如,K均值聚类算法用随机产生的种子作为初始的聚类中心然后迭代优化中心的位置。K均值算法的优化过程表明,这种算法仅仅是在初始随机产生的聚类中心周围的狭窄空间中进行搜索。PSO聚类算法的聚类过程可以分为两个阶段:全局搜索阶段和局部优化阶段。在初始迭代中,基于PSO算法的粒子速率更新方程如6a,群体初始速度vid,每一代的两个随机值(rand1,rand2)和惯性系数w通过改变群体的要素来保证粒子群的不同,以避免粒子群在局部优化中停滞。许多粒子群平行搜索,在同一时间应用不同的解救能够在问题空间中搜索到更大的区域。初始的迭代可被归类为全局搜索过程。经过数次迭代后,群体的速度将会逐渐减小,群体的搜索范围将缩小,但是粒子将会接近最优解。全局搜索阶段转变到局部优化阶段。在PSO算法中,通过选择不同的参数我们能够控制由全局搜索阶段转变到局部优化阶段的时间。粒子的转变时间越晚,它能获得全局最优解的可能性就越大。
4.1、标准PSO算法
在PSO文件聚类算法中,多维文件向量空间被模型化为一个问题空间。在文件数据集中,每一个条件表示问题空间的一维。每一个文件向量被视为问题空间的一个点。整个文件数据集被视为是具有大量点的多维空间。
群中的一个粒子被视作是聚类过程中的一个可能解。因此,一个群就是大量可能的聚类解的集合。每一个粒子维持一个矩阵Xi=(C1,C2,…,Ci,…,Ck),这里的Ci是第i个聚类中心向量,k是群数。依据它自己的经验和群中其他粒子的经验,粒子调整每一代在向量空间中中心向量的位置。文件到聚类中心的平均距离(ADDC)被每个粒子用作评价解的适应度。这个适应度的计算方程如下:


(7)
Mij是属于第i个聚类的第j个文件向量;Oi是第i个聚类的中心向量;d(Oi mij)是文件mij和聚类中心Oi之间的距离;Pi表示属于聚类Ci的文件数目;Nc表示聚类数目。
PSO算法的流程如下:
(1)在初始化阶段,每一个粒子从文件样本中随机选择k个不同的文件向量作为初始的聚类中心。
(2)对于每一个粒子:
(a)分配每一个文件向量到离它最近的聚类中心所在类中。
(b)按公式7计算适应度。
(c)用公式6a和6b计算速度和粒子位置产生下一个解。
(3)重复步骤(2)直到下列的条件满足。
(a)达到最大的预设迭代数

(b)中心向量的平均改变值小于预设值。
4.2、基于PSO的K均值聚类
莫沃的研究[15]表明,如果有足够的时间,利用PSO算法的优化能力,PSO聚类算法在低维空间中可以产生比传统K均值更好的聚类结果。然而,在聚类大量文件数据集时,由全局搜索阶段到局部优化阶段的缓慢转变使得PSO聚类算法比K均值聚类算法需要更多迭代次数才能达到优化聚类。虽然PSO算法是平行的而且能够用平行的部件去执行,例如计算机聚类器,但是聚类大量文件数据集仍需要较高的计算要求。在我们的实验中,完成一个具有800个文件的文件数据集 的优化聚类,PSO算法需要大于500次的迭代。而K均值算法仅仅需要10到20次的迭代。
虽然PSO算法能够得到比K均值算法更好的聚类结果,但是在执行时所需时间上K均值算法对于大量数据集更有效[1]。因此,我们提出了一种用K均值算法取代PSO改进阶段的改进PSO算法。这种改进的PSO算法包含两个模块:PSO模块和K均值模块。全局搜索阶段和局部优化阶段分别用这两个模块来完成。在初始化阶段,PSO模块执行一段较短时间(50到100次迭代)的全局搜索来获得和最优解接近的解,这样就避免了很高的计算量。然后把PSO模块的执行结果作为K均值模块的初始种子。最后用K均值算法进行优化并产生最终结果。整个过程的执行步骤如下:
(1)执行PSO聚类过程直到超过最大的迭代次数。
(2)将PSO过程的聚类结果作为K均值模块的初始聚类中心。
(3)执行K均值过程直到达到最大的迭代次数。
5、实验和结果
5.1、实验数据
我们用了四组不同的文件样本来比较K均值算法和PSO算法的性能。这些文件数据来源于文本检索会议(TREC)[24]。文本数据的描述如表1。在那些文件数据中,出现频率较高的词(例如官能词:“a”,“the”,“in”,“to”;代词:“I”,“he”,“she”,“it”)被完全剥离出来,而且用波特算法将不同形式的词缩减为一种典型的形式[17]。为了减少不同文件长度变化的影响,每一个文件向量都被格式化以达到单位长度。每一个样本中的文件的数目范围从204到878。每个样本中的条件数目都超过5000。
5.2、实验步骤
分别将四组数据用K均值算法,PSO算法和改进的PSO算法进行处理。在每个算法中用欧几里得距离计算方法和余弦相关计算方法相似规律。做一次简单的比较,K均值算法和PSO算法在每次试验中各运行100次迭代。在改进的PSO算法中,首先让PSO算法执行90次迭代,然后将PSO算法的结果作为K均值算法的初始种子,再让K均值模块执行10次迭代取得最终结果。改进的PSO算法的所有迭代与K均值算法和PSO算法的相同。不需要再给K均值算法设置参数。在PSO算法中,我们为PSO算法选择50个粒子群而不是20到30个[4,20]。因为文本文件数据是一个高维的问题空间,在算法中增加粒子的数目会增加寻找到最优解的机会。在PSO算法中,惯性系数w初始值设为0.72,加速系数常量c1c2设置为1.49。这些值的选择基于[22]的结果。在PSO算法中,惯性系数w每一代都减小1%以确保较好的收敛性。

表1.文本文件数据样本概要

Data
Number of
documents
Number ofterms
Number ofclusters
Dataset1
414
6429
9
Dataset2
313
5804
8
Dataset3
204
5832
6
Dataset4
878
7454
10
5.3、结果与分析讨论
适应度公式7不仅可以用于PSO算法的适应度计算,而且可以用于聚类质量的评估。它代表了文件样本与他们所属的类的聚类中心的距离(ADDC)。ADDC的值越小,聚类所得解就越优。表2分别给出了应用K均值算法,PSO算法和改进的PSO算法的实验结果。每个算法各执行十次。平均ADDC值如表2所示。
如表2所示,在所有用欧几里得相似距离和余弦相关相似距离法方法的四组数据样本中,改进的PSO算法能够产生具有最低ADDC值的聚类结果。因为100次迭代不足以使PSO算法聚类到一个最优解,所以表2中的结果表明,当用欧几里得相似距离时PSO算法已经较K均值算法有所改进。然而,当改用余弦相关距离时,K均值算法比PSO算法具有更好的性能。图1阐明了第1组数据样本用欧几里得距离作为相似距离时这些算法的聚类行为。在图1中,K均值算法收敛速度快但过早成熟。如图1所示,K均值算法的ADDC值在10次迭代内由11急剧地减小并停留在8.2。PSO算法的ADDC值在30次迭代内由11快速地收敛到8.1。PSO算法中,ADDC值的减少程度不如K均值算法的那样剧烈,而且在30次迭代后就变得平稳。曲线表明,如果执行更多的迭代次数,虽然减少的速度非常缓慢,但平均距离仍会进一步减少。改进的PSO算法的性能得到了显著的改善。在开始的90次迭代中,改进的PSO算法与传统PSO算法具有相似的收敛行为,因为在1到90次迭代中,传统PSO算法和改进的PSO算法执行相同的PSO优化代码。90次迭代后,ADDC值由8.1急剧减小到6.4并在10次迭代内保持平稳。

表2:K均值算法,PSO算法和改进的PSO算法的性能比较



通过以上试验可以看出,改进的PSO算法能够产生最好的聚类结果。它的平均距离值最低。在改进的PSO算法的实验中,90次迭代还不足以使PSO模块寻找到最优解,然而,将一个粒子的解定位到接近于全局解的概率还是很大的。PSO模块的执行结果被当作K均值模块的初始种子,K均值模块在低ADDC值的条件下能够快速地达到最优。



图1: 不同聚类算法的收敛行为(K均值算法,PSO算法和改进的PSO算法)

6、结论
在这篇文章中,我们提出了一种基于PSO的文件聚类算法。PSO聚类算法的聚类行为可以分为两个阶段:全局搜索阶段和局部优化阶段。全局搜索阶段确保每个粒子能够搜索到足够大的问题空间。当一个粒子达到最优解的范围时,局部优化阶段能够使所有粒子群达到最优聚类。当数据样本很大时,虽然传统PSO算法也能通过全局搜索达到最优聚类,但是与K均值算法相比,需要更多的迭代次数和计算时间。K均值算法的聚类速度要比PSO算法的快,但常常会落入局部最优。改进的PSO算法结合了传统PSO算法的全局搜索能力和K均值算法的快速收敛能力,同时避免了两种算法的缺陷。它包含了两个模块:PSO模块和K均值模块。PSO模块在初始化阶段执行一小段时间,它的目的是通过全局搜索搜索到最优解的所在范围并避免很高的计算量。PSO模块的执行结果被当作K均值模块的初始种子。K均值算法用来优化并产生最终结果。我们的实验结果表明:应用改进的PSO算法能够比单独用PSO算法或K均值算法产生更高质量的聚类。

7、参考文献
[1] Al-Sultan, K. S. and Khan, M. M. 1996. Computational experience on four algorithms for the hard clustering problem. Pattern Recogn. Lett. 17, 3, 295–308.
[2] Anderberg, M. R., 1973. Cluster Analysis for Applications. Academic Press, Inc., New York, NY.
[3] Berkhin, P., 2002. Survey of clustering data mining techniques. Accrue Software Research Paper.
[4] Carlisle, A. and Dozier, G., 2001. An Off-The-Shelf PSO, Proceedings of the 2001 Workshop on Particle Swarm Optimization, pp. 1-6, Indianapolis, IN
[5] Cios K., Pedrycs W., Swiniarski R., 1998. Data Mining-Methods for Knowledge Discovery, Kluwer Academic Publishers.
[6] Cui X., Hardin T., Ragade R. K., and Elmaghraby A. S., A Swarm Approach for Emission Sources Localization, The 16th IEEE International Conference on Tools with Artificial Intelligence, 2004, Boca Raton, Florida, USA
[7] Eberhart, R.C., and Shi, Y., 2000. Comparing Inertia Weights and Constriction Factors in Particle Swarm Optimization, 2000 Congress on Evolutionary Computing, vol. 1, pp. 84-88.
[8] Everitt, B., 1980. Cluster Analysis. 2nd Halsted Press, New York.
[9] Jain A. K., Murty M. N., and Flynn P. J., 1999. Data Clustering: A Review, ACM Computing Survey, Vol. 31, No. 3, pp. 264-323.
[10] Jones, Gareth, Robertson, Alexander M., Santimetvirul, Chawchat and Willett, P., 1995. Non-hierarchic document clustering using a genetic algorithm. Information Research, 1(1).
[11] Hartigan, J. A. 1975. Clustering Algorithms. John Wiley and Sons, Inc., New York, NY.
[12] Hardin T., Cui X., Ragade R. K., Graham J. H., and Elmaghraby A. S., (2004). A Modified Particle Swarm Algorithm for Robotic Mapping of Hazardous Environments, The 2004 World Automation Congress, SEVILLE, Spain
[13] Kennedy J., Eberhart R. C. and Shi Y., 2001. Swarm Intelligence, Morgan Kaufmann, New York.
[14] Merkl D., 2002. Text mining with self-organizing maps. Handbook of data mining and knowledge, pp. 903-910, Oxford University Press, Inc. New York.
[15] Merwe V. D. and Engelbrecht, A. P., 2003. Data clustering using particle swarm optimization. Proceedings of IEEE Congress on Evolutionary Computation 2003 (CEC 2003), Canbella, Australia. pp. 215-220.
[16] Omran, M., Salman, A. and Engelbrecht, A. P., 2002. Image classification using particle swarm optimization. Proceedings of the 4th Asia-Pacific Conference on Simulated Evolution and Learning 2002 (SEAL 2002), Singapore. pp. 370-374.
[17] Porter, M.F., 1980. An Algorithm for Suffix Stripping. Program, 14 no. 3, pp. 130-137.
[18] Raghavan, V. V. AND Birchand, K. 1979. A clustering strategy based on a formalism of the reproductive process in a natural system.Proceedings of the Second International Conference on Information Storage and Retrieval, 10–22.
[19] Salton G., 1989. Automatic Text Processing. Addison-Wesley.
[20] Salton G. and Buckley C., 1988. Term-weighting approaches in automatic text retrieval. Information Processing and Management, 24 (5): pp. 513-523.
[21] Selim, S. Z. And Ismail, M. A. 1984. K-means type algorithms: A generalized convergence theorem and characterization of local optimality. IEEE Trans. Pattern Anal. Mach. Intell. 6, 81–87.
[22] Shi, Y. H., Eberhart, R. C., 1998. Parameter Selection in Particle Swarm Optimization, The 7th Annual Conference on Evolutionary Programming, San Diego, CA.
[23] Steinbach M., Karypis G., Kumar V., 2000. A Comparison of Document Clustering Techniques. TextMining Workshop, KDD.
[24] TREC. 1999. Text Retrieval Conference. http://trec.nist.gov.
[25] Zhao Y. and Karypis G., 2004. Empirical and Theoretical Comparisons of Selected Criterion Functions for Document Clustering, Machine Learning, 55 (3): pp. 311-331.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: