3 回答

TA貢獻1911條經驗 獲得超7個贊
我目前正在研究此類問題-分類,最近鄰居搜索-以獲取音樂信息。
您可能對近似最近鄰(ANN)算法感興趣。這個想法是讓算法允許返回足夠近的鄰居(也許不是最近的鄰居)。這樣可以減少復雜性。您提到了kd-tree;那是一個例子。但是正如您所說,kd-tree在高維度上效果不佳。實際上,所有當前的索引技術(基于空間劃分)都降級為對足夠高的尺寸進行線性搜索[1] [2] [3]。
在最近提出的ANN算法中,也許最流行的是局部敏感哈希(LSH),它將高維空間中的一組點映射到一組bin中,即哈希表[1] [3]。但是與傳統的哈希不同,對位置敏感的哈希將附近的點放置在同一容器中。
LSH具有一些巨大的優勢。首先,它很簡單。您只需為數據庫中的所有點計算哈希,然后根據它們創建哈希表。要進行查詢,只需計算查詢點的哈希值,然后從哈希表中檢索同一bin中的所有點。
其次,有一個嚴格的理論可以支持其性能??梢钥闯?,查詢時間在數據庫大小上是次線性的,即比線性搜索快??於嗌偃Q于我們可以忍受的近似程度。
最后,LSH與的任何Lp規范兼容0 < p <= 2
。因此,要回答第一個問題,您可以將LSH與歐幾里德距離度量標準結合使用,或者將其與曼哈頓(L1)距離度量標準結合使用。漢明距離和余弦相似度也有變體。
Malcolm Slaney和Michael Casey在2008年為IEEE Signal Processing Magazine撰寫了不錯的綜述[4]。
LSH似乎已在所有地方得到應用。您可能需要嘗試一下。
[1] Datar,Indyk,Immorlica,Mirrokni,“基于p穩定分布的局部敏感散列方案”,2004年。
[2] Weber,Schek,Blott,“高維空間中相似性搜索方法的定量分析和性能研究”,1998年。
[3] Gionis,Indyk,Motwani,“通過散列在高維中進行相似性搜索”,1999年。
[4] Slaney,Casey,“對位置敏感的哈希,用于尋找最近的鄰居”,2008年。
添加回答
舉報