正在加载图片...
第2期 李滔,等:适合大规模数据集的增量式模糊聚类算法 ·191· 下面采用拉格朗日极值法求模糊划分矩阵U、 整个数据集的聚类中心。 T以及聚类中心V的更新公式。 α=0时的情况仅仅考虑了某一数据块的聚类 G(U.T.V,A)= 中心及其周围的o个样本点对下一个数据块的聚 J〔U,T,a)-a(h4+-= 类性能的影响,这样得出的聚类效果并不理想。为 j=I 了提高聚类性能,应该考虑数据块间聚类中心的相 J(U,T,V)+a 互影响即α≠0时的情况,此时平衡项的加入很好 地提高了聚类性能。 A(∑u 如下所述为IFCM(c+p)算法的具体计算步骤。 j=1 输入:X,c,P,m,no,E; 输出:聚类中心V。 i= 1)把样本集x随机划分成大小相等的s个子集 即x={X,X2,…,X} i=1 Hk∈[1,N] (8) 2)定义一个空的集合Xnn和Xm; 对G(U,T,V,入)中的各个变量分别求偏导并 3)遍历所有的数据块获取聚类中心: 令其等于零得: forl=1,2,…,s ①初始化未知类和已知类的聚类中心V、Z: u山=m2g1x-:2-A=0 ②把从上一数据块获得的样本X添加到当 i=1 前数据块,即X,={X,UXae}; pu=m立1-名2-A=0 ③使用式(4)、(5)和(10)计算当前数据块 的聚类中心V,; -1=0 ④取出距当前数据块的聚类中心最近的n。个 i=1 i=1 样本点存入Xm中; 》=-2∑44x4-:‖+ ⑤把聚类中心V,及其附近的n。个样本点存人 8. i=1 Xn中,即Xm={V,UX}; 2a∑Iy:-I=0 end for i=1 上述算法步骤2)的X用以存放每一个数据 (9) 块产生的聚类中心及其附近的n。个样本点Xm, 通过(9)可以很容易地求出模糊划分矩阵的更 3)对这s个数据块进行遍历,求其聚类中心。3)中 新公式u和,如式(4)、(5)所示。可以发现,模 的主要迭代过程在每个数据块中使用FCPM算法计 糊划分矩阵U和T与平衡因子α无关。 算聚类中心,使用欧氏距离求距聚类中心最近的o 由式(9)第4个等式可得 个样本点,并把它们一同加入到下一个数据块中去 参与聚类。注意在初始化聚类中心时,采用前面提 ∑x4+a 到的FCPM算法的初始化方法对已知类和未知类的 k= V:= -,ie[1,c] (10) 聚类中心Z、V进行初始化,聚类中心V和模糊隶属 ∑a+a k=1 度矩阵U的更新公式分别为(10)、(4),‖·‖表 从式(10)可以看出,根据平衡因子α是否等于 示求欧氏距离。FCPM算法的迭代终止于聚类中心 0,又可以分为两种情况。 的连续变化值的Frobenius范数小于ε。整个IFCM 当α=0即不考虑数据块间聚类中心的相互影 (c+p)算法终止于所有的数据块遍历结束并获得最 响时,在每一个数据块的聚类过程中,将某个数据块 终的聚类中心。 产生的聚类中心加入下一个数据块中参与聚类,为 2.2算法的可行性分析 了增大对数据块间聚类效果的影响程度,把距聚类 正如传统的增量式聚类算法一样,IFCM(c+p)算 中心最近的n。个样本点也一同加入下一个数据块 法对每个数据块进行聚类。在IFCM(c+p)算法中, 参与聚类,以此类推,直至计算出最后一个数据块的 没有添加平衡项时,将每个数据块的c个聚类中心及 聚类中心,这个最终的聚类中心就是我们所要求的 距其最近的。个样本点作为一次聚类结果的历史信下面采用拉格朗日极值法求模糊划分矩阵 U、 T 以及聚类中心 V 的更新公式。 G(U,T,V,λ) = J(U,T,V,α) - λ(∑ c i = 1 μik + ∑ p j = 1 ζjk - 1) = J(U,T,V) + α∑ c i = 1 ‖ vi - v o i ‖2 - λ(∑ c i = 1 μik + ∑ p j = 1 ζjk - 1) = ∑ c i = 1 μ m ik ‖ xk - vi‖2 + ∑ p j = 1 ζ m jk ‖ xk - zj‖2 + α∑ c i = 1 ‖ vi - v o i ‖2 - λ(∑ c i = 1 μik + ∑ p j = 1 ζjk - 1) ∀k ∈ [1,N] (8) 对 G(U,T,V,λ) 中的各个变量分别求偏导并 令其等于零得: ∂J(U,T,V,λ) ∂μik = m∑ c i = 1 μ m-1 ik ‖ xk - vi‖2 - λ = 0 ∂J(U,T,V,λ) ∂ζik = m∑ c i = 1 ζ m-1 jk ‖ xk - zj‖2 - λ = 0 ∂J(U,T,V,λ) ∂λ = ∑ c i = 1 μik + ∑ p j = 1 ζjk - 1 = 0 ∂J(U,T,V,λ) ∂vi = - 2∑ c i = 1 μ m ik‖ xk - vi‖ + 2α∑ c i = 1 ‖ vi - v o i ‖ = 0 ì î í ï ï ï ï ï ï ï ï ï ï ï ï ï ï ïï (9) 通过(9)可以很容易地求出模糊划分矩阵的更 新公式 μik 和 ζjk ,如式(4)、(5)所示。 可以发现,模 糊划分矩阵 U 和 T 与平衡因子 α 无关。 由式(9)第 4 个等式可得 vi = ∑ N k = 1 μ m ik xk + α v o i ∑ N k = 1 μ m ik + α ,∀i ∈ [1,c] (10) 从式(10)可以看出,根据平衡因子 α 是否等于 0,又可以分为两种情况。 当 α = 0 即不考虑数据块间聚类中心的相互影 响时,在每一个数据块的聚类过程中,将某个数据块 产生的聚类中心加入下一个数据块中参与聚类,为 了增大对数据块间聚类效果的影响程度,把距聚类 中心最近的 n0 个样本点也一同加入下一个数据块 参与聚类,以此类推,直至计算出最后一个数据块的 聚类中心,这个最终的聚类中心就是我们所要求的 整个数据集的聚类中心。 α = 0 时的情况仅仅考虑了某一数据块的聚类 中心及其周围的 n0 个样本点对下一个数据块的聚 类性能的影响,这样得出的聚类效果并不理想。 为 了提高聚类性能,应该考虑数据块间聚类中心的相 互影响即 α ≠ 0 时的情况,此时平衡项的加入很好 地提高了聚类性能。 如下所述为 IFCM(c+p)算法的具体计算步骤。 输入:X, c,p,m,n0 ,ε ; 输出:聚类中心 V。 1)把样本集 x 随机划分成大小相等的 s 个子集 即 x = {X1 ,X2 ,…,Xs} ; 2)定义一个空的集合 Xincre 和 Xnear ; 3)遍历所有的数据块获取聚类中心: for l = 1,2,…,s ①初始化未知类和已知类的聚类中心 V、Z; ②把从上一数据块获得的样本 Xincre 添加到当 前数据块,即 Xl = {Xl ∪ Xincre} ; ③使用式( 4) 、( 5) 和( 10) 计算当前数据块 的聚类中心 Vl ; ④取出距当前数据块的聚类中心最近的 n0 个 样本点存入 Xnear 中; ⑤把聚类中心 Vl 及其附近的 n0 个样本点存入 Xincre 中,即 Xincre = {Vl ∪ Xnear} ; end for 上述算法步骤 2)的 Xincre 用以存放每一个数据 块产生的聚类中心及其附近的 n0 个样本点 Xnear , 3)对这 s 个数据块进行遍历,求其聚类中心。 3)中 的主要迭代过程在每个数据块中使用 FCPM 算法计 算聚类中心,使用欧氏距离求距聚类中心最近的 n0 个样本点,并把它们一同加入到下一个数据块中去 参与聚类。 注意在初始化聚类中心时,采用前面提 到的 FCPM 算法的初始化方法对已知类和未知类的 聚类中心 Z、V 进行初始化,聚类中心 V 和模糊隶属 度矩阵 U 的更新公式分别为(10)、(4), ‖·‖ 表 示求欧氏距离。 FCPM 算法的迭代终止于聚类中心 的连续变化值的 Frobenius 范数小于 ε。 整个 IFCM (c+p)算法终止于所有的数据块遍历结束并获得最 终的聚类中心。 2.2 算法的可行性分析 正如传统的增量式聚类算法一样,IFCM(c+p)算 法对每个数据块进行聚类。 在 IFCM(c+p)算法中, 没有添加平衡项时,将每个数据块的 c 个聚类中心及 距其最近的 n0 个样本点作为一次聚类结果的历史信 第 2 期 李滔,等: 适合大规模数据集的增量式模糊聚类算法 ·191·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有