作为一种无监督数据分析技术,聚类算法不需要提供导师信息,通过数据间的统计相关特性,采用迭代等方法实现相比不同cluster内部数据点间的相似程度,相同cluster数据点之间的相似性更高。
作为最传统的聚类算法,k-means试图迭代计算一组聚类中心,使得在欧氏距离下,所有数据点到各自所在cluster的聚类中心的距离和最小,也就是使得within-cluster scatter matrix的trace最小,详细说明如下(由于不能使用公式编辑器,下文中公式看起来比较费劲,还请谅解哦)。
其中within-cluster scatter matrix如下定义:
Sw = sum(Si),i = 1,2,K,其中K为cluster的个数,Si是每个cluster的scatter matrix,如下:
Si = sum((x-mi)(x-mi)')(对所有x求和), x是第i个cluster中的数据点,(x-mi)'表示(x-mi)的转置,mi为第i个cluster的均值。
又有:total scatter matix St = sum((x-m)(x-m)')(对所有x求和),x是数据集中X的数据点,m是所有数据点均值,即 m = sum(x)/n (对所有x求和)= sum(ni*mi)/n(对所有cluster求和),其中ni表示第i个cluster中数据点个数。
between-cluster matrix Sb = sum(ni*