Similarity 如何从相似性矩阵生成数据?

Similarity 如何从相似性矩阵生成数据?,similarity,svd,Similarity,Svd,假设有14个对象,每个对象都有或没有1000个二进制特征。我有一个14x14相似性矩阵,但没有原始的14x1000数据。在给定相似性矩阵的情况下,是否有方法重建或生成与原始数据相似的内容 我尝试了蒙特卡罗模拟,但不受约束的模拟会花费太多的时间来实现与原始相似性矩阵的低水平一致性 我看到了这个相关的问题:。然而,他们希望减少而不是增加维度。此外,我不确定(1)使用哪一个或多个矩阵,以及(2)如何转换为二进制矩阵。除非您描述如何计算相似性分数,否则无法确定 一般来说,对于通常的相似性评分,这是不可能

假设有14个对象,每个对象都有或没有1000个二进制特征。我有一个14x14相似性矩阵,但没有原始的14x1000数据。在给定相似性矩阵的情况下,是否有方法重建或生成与原始数据相似的内容

我尝试了蒙特卡罗模拟,但不受约束的模拟会花费太多的时间来实现与原始相似性矩阵的低水平一致性


我看到了这个相关的问题:。然而,他们希望减少而不是增加维度。此外,我不确定(1)使用哪一个或多个矩阵,以及(2)如何转换为二进制矩阵。

除非您描述如何计算相似性分数,否则无法确定

一般来说,对于通常的相似性评分,这是不可能的:在从单个特征到聚合统计的转换过程中,信息丢失了。你能做的最好的事情就是得到一组与相似性分数一致的特征

我想这就是你说的“类似于”原文的意思。这个问题很有趣。假设相似度计算为两个特征向量的点积(即一对对象的特征计数,两者的值均为1/true)。这不是唯一的选择:它与值0(false)一致,表示没有信息。但它可以推广到其他相似性度量

在这种情况下,问题实际上是一个线性规划问题:一个简单的方法是彻底搜索可能对象的空间——不是随机的,而是受约束的引导。例如,假设SIM(A,B):=对象A和对象B的相似性。定义这些向量的顺序

如果SIM(A,B)=N,则选择A=B最小值(如(1,…,1(N次),0,….0(1000-N次)),然后选择具有给定值的最小C.t.(A,C),(B,C)。一旦发现不一致,则返回并增加

这将找到一个一致的答案,尽管复杂性非常高(但可能比蒙特卡罗好)

找到一个更好的算法是一个有趣的问题,但除此之外,我不能在这么一篇文章中说——这可能是CS论文的主题