有没有办法在K-means中设置另一个距离,而不是那五个实现的距离 在Matlab中,例如Chebyshev距离:
d = MAX(ABS(XJ-XI))
谢谢。
最佳,
巴夫洛斯
答案 0 :(得分:1)
如果您没有使用K-means的任何具体原因,并且可以处理分层凝聚聚类,那么您可以使用clusterdata
函数。它也适用于切比雪夫距离。
答案 1 :(得分:0)
这可能会对你有帮助。
http://www.purplemath.com/modules/distform.htm
http://www.mathwarehouse.com/algebra/distance_formula/index.php
此外,还有另一个概念,即计算名为“城市街区距离”的两个点之间的距离,这类似于两点的ABSOLUTE距离。例如:
距离,d = |x2-x1| + |y2-y1|
或
d = |x1-x2| + |y1-y2|
(由于结果是绝对的,任何形式都可以)
请检查并尝试。
答案 2 :(得分:0)
切比雪夫距离相当于无穷大norm。这应该可以帮助您在Matlab文档中进行搜索。
我在Matlab中阅读了K-means的documentation,并没有提到用额外的距离规范来扩展函数。所以,你应该自己实现它。
另一种选择是寻找从Linf到L2的映射,但这不存在。抱歉。
答案 3 :(得分:0)
我认为,由于您可以轻松指定距离函数,因此层次聚类可能更符合您的要求。
但是,如果你真的想使用k-means,你可以使用你喜欢的任何函数创建一个距离矩阵,并使用SVD将距离矩阵分解为一个特征空间。然后,在由SVD的分数表示的新特征空间上执行k-means。
我不知道K-means会与其他距离指标汇合。
答案 4 :(得分:0)