获取向量 A 和 C 之间的欧几里得距离,而无需在已知它们与公共向量 B 的距离时检索它们

计算科学 计算几何 收敛 麻木的 机器学习 距离测量
2021-12-11 21:59:02

动机

我的计划是获取 N 个数据集中所有向量的整体欧几里得距离矩阵。每个数据集基本上是一个 n 维点数组。例如:一个数据集可以是 [[1,2,3,...n],[1,2,3,..n],...[1,2,3,n]]。但是,数据集不会共享给我无法编译它们的单个实体,因此不会知道所有点来计算成对欧几里德距离以进行一些相似性计算和聚类分析和建模。但是,我只会被告知数据集中的公共向量是什么,以及任何数据集中的向量相对于这些公共向量的距离,而不知道或传递点的坐标。如果数据集可以在同一个模型中共享,我就不必面对这个分布式计算问题。

详情

A 和 C 是来自两个不同数据集的两个 n 维向量。他们有一个共同的向量B。我想计算A和C之间的欧几里得距离而不暴露A和C,而不是使用B。可以说ED(A,B)是在model_1中计算的,ED(B,C)是在model_2中计算的,我可以很容易地使用 ED(A,B) 即 AB 和 ED(B,C) 即 BC 来计算 ED(A,C)。但是,如果有人知道 B,他们可以很容易地找到 A 和 C。即使 B 是随机创建的公共点,如果它可用,也可以找到 A 和 C。是否可以使用 B 以使 A 和 C 无论如何都无法检索。我研究了差分隐私、PATE、SMPC 技术,但它们在保护隐私方面有其局限性。

到目前为止完成的工作

https://www.online-python.com/Pq7OhM8FJe

给定向量A和向量B之间的欧式距离,以及向量B和向量C之间的欧式距离,如何计算点A和C之间的欧式距离,使得即使B已知也无法检索A和C?

我可以遵循任何计算技术吗?

提前致谢。🙏

0个回答
没有发现任何回复~