模式识别中聚类分析算法综述(论文)(3)

2019-01-19 13:10

毕 业 设 计 ( 论文 ) 第 6 页

次平坦区域的聚类数可能是m?= 3.如果放弃次平坦的区域,就会丢掉三个聚类的解决方法。

2.3 BSAS的改进

已经讲过,BSAS的基本思想是每个输入向量x被分配到已有聚类或新形成的聚类中。因此,对于x的分配是在最后的聚类形成之前决定的,而最后的聚类是在所有的向量都处理后才形成的。下面介绍克服了这个缺点的BSAS,称之为改进的BSAS(MBSAS),这种改进的代价是X的向量必须参与算法两次。算法包括两个阶段,第一阶段是将X的一些向量分配到聚类中来形成类;在第二阶段中,没有被分配的向量第二次参与算法,并分配到合适的类中。MBSAS具有形式如下。

聚类的确定

m?1

--For i = 2 to N

--Find Ck:d(xi,Ck)?min1≤j≤md(xi,Cj) --If(d(xi,Ck)??)AND(m < q)then *m = m+1 *Cm?{xi} --End{if} End{For} 模式分类 For i = 1to N

--如果xi没有分配到一个聚类中,那么 *Find Ck:d(xi,Ck)?min1≤j≤md(xi,Cj) *Ck?Ck?{xi}

*如果必要,更新向量表达 --End{if} End{For}

聚类数在第一阶段确定,然后不许改变。因此,在第二阶段,对每个向量做决定时,

Cm?{x1} 毕 业 设 计 ( 论文 ) 第 7 页

都要考虑所有的聚类。

同BSAS情况一样,MBSAS也对向量参与算法的顺序敏感。另外,因为MBSAS在数据集X上执行两遍(每个阶段一遍),按预期,它的速度应该慢于BSAS。但是,它的时间复杂度应该与BSAS处在统一数量级上,用O(N)表示。

最后必须指出,在改进之后,当使用相似性测度时,也可以使用MBSAS。 2.4 改进阶段

在所有上述算法中,可能出现两个聚类的位置离得很近的情况,把它们合并成一类是最理想的。对这种情况。上述所有算法都无能为力。解决这种问题的方法是在上述过程结束后,执行下面的合并过程。

合并过程

找到Ci,Cj(i < j),使d(Ci,Cj)?mink,r?1,…,m,k≠rd(Ck,Cr) If d(Ci,Cj) ≤ M1 then

--把Ci,Cj合并为Ci,并删除Cj --更新Ci的聚类表达

--分别将聚类Cj?1,…,Cm命名为Cj,…,Cm?1 --m = m-1 --Go to(A) Else --Stop End{If}

M1是用户定义的参数,用来量化Ci和Cj两个聚类之间的接近程度。

顺序算法的另一个缺点是对向量表达顺序的敏感性。例如,使用BSAS时,x2被赋给第一个聚类C1,算法结束之后,形成4个聚类。可是x2有可能更接近不同于C1的另外一个聚类,然而,对于x2,一旦赋给一个聚类,就没有办法将它移到另一个离它更近的聚类。解决这个问题的最简单的办法是用下面的重分配过程:

重分配过程 For i = 1 to N

--找到Cj使得d(xi,Cj)?min1,…,md(xi,Ck)

毕 业 设 计 ( 论文 ) 第 8 页

--令b(i) = j End{For} For j = 1 to m

--令Cj?{xi?X:b(i)?j} --更新表达 End{For}

在这个过程中,b(i)指示离xi最近的聚类。这个过程可在算法结束后应用,如果需要合并过程,就要在合并过程结束之后使用。

毕 业 设 计 ( 论文 ) 第 9 页

3 聚类算法Ⅱ:层次算法

层次聚类算法与顺序聚类算法有所不同。具体地说,它不产生单一聚类,而是产生层次聚类。层次算法通常应用于社会科学和生物学等领域。另外,其它领域也会用到这种算法,包括现代生物学、医学和考古学。计算机科学与工程领域也经常应用层次聚类算法[2]。

在描述基本思想之前,假设X?{xi,i?1,…,N}是将要聚类的l维向量集。 层次聚类算法产生一个嵌套聚类的层次。更具体地说,这些算法包含N步,与数据向量的数量一样多。在第t步,要在前t-1步的聚类基础上生成新聚类。有两种不同的算法:合并和分裂层次算法。

合并算法中,初始聚类?0由N个聚类组成,每个聚类仅包含X中的一个元素。第一步生成聚类?1,它包含N-1个集合,如?1??2。重复此过程直到产生最后一个聚类

?N?1,它只包含一个单个的聚类集合,即数据集X。因而得到聚类的层次为

?0??1?…??N?1

分裂算法与合并算法的思路恰好相反。在这种算法中,初始聚类?0仅包括一个集合X。第一步产生聚类?1,它由?2个集合组成,如?1??2。重复此过程直到产生最后一个聚类?N?1,它包含N个集合,每个集合仅包含X中的一个元素,在这种情况下可得

?N?1??N?2?…??0

3.1 合并算法

令g(Ci,Cj)为所有可能的X聚类对的函数,此函数用于测量Ci和Cj之间的近邻性,用t表示当前聚类的层次级别。因此,通用合并方法为

通用合并方法 初始化

--选择?0?{Ci?{xi},i?1,…,N}作为初始聚类。 --令t = 0. 重复执行下列步骤: --t = t + 1

毕 业 设 计 ( 论文 ) 第 10 页

--在?1的所有可能聚类对(Cr,Cs)中找一组(Ci,Cj),满足

??minr,sg(Cr,Cs),若g为不相似函数g(Ci,Cj)??

maxg(C,C),若g为相似函数 ?r,srs? --定义Cq?Ci?Cj并产生新聚类?t?(?t?1?{Ci,Cj})?{Cq}。 直到所有向量全被加入到单一聚类中。

很明显,采用此方法可以构造N个聚类的一个层次,每个聚类嵌套在它的后继聚类中,即对于t1?t2,t2 = 1,?,N-1,有?t1??t2。另外,如果两个向量一起加入t层次的同一聚类中,我们认为它们的后继聚类相同。这是检验嵌套性质的另一种方法。

嵌套性质的缺点是不能从一个“坏”聚类中恢复,“坏”聚类可能产生在更早的层次上。

在层次t上,有N-t个聚类。为了确定t+1层上要合并的聚类对,必须考虑

?N?t?(N?t)(N?t?1)个聚类对。这样,聚类过程总共要考虑的聚类对数量为 ???22???N?t?N?k?(N?1)N(N?1) ????????226t?0??k?1??N?1也就是说,整个合并算法的全部运算在N3数量级上。此外,算法的复杂度与g的定义有关。 3.1.1 最短距离法

最短距离法认为,只要两类的最小距离小于阈值,就将两类合并成一类。定义Di,j为

?i类中所有样品和?j类中所有样品间的最小距离,即

Di,j?min{dUV}

式中,dUV表示?i类中的样品U与?j类中的样品V之间的距离。若?j类是由?m,

?n两类合并而成的,则

Di,m?min{dUA},U??i类,A??m类

Di,n?min{dUB},U??i类,B??n类

递推可得

Di,j?min{Di,m,Di,n}


模式识别中聚类分析算法综述(论文)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:勤奋学习奖颁奖词

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: