Input:
π1, …, πG, with corresponding number of clusters κ1, …, κG, respectively. |
1: loop ℓ ∈ {1, 2, …, G} |
2: π* = πℓ with clusters , …,
|
3: repeat
|
4: Let πj() := arg maxs |{x ∈ : πj(x) = s}| for j = 1, …, G and k = 1, … κℓ
|
5: Let := (π1(), …, πG()) for k = 1, …, κℓ. |
6: loop
i ∈ {1, 2, … n} |
7: Let yi := 〈π1(xi), π2(xi), …, πG(xi)〉. |
8: Calculate distance d(yi, ) := 𝓘(πj(xi) ≠ πj()). |
9: Re-assign label π*(xi) to the value k that minimizes the distance d(yi, ). |
10: end loop
|
11: until
π* converges. |
12: := π* |
13: end loop
|
Output:
, …, . |