2013-05-09 88 views
0

假設有14個對象,每個對象有或沒有1000個二進制特徵。我有一個14x14的相似度矩陣,但不是原始的14x1000數據。考慮到相似性矩陣,是否有方法重建或生成類似於原始數據的東西?如何從相似度矩陣生成數據?

我嘗試過蒙特卡羅模擬,但不受約束,他們會花費太多時間來實現與原始相似矩陣的低水平一致性。

我看到這個相關的問題:Similarity matrix -> feature vectors algorithm?。但是,他們希望減少不增加維度。另外,我不確定(1)要使用哪個矩陣或矩陣,以及(2)如何轉換爲二進制矩陣。

回答

0

除非您描述如何計算相似性分數,否則無法確定。

一般而言,對於通常的相似性評分來說,這是不可能的:在從單個特徵到綜合統計的轉換中信息丟失了。您希望做的最好的事情是獲得一組與相似性分數一致的功能。

我認爲這就是你說的當你說「相似」的原始。這個問題很有趣。假設相似性計算爲兩個特徵向量的點積(即,一對對象都具有值= 1 /真的特徵的計數)。這不是唯一的選擇:它與0(假)的值相一致,意味着沒有信息。但它可能會推廣到其他相似性度量。

在這種情況下,問題實際上是一個線性規劃問題:一種天真的方法是徹底搜索可能對象的空間 - 不是隨機的,而是受約束條件的指導。例如,假設SIM(A,B):=對象A和對象B的相似度。定義這些向量的順序。如果SIM(A,B)= N,則選擇A = B minimal(如(1,...,1(N次),0,... 0(1000-N次)) ,然後選擇最小的C st(A,C),(B,C)都有給定的值,一旦發現不一致性,回溯和增量,

這會找到一致的答案,非常高(但比蒙特卡洛可能更好)

找到一個更好的算法是一個有趣的問題,比這個我不能在SO後說,但更多的 - 這可能是一個CS論文的選題