1
模式识别与智能计算的MATLAB实现
1.13.4.1 11.4.1 算法描述
11.4.1 算法描述

设有N个样品集X={Xi,i=1,2,…,N},其中Xi为n维的特征向量。聚类问题就是要找到一个划分w={w1,…,wM},使得总的类内离散度J和达到最小值:

alt

其中,alt为第j个聚类的中心;alt为样品到对应聚类中心的距离;聚类准则函数J即为各类样品到对应聚类中心距离的总和。

当聚类中心确定时,聚类的划分可由最近邻法则决定,即对样品Xi,若第j类的聚类中心alt满足下式,则Xi属性类j。

alt

在粒子群算法求解聚类问题中,每个粒子作为一个可行解组成整个粒子群。根据解的含义不同,可以分为两种方法:一种是以聚类结果为解,另一种是以聚类中心集合为解。

一个具有M个聚类中心,样品向量维数为n的聚类问题中,每个粒子i由三部分组成,即粒子位置、速度和适应度值。粒子结构为

alt

粒子的位置编码结构表示为

alt

其中,alt表示为第j类的聚类中心,是一个n维矢量。同时每个粒子还有一个速度,其编码结构为

alt

其中,Vj表示第j个聚类中心的速度值,它也是一个n维矢量。

粒子适应度值particle.fitness为一实数,表示粒子的适应度值,可以采用以下方法计算其适应度值:

①按照最近邻公式计算该粒子与各聚类中心的距离,确定该粒子的聚类划分。

②根据聚类划分,重新计算聚类中心,并根据新的分类计算总的类内离散度。

③粒子的适应度可表示为

alt

其中,J是总的离散度和;k为常数,根据具体情况而定。可以看出,粒子所代表的聚类划分的总类间离散度越小,粒子的适应度越大。

此外,每个粒子在进化过程还记忆一个个体最优解pid,表示该粒子经历的最优位置和适应度值。整个粒子群也存在一个全局最优解pgd,表示粒子群经历的最优位置和适应度。

alt

粒子的速度和位置更新公式为

alt

根据已定义好的粒子群结构,采用粒子群算法,便可求得聚类问题的最优解。