样本矩阵: X = [ x 1 , x 2 , . . . , x n ] ∈ R d × n X=[x_1,x_2,...,x_n] ∈R^{d×n} X=[x1,x2,...,xn]∈Rd×n,有n个 x i x_i xi每个 x i x_i xi是d维
簇集合: C = [ C 1 , C 2 , . . . , C c ] C=[C_1,C_2,...,C_c] C=[C1,C2,...,Cc],有c个簇集合
SSE:误差平方和,sum of the squared errors,要计算每个样本点和相应簇均值的误差平方和,即:
m i n M S S E = m i n C ∑ j = 1 c ∑ x i ∈ C j ∣ ∣ x i − m j ∣ ∣ 2 2 ( 1 ) C j 是 C 的第 j 个集合 ; m j 是矩阵 M ∈ R d × c 的第 j 列 , 表示第 c 个集合的均值 ; min_MSSE=min_C\sum_{j=1}^c\sum_{x_i∈C_j}||x_i-m_j||_2^2\ \ \ \ \ \ \ \ \ \ \ \ \ (1)\\ \\ C_j是C的第j个集合;\\ \\m_j是矩阵M∈R^{d×c}的第j列,表示第c个集合的均值;\\ minMSSE=minCj=1∑cxi∈Cj∑∣∣xi−mj∣∣22 (1)Cj是C的第j个集合;mj是矩阵M∈Rd×c的第j列,表示第c个集合的均值;
将问题(1)重写:
m i n F ∈ I n d , M ∑ j = 1 c ∑ i = 1 n f i j ∣ ∣ x i − m j ∣ ∣ 2 2 ( 2 ) F ∈ R n × c 是指示矩阵, f i j ∈ { 0 , 1 } 是 F 的第 i 行 j 列的元素。 { f i j = 0 , 表示第 i 个样本不属于第 j 个簇 f i j = 1 , 表示第 i 个样本属于第 j 个簇 M 是簇中心矩阵 min_{F∈Ind,M}\sum_{j=1}^c\sum_{i=1}^n f_{ij}||x_i-m_j||_2^2\ \ \ \ \ \ \ \ \ \ \ \ \ (2)\\ \\ F∈R^{n×c}是指示矩阵,f_{ij}∈\{0,1\}是F的第i行j列的元素。\\ \\ \begin{cases} f_{ij}=0,表示第i个样本不属于第j个簇\\ f_{ij}=1,表示第i个样本属于第j个簇 \end{cases}\\ \\ M是簇中心矩阵 minF∈Ind,Mj=1∑ci=1∑nfij∣∣xi−mj∣∣22 (2)F∈Rn×c是指示矩阵,fij∈{0,1}是F的第i行j列的元素。{fij=0,表示第i个样本不属于第j个簇fij=1,表示第i个样本属于第j个簇M是簇中心矩阵
将问题(2)写成矩阵形式:
m i n F ∈ I n d , M ∣ ∣ X − M F ⊤ ∣ ∣ F 2 ( 3 ) 这里 : ∣ ∣ A ∣ ∣ F = ∑ i = 1 d ∑ j = 1 n a i j 2 = T r ( A ⊤ A ) min_{F∈Ind,M}||X-MF^\top||_F^2\ \ \ \ \ \ \ \ \ \ \ \ \ (3)\\ \\ 这里:\\ \\ ||A||_F=\sqrt{\sum_{i=1}^d \sum_{j=1}^n a_{ij}^2}=\sqrt{Tr(A^\top A)} minF∈Ind,M∣∣X−MF⊤∣∣F2 (3)这里:∣∣A∣∣F=i=1∑dj=1∑naij2=Tr(A⊤A)
迭代更新M和F:
当M固定,F的解为:
当F固定,求解M可将问题(3)重写:
Lloyd k-means algorithm, the standard algorithm for minimizing problem (1)
1: Input data matrix X, cluster number c.
2: Initialize cluster centers mj(j = 1, 2, · · · , c) randomly.
3: repeat
4: Calculate indicator matrix F by Eq. (3);
5: Calculate center matrix M by Eq. (5).
6: until convergence
7: Output updated label matrix F.