图谱连接

草稿

K-Medoids 聚类

用真实样本点作为簇中心,而不是平均质心,从而降低离群点对中心的拉扯。

algorithm intermediate machine-learningclusteringalgorithms

Hook problem:均值可能漂到空白处

K-Means 用平均点作为中心。这很高效,但一个很远的点可能把均值拉向并不代表任何真实样本的位置。

**K-Medoids 聚类(K-Medoids clustering)**要求中心更具体:中心必须是真实数据点。

中心可以是真实样本点K-Medoids 计算到所选样本的距离,因此离群中心会显得很昂贵。
a1a2a3b1b2b3c1c2c3out
代表性中心点9.38

中心点: a2, b2, c2

离群点做中心点15.88

中心点: a2, b2, out

较差交换候选10.11

中心点: a1, b1, c1

First naive idea:继续用 K-Means,再手动忽略离群点

手动忽略离群点不是算法。数据一变,手动规则也会变。

更小的修补是改变“中心”允许是什么。

Core invention:medoid 是样本点

**中心点(medoid)**是被选中的真实样本,它代表离自己较近的一组点。K-Medoids 常见目标是最小化距离和:

i=1nd(xi,mci)\sum_{i=1}^{n} d(x_i, m_{c_i})

这里 m_c 是簇 c 的 medoid。因为 medoid 必须是真实样本,所以中心可检查,也不容易被极端坐标拖走。

Interactive trace lab

聚类算法轨迹实验台

步骤 1/2: 中心必须是真实样本,而不是平均坐标。

选择中心点

用真实样本点做中心,降低离群点的影响。

candidate

a2, b2, c2

Implementation sketch

choose k initial medoids;
repeat {
  assign each point to its nearest medoid;
  try swapping a medoid with a non-medoid point;
  keep the swap if total distance decreases;
}

Correctness intuition and cost

交换版本是一种局部搜索:每次接受交换都会降低选定的距离目标,因此当没有测试交换能改进时就停止。

它通常比 K-Means 更贵,因为交换候选需要大量距离计算。好处是它可以配合任意距离函数,并且中心保持为真实样本。

Common confusions

  • medoid 不是 centroid。
  • K-Medoids 仍然需要提前给出 k
  • 它对离群点更鲁棒,但仍会受错误的 k 或距离定义影响。
聚类算法路径先从质心划分开始,再修补中心鲁棒性,随后进入密度和概率视角。
1. K-Means

k-means

2. K-Medoids

k-medoids

3. DBSCAN

dbscan

4. OPTICS

optics

5. HDBSCAN

hdbscan

6. GMM 的 EM

em-for-gmm

Exercises

  1. 为什么真实样本中心可能比均值向量更容易解释?
  2. 哪一步让 K-Medoids 比 K-Means 更慢?
  3. 什么时候非欧氏距离会让 K-Medoids 更有吸引力?

图谱连接 : K-Medoids 聚类