K-Means Clustering
K-Means is a clustering algorithm by which you can cluster data points into
specific number of groups.
Given data points X={x1,x2,⋯,xn} where xi∈Rm,
we want to calculate a clustering {S1,S2,⋯,Sk} where,
- ⋂i=1nSi=∅ and ⋃i=1nSi=X.
- WCSS (within-cluster sum of squares) ∑i=1k∑x∈Si∣∣x−ui∣∣2
is minimum, where ui=∣Si∣1∑x∈Six is the center of the cluster Si.
Pseudo Code
K-Means(X,K):U={u1,u2,⋯,uk}←{x1,x2,⋯,xk}do:U′←U{c1,c2,⋯,cn}←{1,1,⋯,1}for ui∈U,xj∈X:if ∣∣ui−xj∣∣<∣∣ucj−xj∣∣:cj←ifor ui∈U:Si←{xj∣cj=i}ui←Si1xj∈Si∑xjutil ∣∣U′−U∣∣<σ
References