Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 带附加因子的向量距离_Algorithm_Math_Vector_Distance - Fatal编程技术网

Algorithm 带附加因子的向量距离

Algorithm 带附加因子的向量距离,algorithm,math,vector,distance,Algorithm,Math,Vector,Distance,我正在研究一个k-means算法,它目前是功能性的,但我正在寻找一个替代公式来使用一个额外的因子,即我计算的两个向量之间距离中的1个向量的点的相关性 我目前所做工作的总结: 我将一个向量分配给数据库中的条目,并使用k-means将所有条目分配给一个集群。然后,我检查附近簇的随机点,并收集比某个因子更接近的条目 这一切都是有效的,在集群完成后,我可以随机选择一个新点,并收集其中最近的集群和数据库条目。然而,我仍然需要确定这些条目的相关性,我想通过使用一个因子来计算之后的距离 基本上,我必须计算点X

我正在研究一个k-means算法,它目前是功能性的,但我正在寻找一个替代公式来使用一个额外的因子,即我计算的两个向量之间距离中的1个向量的点的相关性

我目前所做工作的总结:

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

这一切都是有效的,在集群完成后,我可以随机选择一个新点,并收集其中最近的集群和数据库条目。然而,我仍然需要确定这些条目的相关性,我想通过使用一个因子来计算之后的距离

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

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。。有一些因素考虑到了每个坐标的相关性

我已经尝试了多种方法,基本上是在公式中的不同位置使用数字0,1,2,3。用相关性替换^2。将(X1-C1)²除以相关性。将C1乘以相关性等,距离会明显变化,但I;'我在寻找一个函数,它在相同的情况下变小,在不相同的情况下变大,这超出了我的能力:)似乎有一个困惑:C1是第一个点还是坐标?是否应改为C1(n)?那么我们应该重新加权(X1-C1(n))^2还是D(n)?我的意思是C(n)1c(n)2等等,所以向量中的不同坐标。在这种情况下,只有3,但稍后将是8维向量。我想根据相关因子对向量中的每个坐标重新加权,如果坐标匹配,最终距离D会变小,如果坐标不匹配,最终距离D会变大。你试过加权和吗?D(n)=sqrt(a1^2(x1-c(n)1)^2+a2^2(x2-c(n)2)^2+..)/sqrt(a1^2+a2^2+..)我在wolframalpha.com上试用过,这看起来正是我需要的。基本上,两个向量到一个点的距离相同,但由于现在的相关系数,它们的距离不同。wolfram中的公式太多,无法向您展示结果,但非常感谢您!