2012-03-25 85 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