衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹當前比較常見的幾種近鄰搜索算法

工程師鄧生 ? 來源:得物技術 ? 作者:張林 ? 2022-09-29 17:11 ? 次閱讀

簡介

隨著深度學習的發展和普及,很多非結構數據被表示為高維向量,并通過近鄰搜索來查找,實現了多種場景的檢索需求,如人臉識別、圖片搜索、商品推薦搜索等。另一方面隨著互聯網技術的發展及5G技術的普及,產生的數據呈爆發式增長,如何在海量數據中精準高效的完成搜索成為一個研究熱點,各路前輩專家提出了不同的算法,今天我們就簡單聊下當前比較常見的近鄰搜索算法。

主要算法

aa1d36f2-3edc-11ed-9e49-dac502259ad0.png

Kd-Tree

K-dimension tree,二叉樹結構,對數據點在k維空間(如二維 (x,y),三維(x,y,z),k維(x,y,z..))中劃分。

構建過程

確定split域的值(輪詢 or 最大方差)

確定Node-data的域值(中位數 or 平均值)

確定左子空間和右子空間

遞歸構造左右子空間

查詢過程

進行二叉搜索,找到葉子結點

回溯搜索路徑,進入其他候選節點的子空間查詢距離更近的點

重復步驟2,直到搜索路徑為空

性能

理想情況下的復雜度是O(K log(N)) 最壞的情況下(當查詢點的鄰域與分割超平面兩側的空間都產生交集時,回溯的次數大大增加)的復雜度為維度比較大時,直接利用K-d樹快速檢索(維數超過20)的性能急劇下降,幾乎接近線性掃描。

改進算法

Best-Bin-First:通過設置優先級隊列(將“查詢路徑”上的結點進行排序,如按各自分割超平面與查詢點的距離排序)和運行超時限定(限定搜索過的葉子節點樹)來獲取近似的最近鄰,有效地減少回溯的次數。采用了BBF查詢機制后Kd樹便可以有效的擴展到高維數據集上。

Randomized Kd tree:通過構建多個不同方向上的Kd tree,在各個Kd tree上并行搜索部分數量的節點來提升搜索性能(主要解決BBF算法隨著Max-search nodes增長,收益減小的問題)

Hierarchical k-means trees

類似k-means tree,通過聚類的方法來建立一個二叉樹來使得每個點查找時間復雜度是O(log n) 。

構建過程:

隨機選擇兩個點,執行k為2的聚類,用垂直于這兩個聚類中心的超平面將數據集劃分

在劃分的子空間內進行遞歸迭代繼續劃分,直到每個子空間最多只剩下K個數據節點

最終形成一個二叉樹結構。葉子節點記錄原始數據節點,中間節點記錄分割超平面的信息

aa7cf6fa-3edc-11ed-9e49-dac502259ad0.png

ab487b36-3edc-11ed-9e49-dac502259ad0.png

搜索過程

從根節點開始比較,找到葉子節點,同時將路徑上的節點記錄到優先級隊列中

執行回溯,從優先級隊列中選取節點重新執行查找

每次查找都將路徑中未遍歷的節點記錄到優先級隊列中

當遍歷節點的數目達到指定閾值時終止搜索

性能

搜索性能不是特別穩定,在某些數據集上表現很好,在有些數據集上則有些差

構建樹的時間比較長,可以通過設置kmeans的迭代次數來優化

LSH

Locality-Sensitive Hashing 高維空間的兩點若距離很近,他們哈希值有很大概率是一樣的;若兩點之間的距離較遠,他們哈希值相同的概率會很小 。

一般會根據具體的需求來選擇滿足條件的hash函數,(d1,d2,p1,p2)-sensitive 滿足下面兩個條件(D為空間距離度量,Pr表示概率):

若空間中兩點p和q之間的距離D(p,q)p1

若空間中兩點p和q之間的距離D(p,q)>d2,則Pr(h(p)=h(q))

abc4ef68-3edc-11ed-9e49-dac502259ad0.png



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • adc
    adc
    +關注

    關注

    99

    文章

    6533

    瀏覽量

    545750
  • SDC
    SDC
    +關注

    關注

    0

    文章

    49

    瀏覽量

    15579
  • BBF
    BBF
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7187

