原始鏈接--http://www.jiahenglu.net/NSFC/LSH.html
LSH(Location Sensitive Hash),即位置敏感哈希函數。與一般哈希函數不同的是位置敏感性,也就是散列前的類似點經過哈希之后,也可以在一定程度上類似,而且具有一定的概率保證。
形式化定義:
對於隨意q,p屬於S,若從集合S到U的函數族H={h1,h2...hn}對距離函數D(,),如歐式距離、曼哈頓距離等等,滿足條件:
則稱D(,)是位置敏感的。
例如以下圖,空間上的點經位置敏感哈希函數散列之后,對於q,其rNN有可能散列到同一個桶(如第一個桶),即散列到第一個桶的概率較大,會大於某一個概率閾值p1;而其(1+emxilong)rNN之外的對象則不太可能散列到第一個桶,即散列到第一個桶的概率非常小,會小於某個閾值p2.
LSH的作用
◆高維下近似查詢
類似性檢索在各種領域特別是在視頻、音頻、圖像、文本等含有豐富特征信息領域中的應用變得越來越重要。豐富的特征信息一般用高維向量表示,由此類似性檢索一般通過K近鄰或近似近鄰查詢來實現。一個理想的類似性檢索一般須要滿足下面四個條件:
1. 高准確性。即返回的結果和線性查找的結果接近。
2. 空間復雜度低。即占用內存空間少。理想狀態下,空間復雜度隨數據集呈線性增長,但不會遠大於數據集的大小。
3. 時間復雜度低。檢索的時間復雜度最好為O(1)或O(logN)。
4. 支持高維度。可以較靈活地支持高維數據的檢索。
傳統主要方法是基於空間划分的算法——tree相似算法,如R-tree,Kd-tree,SR-tree。這樣的算法返回的結果是精確的,可是這樣的算法在高維數據集上的時間效率並不高。實驗[1]指出維度高於10之后,基於空間划分的算法時間復雜度反而不如線性查找。LSH方法可以在保證一定程度上的准確性的前提下,時間和空間復雜度得到減少,而且可以非常好地支持高維數據的檢索。
◆分類和聚類
依據LSH的特性,就可以將相近(類似)的對象散列到同一個桶之中,則能夠對圖像、音視頻、文本等豐富的高維數據進行分類或聚類。
◆數據壓縮。如廣泛地應用於信號處理及數據壓縮等領域的Vector Quantization量子化技術。
總而言之,哪兒須要近似kNN查詢,哪兒都能用上LSH.
[1] Weber R, Schek H, Blott S. A quantitative analysis and performance study for similarity search methods in high dimensional spaces Proc.of the 24th Intl.Conf.on Very Large Data Bases (VLDB).1998:194-205