kmeans是否需要三角不等式?

我想知道kmeans中使用的距离度量是否需要三角不等式。


回答:

k-means是为欧几里得距离设计的,而欧几里得距离恰好满足三角不等式。

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

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

使用其他距离函数时要小心,以免陷入无限循环。你需要证明均值最小化到聚类中心的距离。如果你无法证明这一点,它可能会无法收敛,因为目标函数不再单调递减!所以你真的应该尝试证明你的距离函数的收敛性

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注