Kmeans

Kmeans

  • 先从样本集中随机选取 k 个样本作为簇中心,并计算所有样本与这 k 个“簇中心”的距离,对于每一个样本,将其划分到与其距离最近的“簇中心”所在的簇中,对于新的簇计算各个簇的新的“簇中心”。

1. 手肘法

  • 手肘法的核心指标是SSE(sum of the squared errors,误差平方和)
    SSE=\sum_{i=1}^{k}\sum_{p \in C_i}{|p-m_i|^2}
    其中,C_i是第i个簇,p是C_i中的样本点,m_iC_i的质心(C_i中所有样本的均值),SSE是所有样本的聚类误差,代表了聚类效果的好坏。
  • 增加k所得到的聚合程度回报变小的肘部

2. 轮廓系数

  • 对于其中的一个点 i 来说:
    • 计算 a(i) = average(i向量到所有它属于的簇中其它点的距离)
    • 计算 b(i) = min (i向量到与它相邻最近的一簇内的所有点的平均距离)
    • 那么 i 向量轮廓系数就为:
      S(i)=\frac{b(i)-a(i)}{max(a(i), b(i))}
  • 轮廓系数的值是介于 [-1,1] ,越趋近于1代表内聚度和分离度都相对较优。
  • 将所有点的轮廓系数求平均,就是该聚类结果总的轮廓系数。
  • 平均轮廓系数最大的k便是最佳聚类数。

3. Calinski-Harabasz准则

  • 公式
    VRC_k = \frac{SSB}{SSW} * \frac{N-k}{k-1}
    SSB是类间方差,SSB=\sum_{i=1}^{k}n_i||m_i-m||^2
    SSW是类内方差,SSW=\sum_{i=1}^{k} \sum_{x \in c_i}||x-m_i||^2
    m为所有点的中心点, m_i为某类的中心点, \frac{N-k}{k-1}是复杂度
  • VRC_k比率越大,数据分离度越大.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容