system: [SYSTEM]

user: 3. 基于PSO-TVAC的中心自适应权的FCM算法 AFCM [ 11 ] 算法启示我们，在聚类过程中将每个样本区别以待可以减少噪声干扰，提高算法性能。同样，FCM算法中，聚类中心起着非常重要的作用，它决定了最终的聚类结果，但其结果依赖于初始中心的选取。为减少这种依赖性，本文将强调每个中心的重要性，提出一种基于PSO-TVAC的中心自适应权的FCM聚类算法(CWAFCM)。 3.1. 中心自适应权的FCM模型 由式(1)，FCM算法的目标函数可以改写为 J = 1 ⋅ ∑ j = 1 c μ j 1 m ‖ x 1 − v j ‖ 2 + 1 ⋅ ∑ j = 1 c μ j 2 m ‖ x 2 − v j ‖ 2 + ⋯ + 1 ⋅ ∑ j = 1 c μ j n m ‖ x n − v j ‖ 2 ， (11) 即每个类中心和所有样本点之间的模糊距离系数为1，这说明传统的FCM算法中每个中心都被平等看待，这将最终影响聚类有效性。本文将通过中心引入权重的方法来提高算法的鲁棒性和聚类效果。CWAFCM算法的目标函数为 G c ( φ ， U ， V ) = ∑ j = 1 c φ j q ∑ i = 1 n μ j i m ‖ x i − v j ‖ 2 (12) 其中 φ j 表示第j个聚类中心的权重， φ j ， j = 1 ， 2 ， ⋯ ， c 组成中心自适应权重向量 φ ，q为中心权重的自适应指数。满足 ∑ j = 1 c μ j i = 1 ， ∏ j = 1 c φ j = 1 。用拉格朗日插值法得到拉格朗日函数为 L ( φ ， U ， V ) = ( ∑ j = 1 c φ j q ∑ i = 1 n μ j i m ‖ x i − v j ‖ 2 ) + β ( ∏ j = 1 c φ j − 1 ) + ∑ i = 1 n λ i ( ∑ j = 1 c μ j i − 1 ) 在 L ( φ ， U ， V ) 中对 U ， φ ， V 求偏导并令其等于0有 ∂ L ∂ μ j i = m φ j q μ j i m − 1 ‖ x i − v j ‖ 2 + λ i = 0 ∂ L ∂ φ j = q φ j q − 1 ∑ i = 1 n μ j i m ‖ x i − v j ‖ 2 + β ∏ l = 1 ， l ≠ j c φ l = 0 ∂ L ∂ v j = − ∑ j = 1 c φ j q μ j i m ( x i − v j ) = 0 因为有 ∏ l = 1 ， l ≠ j c φ l = 1 φ j ，代入上式可以得到使式(12)达到最小的充要条件 μ j i = 1 ∑ k = 1 c [ φ j ‖ x i − v j ‖ 2 φ k ‖ x i − v k ‖ 2 ] 1 m − 1 (13) φ j = { [ ∏ j = 1 c ( ∑ i = 1 n μ j i m ‖ x i − v j ‖ 2 ) ] 1 c ∑ i = 1 n μ j i m ‖ x i − v j ‖ 2 } 1 q (14) 式(13)和式(14)是隶属度和中心权重的更新迭代公式，聚类中心的更新公式则与式(4)一样。比较式(3)和(13)，CWAFCM模型中的隶属度随权向量φ的改变而改变。 3.2. 聚类有效性指标 聚类有效性指标是一种用来度量聚类效果的评价函数。常用的有效性指标有Xie Beni指标(CVI XB ) [ 12 ]，标准互信息(NMI) [ 13 ]，聚类准确率(Accuracy)，召回率，F1值等。考虑到FCM聚类过程中不同中心的重要性不同，本文提出一种改进的Xie-Beni指标ACVI。令 ACVI = min j ≠ k ‖ φ j v j − φ k v k ‖ 2 ACOMP = 1 n ∑ i = 1 n ∑ j = 1 c μ j i m ‖ x i − v j ‖ 2 ACVI = ACOMP ASPT = 1 n ∑ i = 1 n ∑ j = 1 c μ j i m ‖ x i − v j ‖ 2 min j ≠ k ‖ φ j v j − φ k v k ‖ 2 (15) ASPT为类间最小加权距离，反映类间分离程度，其值越大越好；ACOMP为类内平均模糊距离，反映类内紧致程度，其值越小越好。因此作为比值，ACVI的值越小表示聚类效果越好。 3.3. PSO-TVAC算法 CWAFCM算法中，模糊因子m和自适应指数q是影响聚类结果的关键参数。恰当取值不仅可以降低算法陷入局部最优的可能性，还能提高聚类准确度。带时变加速度的粒子群算法(PSO-TVAC) [ 14 ] 因其算法简单，搜索速度快，效率高等优点被广泛用于参数优化问题。本文采用PSO-TVAC来优化参数m和q，其适应度函数采用本文提出的聚类指标ACVI。PSO-TVAC算法的速度和位置更新公式如下： V i ( t + 1 ) = ω V i ( t ) + c 1 r 1 ( P i ( t ) − X i ( t ) ) + c 2 r 2 ( P g ( t ) − X i ( t ) ) (16) X i ( t + 1 ) = X i ( t ) + V i ( t + 1 ) (17) 其中 V i ( t ) 和 X i ( t ) 分别表示搜索空间中第t次迭代时的速度 V i 和位置 X i ， ω 为惯性权重， c 1 ， c 2 为加速度系数，计算公式为 ω = ω max − ω max − ω min iter max ∗ iter (18) c 1 = ( c 1 i − c 1 f ) ∗ iter max − iter iter max + c 1 f (19) c 2 = ( c 2 i − c 2 f ) ∗ iter max − iter iter max + c 2 f (20) 其中 ω max = 0.9 ， ω min = 0.4 ，iter为迭代次数， iter max 为最大迭代次数； c 1 i ， c 2 i ( c 1 f ， c 2 f )表示 c 1 ， c 2 初值(终值)， c 1 i = c 2 f = 2.5 ， c 2 i = c 1 f = 0.5 。 r 1 ， r 2 为分量在(0， 1)之间的随机向量， P i ( t ) 表示在t时刻的第i个粒子的历史最佳位置， P g ( t ) 表示t时刻的全局最佳位置。 3.4. CWAFCM算法的流程 这里我们给出CWAFCM算法的流程：首先用PSO-TVAC算法优化参数m， q，采用适应度函数ACVI；其次以式(12)为目标函数进行聚类。具体步骤为： 输入：数据集和聚类中心数c；聚类最大迭代次数Itermax；PSO算法最大迭代次数Iter max 。 输出：聚类结果 1) 初始化关于m， q的粒子种群X；初始化隶属度矩阵U，中心权重向量φ；计算聚类中心向量V；设置相关参数，收敛阈值eps； 2) 随机初始化每个粒子的速度V i 和位置X i ； 3) 根据式(13)、(14)、(4)更新U， φ， V； 4) 用式(15)计算每个粒子的适应度值ACVI(X i (t))，并得到P i 和P g ； 5) 根据公式(18)、(19)和(20)计算 ω ， c 1 ， c 2 ；用式(16)和(17)更新粒子的速度V i 和位置X i ； 6) 当达到最大迭代次数Iter max 或者 | ACVI ( P g ( k ) ) − ACVI ( P g ( k − 1 ) ) | < eps 时，回到第三步，直到达到Iter max ； 7) 得到全局最优粒子 P g = ( m ， q ) ； 8) 初始化隶属度函数U和中心权重向量φ，通过式(4)计算聚类中心V； 9) 通过式(4)、(13)、(14)更新聚类中心，隶属度和中心权重； 10) 当整个算法收敛时则得到最终聚类中心和每个粒子的隶属度。