原文標題:近鄰搜索算法淺析

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    五種運動搜索算法簡介

    (九)幀間編碼2:運動搜索算法簡介
    發表于 07-17 15:09

    Viterbi搜索算法

    自然語言處理——65 Viterbi搜索算法
    發表于 04-14 11:44

    改進的雙向啟發式搜索算法主要流程是怎樣的?

    如何對雙向啟發式搜索算法進行改進和實現?改進的雙向啟發式搜索算法主要流程是怎樣的?
    發表于 05-17 06:51

    改進的二進制搜索算法原理是什么?有什么優勢?

    改進的二進制搜索算法原理是什么?改進的二進制搜索算法有什么優勢?
    發表于 05-20 07:12

    WebCAD中的剖面區域搜索算法

    基于Web的CAD系統是協同設計研究的一個分支。論文討論了矢量化標記語言用于在Web上表示矢量圖形的優點,比較常見幾種剖面區域搜索算法,提出了一種不依賴操作系統的剖面
    發表于 07-30 16:24 ?8次下載

    四軸飛行器中的自動搜索算法

    四軸飛行器中的自動搜索算法,簡單易懂,帶你飛起來
    發表于 06-08 14:10 ?2次下載

    一種改進的鄰近粒子搜索算法

    一種改進的鄰近粒子搜索算法
    發表于 01-07 20:32 ?0次下載

    一種改進的自由搜索算法_任誠

    一種改進的自由搜索算法_任誠
    發表于 03-14 17:47 ?3次下載

    DS18B20-ROM編碼的搜索算法

    DS18B20-ROM編碼的搜索算法
    發表于 05-04 08:51 ?9次下載

    深層次分類中候選類別搜索算法

    針對深層次分類中分類準確率低、處理速度慢等問題,提出一種待分類文本的候選類別搜索算法。首先,引入搜索、分類兩階段的處理思想,結合類別層次樹的結構特點和類別間的相關聯系等隱含的領域知識,進行了類別層次
    發表于 12-05 18:07 ?0次下載
    深層次分類中候選類別<b class='flag-5'>搜索算法</b>

    激光散亂點云K最近鄰搜索算法

    針對激光散亂點云的數據量大,且具有面型的特點,為降低存儲器使用量,提高散亂點云的處理效率,提出了一種散亂點云K最近鄰(KNN)搜索算法。首先,利用多級分塊、動態鏈表的存儲方式,只存儲非空的子空間編號
    發表于 12-11 14:09 ?1次下載

    以進化算法搜索策略實現神經架構搜索的方法

    神經網絡的發展歷程,分類介紹以進化算法搜索策略實現神經架構搜索的方法和過程,并比較基于進化算法
    發表于 03-22 14:37 ?15次下載
    以進化<b class='flag-5'>算法</b>為<b class='flag-5'>搜索</b>策略實現神經架構<b class='flag-5'>搜索</b>的方法

    基于麻雀搜索算法優化SVM的故障診斷

    )優化SⅤM的故障診斷方法。利用麻雀搜索算法(SSA)對支持向量機的懲罰參數(C)與核參數(g)進行優化,并構建SSA-sVM滾動軸承故障診斷模型。結果表明:對于滾動軸承的常見故障, SSA-SVM
    發表于 06-01 12:00 ?18次下載

    二分搜索算法運用的框架套路

    我們前文 我作了首詩,保你閉著眼睛也能寫對二分查找 詳細介紹了二分搜索的細節問題,探討了「搜索一個元素」,「搜索左側邊界」,「搜索右側邊界」
    的頭像 發表于 08-25 16:06 ?1867次閱讀

    圖染色局部搜索算法python

    一個簡單的局部搜索算法解決圖染色問題,python版本太少了,寫了一個
    發表于 01-03 14:31 ?1次下載
    柬埔寨百家乐的玩法技巧和规则| 大发888客户端| 188金宝博| 百家乐官网开线| 百家乐街机| 兴义市| 做生意适合放什么花招财| 大发888游戏注册送98| 六合彩网站| 嘉禾百家乐官网的玩法技巧和规则| 番禺百家乐电器店| 百家乐官网视频象棋| 2016虎和蛇合作做生意| 大发888官网客户端| 百家乐官网的路子怎么| 百家乐发牌| 缅甸百家乐官网博彩真假| 百家乐AG| 立博百家乐官网游戏| 百家乐官网庄闲排| 全讯网ceo| 百家乐官网赌博技巧网| 威尼斯人娱乐城平台打不开| 单机百家乐官网棋牌| 伯爵百家乐娱乐| 六合彩综合资料| 在线百家乐代理| 永利高足球博彩网| 百家乐庄闲必胜手段| 玉溪市| 百家乐桌布小| 必博百家乐官网游戏| 百家乐真钱斗地主| 赌百家乐官网的下场| 百家乐五局八星| 正蓝旗| 菲律百家乐太阳城| 百家乐官网最佳公式| 博彩百家乐带连线走势图| 一直对百家乐官网很感兴趣.zibo太阳城娱乐城| 新全讯网2|