如果我理解正确,pam 算法是对一组中心点的贪婪搜索,因此没有其他集合提供更低的成本(即:点到最近中心点的距离总和)。
但是,pam 算法什么时候会失败呢?是否存在已知达到全局最优的一般情况?(比如说,对于 k 和 n 的某个比率?)
是否有很好的反例证明某些中心点是稳定的(即:会导致 pam 收敛),但不是最优的?
如果我理解正确,pam 算法是对一组中心点的贪婪搜索,因此没有其他集合提供更低的成本(即:点到最近中心点的距离总和)。
但是,pam 算法什么时候会失败呢?是否存在已知达到全局最优的一般情况?(比如说,对于 k 和 n 的某个比率?)
是否有很好的反例证明某些中心点是稳定的(即:会导致 pam 收敛),但不是最优的?
尝试建造一个!
我们需要一个稳定但不是最优的集群分配。因此,中心点成为其集群中的中心点,并且每个对象都被分配到其最近的中心点。但是有一个更好的解决方案。
让我们从简单的开始。一维,每个集群三个点,星号表示集群中心。
Data: 1 2 3 6 7 8
Sol1: * *
现在让我们通过将一个对象从中心移开来修改它。
Data:1 2 3 6 7 15
Sol1: * *
Sol2: * *
Sol2 的成本为 2+1+0+3+4+0=10。但很难到达那里。PAM 很可能会卡在第一个解决方案中,其成本为 1+0+1+1+0+8=11。如果没有,您可能需要增加集群的间距,或移动异常值。
上述示例的 R 代码示例:
> pam(c(1:3,6,7,15), k = 2, medoids = c(2,5))$med
[,1]
[1,] 2
[2,] 7
> pam(c(1:3,6,7,15), k = 2, medoids = c(2,6))$med
[,1]
[1,] 3
[2,] 15