1. 程式人生 > >最近鄰檢索(NN)和近似最近鄰(ANN)檢索

最近鄰檢索(NN)和近似最近鄰(ANN)檢索

文章目錄

1. 最近鄰檢索(Nearest Neighbor Search)

1.1 概述

最近鄰檢索就是根據資料的相似性,從資料庫中尋找與目標資料最相似的專案。這種相似性通常會被量化到空間上資料之間的距離,可以認為資料在空間中的距離越近,則資料之間的相似性越高。

k最近鄰(K-Nearest Neighbor,K-NN)檢索:當需要查詢離目標資料最近的前k個數據項時。

最近鄰檢索是線性複雜度的,不能滿足對於大規模資料檢索的時間效能要求。

1.2 應用領域

  1. 起初應用於文件檢索系統,最近鄰檢索作為具有查詢相似性文件資訊的方法;
  2. 隨後在地理資訊系統中,最近鄰檢索也被廣泛應用於位置資訊,空間資料關係的查詢、分析與統計;
  3. 如今在影象檢索、資料壓縮、模式識別以及機器學習等領域都有非常重要的作用。
  4. 在影象處理與檢索的研究中,基於內容的影象檢索方法(CBIR)是目前的主流。

這裡的“內容”是指:影象中包含的主要物件的幾何形狀、顏色強度、表面紋理等外在特性,以及前景與後景的對比程度等整體特徵。這裡的“內容”是指影象中包含的主要物件的幾何形狀、顏色強度、表面紋理等外在特性,以及前景與後景的對比程度等整體特徵。

影象的描述方式:區域性特徵描述子(SIFT、SURF、BRIEF) ,全域性特徵描述子(GIST),特徵頻率直方圖,紋理資訊,顯著性區域等。

最近鄰檢索的引入將影象檢索轉化到特徵向量空間,通過查詢與目標特徵向量距離最近的向量來獲得相應影象之間的關係。 這種特徵向量之間的距離通常被定義為歐幾里得距離(Euclidean distance),即是空間中兩點之間的直線距離。

2. 最近鄰檢索的發展

最近鄰檢索作為資料檢索中使用最為廣泛的技術一直以來都是國內外學者研究的熱點。近些年,湧現出大量以最近鄰檢索或近似最近鄰檢索為基本思想的兩類方法。一類是基於提升檢索結構效能的方法,主要方法大多基於樹形結構;另一類主要基於對資料本身的處理,包括雜湊演算法、向量量化方法等。

2.1 精確檢索

  1. 背景:精確檢索中資料維度一般較低,所以會採用窮舉搜尋,即在資料庫中依次計算其中樣本與所查詢資料之間的距離,抽取出所計算出來的距離最小的樣本即為所要查詢的最近鄰。當資料量非常大的時候,搜尋效率急劇下降。

  2. 基於樹結構的最近鄰檢索方法

    概述:由於實際資料會呈現出簇狀的聚類形態,因此可以考慮對資料庫中的樣本資料構建資料索引,索引樹就是最常見的方法。其基本思想是對搜尋空間進行層次劃分,再進行快速匹配。

    結論:當資料維度不太高(如d< 20),通常採用樹型索引結構對資料進行分割槽以實現高效索引,如最經典的KD樹演算法 、R樹、M樹等等,它們的時間和空間複雜度都是以d為指數的指數級別的,在實際搜尋時也取得了良好的效果。

當d=1時,只要採用傳統的二分查詢法或者各類平衡樹就能找到最近鄰;
當d=2時,將最近鄰檢索問題轉化為求解查詢點究竟落在哪個區域的Voronoi圖問題,再通過二分查詢樹就能很好的解決。

2.2 近似檢索

  1. 背景:面對龐大的資料量以及資料庫中高維的資料資訊,現有的基於 NN 的檢索方法無法獲得理想的檢索效果與可接受的檢索時間。因此,研究人員開始關注近似最近鄰檢索(Approximate Nearest Neighbor,ANN)。

  2. 概述

    近似最近鄰檢索利用資料量增大後資料之間會形成簇狀聚集分佈的特性,通過對資料分析聚類的方法對資料庫中的資料進行分類或編碼,對於目標資料根據其資料特徵預測其所屬的資料類別,返回類別中的部分或全部作為檢索結果。

    近似最近鄰檢索的核心思想:搜尋可能是近鄰的資料項而不再只侷限於返回最可能的專案,在犧牲可接受範圍內的精度的情況下提高檢索效率。

  3. 分類
    一種是採用雜湊雜湊的辦法,另一種則是向量量化。

  4. 區域性敏感雜湊(LSH)
    核心思想:在高維空間相鄰的資料經過雜湊函式的對映投影轉化到低維空間後,他們落入同一個吊桶的概率很大而不相鄰的資料對映到同一個吊桶的概率則很小。在檢索時將歐式空間的距離計算轉化到漢明(Hamming)空間,並將全域性檢索轉化為對對映到同一個吊桶中的資料進行檢索,從而提高了檢索速度。這種方法的主要難點在於如何尋找適合的雜湊函式。

  5. 向量量化
    其代表是乘積量化(PQ)。它的主要思想是將特徵向量進行正交分解,在分解後的低維正交子空間上進行量化,由於低維空間可以採用較小的碼本進行編碼,因此可以降低資料儲存空間 。

    PQ方法採用基於查詢表的非對稱距離計算(Asymmetric Distance Computation,ADC)快速求取特徵向量之間的距離,在壓縮比相同的情況下,與採用漢明距離的二值編碼方法,採用ADC的PQ方法的檢索精度更高。

參考文獻

最近鄰檢索的簡單綜述