2012-03-25 457 views

回答

0

这可以帮助你。

http://www.purplemath.com/modules/distform.htm

http://www.mathwarehouse.com/algebra/distance_formula/index.php

此外,还有计算命名为“市街区距离”两点之间的距离,它类似于两个点的绝对距离的东西的另一个概念。例如:

距离,d = |x2-x1| + |y2-y1| OR d = |x1-x2| + |y1-y2|(如结果是绝对的,任何形式都行) 请检查和尝试。

+0

你告诉他,他想要做的正好相反。他希望L \ inf,并告诉他使用L1。 – Unapiedra 2012-03-25 10:22:07

+0

@Unapiedra,谢谢你纠正我:) – 2012-03-25 10:46:53

0

切比雪夫距离相当于无穷大norm。这应该有助于您在Matlab文档中进行搜索。

我通过Matlab中的K-means的documentation阅读,没有办法提到用额外的距离范数扩展函数。所以,你应该自己实现它。

另一种选择是寻找从Linf到L2的映射,但这不存在。抱歉。

+0

我喜欢,你的终点线...大声笑 – 2012-03-25 16:45:01

1

如果您没有任何使用K-means的具体原因,并且可以应对分层凝聚集群,那么您可以使用clusterdata函数。它也与chebyshev距离。

0

其次,层次聚类可能更符合你想要的内容,因为你可以很容易地指定距离函数。然而,如果你真的想使用k-means,你可以使用你喜欢的任何函数创建一个距离矩阵,并使用SVD将你的距离矩阵分解成一个特征空间。然后,对由SVD得分表示的新特征空间执行k-means。

我不知道K-means会与其他距离度量收敛。

0

我为接受任意距离函数的非常简单的K-Means创建了一个MATLAB代码。

您可以在GitHub Repository上获取代码。

这里有3个不同的距离度量的结果:

enter image description here

enter image description here

enter image description here