k是否需要三角不等式?

时间:2012-07-16 17:35:28

标签: machine-learning cluster-analysis distance data-mining k-means

我想知道三角形不等式是否对于kmeans中使用的距离测量是必要的。

2 个答案:

答案 0 :(得分:3)

嗯,经典kmeans是在具有L2距离的欧几里德空间上定义的,因此您可以从中自动获得三角不等式(三角不等式是距离/度量如何定义的一部分)。如果您使用的是非欧几里德指标,则需要定义“均值”的含义,以及其他内容。

如果你没有三角形不等式,这意味着两个点可能彼此相距很远,但两者都可以接近第三个点。你需要考虑如何解释这个案例。

说了这么多之后,我过去使用了平均连锁层次聚类和距离测量,这种测量不能满足三角不等式,并且它对我的需求非常有用。

答案 1 :(得分:3)

对于欧几里德距离,

k-means 设计,这恰好满足三角不等式。

使用其他距离函数存在风险,因为它可能会停止收敛。然而,原因是三角形不等式,但均值可能不会最小化距离函数。 (算术平均值最小化平方和,而不是任意距离!)

k-means有更快的方法可以利用三角不等式来避免重新计算。但是如果你坚持使用经典的MacQueen或Lloyd k-means,那么你需要三角不等式。

小心使用其他距离函数不会遇到无限循环。您需要证明平均值最小化距离到群集中心。如果你无法证明这一点,它可能无法收敛,因为目标函数不再单调减少!所以你真的应该试图证明你的距离函数的收敛性