具有额外因素的向量距离

Vector distances with extra factors

我正在研究 k-means 算法,它目前可以正常工作,但我正在寻找一个替代公式来使用一个额外的因素,即我计算的 2 个向量中的 1 个的点的相关性之间的距离。

我目前所做的总结:

我为数据库中的条目分配一个向量,并使用 k-means 将所有条目分配给一个集群。然后我检查附近集群的随机点并收集比某个因素更接近的条目。

一切正常,在聚类完成后,我可以选择一个随机的新点,并在其中收集最近的聚类和数据库条目。然而,我仍然必须确定这些条目的相关性,我想通过在之后使用距离计算的因素来做到这一点。

基本上我必须计算点X和多个点C(n)之间的距离 所有点都是 3D 向量

D(n) = SQRT( (X1-C1)² + (X2-C2)² + (X3-C3)² )

我想要的是 C 中每个点内的一个额外因素,如果匹配则使距离更短,如果完全不匹配则使距离更大。相关性为 0 表示完全不相关,然后为 1 2 或 3 表示非常相关。基本上,如果 C1 的相关性为 3,而 X1 不相同,则距离应该更大,但如果 X1 == C1,则距离应该最小,因为具有相关性 3 的 C1 比具有相关性 1 的 C2 和 C3 强得多,例如。

我希望我说清楚了,有人可以帮助我:)

你试过加权和吗? D(n) = sqrt( a1^2 (x1-c(n)1)^2 + a2^2 (x2-c(n)2)^2 + ..) / sqrt(a1^2 + a2^2 + ..)

其中a1,a2,..是一些考虑到每个坐标相关性的因素