
咱們順著上一節(jié)的思路,參考統(tǒng)計學(xué)習(xí)方法一書上的內(nèi)容,再來總結(jié)下kd樹的最近鄰搜索算法:
輸入:以構(gòu)造的kd樹,目標(biāo)點x;如果實例點是隨機分布的,那么kd樹搜索的平均計算復(fù)雜度是O(NlogN),這里的N是訓(xùn)練實例樹。所以說,kd樹更適用于訓(xùn)練實例數(shù)遠(yuǎn)大于空間維數(shù)時的k近鄰搜索,當(dāng)空間維數(shù)接近訓(xùn)練實例數(shù)時,它的效率會迅速下降,一降降到“解放前”:線性掃描的速度。
也正因為上述k最近鄰搜索算法的第4個步驟中的所述:“回退到根結(jié)點時,搜索結(jié)束”,每個最近鄰點的查詢比較完成過程最終都要回退到根結(jié)點而結(jié)束,而導(dǎo)致了許多不必要回溯訪問和比較到的結(jié)點,這些多余的損耗在高維度數(shù)據(jù)查找的時候,搜索效率將變得相當(dāng)之地下,那有什么辦法可以改進(jìn)這個原始的kd樹最近鄰搜索算法呢?
從上述標(biāo)準(zhǔn)的kd樹查詢過程可以看出其搜索過程中的“回溯”是由“查詢路徑”決定的,并沒有考慮查詢路徑上一些數(shù)據(jù)點本身的一些性質(zhì)。一個簡單的改進(jìn)思路就是將“查詢路徑”上的結(jié)點進(jìn)行排序,如按各自分割超平面(也稱bin)與查詢點的距離排序,也就是說,回溯檢查總是從優(yōu)先級最高(Best Bin)的樹結(jié)點開始。
針對此BBF機制,讀者Feng&書童點評道:
如此,就引出了本節(jié)要討論的kd樹最近鄰搜索算法的改進(jìn):BBF(Best-Bin-First)查詢算法,它是由發(fā)明sift算法的David Lowe在1997的一篇文章中針對高維數(shù)據(jù)提出的一種近似算法,此算法能確保優(yōu)先檢索包含最近鄰點可能性較高的空間,此外,BBF機制還設(shè)置了一個運行超時限定。采用了BBF查詢機制后,kd樹便可以有效的擴展到高維數(shù)據(jù)集上。
偽代碼如下圖所示(圖取自圖像局部不變特性特征與描述一書):
還是以上面的查詢(2,4.5)為例,搜索的算法流程為:
咱們來針對上文內(nèi)容總結(jié)回顧下,針對下面這樣一棵kd樹:
現(xiàn)要找它的最近鄰。
通過上文2.5節(jié),總結(jié)來說,我們已經(jīng)知道:
1、為了找到一個給定目標(biāo)點的最近鄰,需要從樹的根結(jié)點開始向下沿樹找出目標(biāo)點所在的區(qū)域,如下圖所示,給定目標(biāo)點,用星號標(biāo)示,我們似乎一眼看出,有一個點離目標(biāo)點最近,因為它落在以目標(biāo)點為圓心以較小長度為半徑的虛線圓內(nèi),但為了確定是否可能還村莊一個最近的近鄰,我們會先檢查葉節(jié)點的同胞結(jié)點,然葉節(jié)點的同胞結(jié)點在圖中所示的陰影部分,虛線圓并不與之相交,所以確定同胞葉結(jié)點不可能包含更近的近鄰。
2、于是我們回溯到父節(jié)點,并檢查父節(jié)點的同胞結(jié)點,父節(jié)點的同胞結(jié)點覆蓋了圖中所有橫線X軸上的區(qū)域。因為虛線圓與右上方的矩形(KD樹把二維平面劃分成一個一個矩形)相交...
如上,我們看到,KD樹是可用于有效尋找最近鄰的一個樹結(jié)構(gòu),但這個樹結(jié)構(gòu)其實并不完美,當(dāng)處理不均勻分布的數(shù)據(jù)集時便會呈現(xiàn)出一個基本沖突:既邀請樹有完美的平衡結(jié)構(gòu),又要求待查找的區(qū)域近似方形,但不管是近似方形,還是矩形,甚至正方形,都不是最好的使用形狀,因為他們都有角。
什么意思呢?就是說,在上圖中,如果黑色的實例點離目標(biāo)點星點再遠(yuǎn)一點,那么勢必那個虛線圓會如紅線所示那樣擴大,以致與左上方矩形的右下角相交,既然相交了,那么勢必又必須檢查這個左上方矩形,而實際上,最近的點離星點的距離很近,檢查左上方矩形區(qū)域已是多余。于此我們看見,KD樹把二維平面劃分成一個一個矩形,但矩形區(qū)域的角卻是個難以處理的問題。
解決的方案就是使用如下圖所示的球樹:
先從球中選擇一個離球的中心最遠(yuǎn)的點,然后選擇第二個點離第一個點最遠(yuǎn),將球中所有的點分配到離這兩個聚類中心最近的一個上,然后計算每個聚類的中心,以及聚類能夠包含它所有數(shù)據(jù)點所需的最小半徑。這種方法的優(yōu)點是分裂一個包含n個殊絕點的球的成本只是隨n呈線性增加。
使用球樹找出給定目標(biāo)點的最近鄰方法是,首先自上而下貫穿整棵樹找出包含目標(biāo)點所在的葉子,并在這個球里找出與目標(biāo)點最靠近的點,這將確定出目標(biāo)點距離它的最近鄰點的一個上限值,然后跟KD樹查找一樣,檢查同胞結(jié)點,如果目標(biāo)點到同胞結(jié)點中心的距離超過同胞結(jié)點的半徑與當(dāng)前的上限值之和,那么同胞結(jié)點里不可能存在一個更近的點;否則的話,必須進(jìn)一步檢查位于同胞結(jié)點以下的子樹。
如下圖,目標(biāo)點還是用一個星表示,黑色點是當(dāng)前已知的的目標(biāo)點的最近鄰,灰色球里的所有內(nèi)容將被排除,因為灰色球的中心點離的太遠(yuǎn),所以它不可能包含一個更近的點,像這樣,遞歸的向樹的根結(jié)點進(jìn)行回溯處理,檢查所有可能包含一個更近于當(dāng)前上限值的點的球。
球樹是自上而下的建立,和KD樹一樣,根本問題就是要找到一個好的方法將包含數(shù)據(jù)點集的球分裂成兩個,在實踐中,不必等到葉子結(jié)點只有兩個胡數(shù)據(jù)點時才停止,可以采用和KD樹一樣的方法,一旦結(jié)點上的數(shù)據(jù)點打到預(yù)先設(shè)置的最小數(shù)量時,便可提前停止建樹過程。
也就是上面所述,先從球中選擇一個離球的中心最遠(yuǎn)的點,然后選擇第二個點離第一個點最遠(yuǎn),將球中所有的點分配到離這兩個聚類中心最近的一個上,然后計算每個聚類的中心,以及聚類能夠包含它所有數(shù)據(jù)點所需的最小半徑。這種方法的優(yōu)點是分裂一個包含n個殊絕點的球的成本只是隨n呈線性增加(注:本小節(jié)內(nèi)容主要來自參考條目19:數(shù)據(jù)挖掘實用機器學(xué)習(xí)技術(shù),[新西蘭]Ian H.Witten 著,第4章4.7節(jié))。
高維特征向量的距離索引問題是基于內(nèi)容的圖像檢索的一項關(guān)鍵技術(shù),目前經(jīng)常采用的解決辦法是首先對高維特征空間做降維處理,然后采用包括四叉樹、kd樹、R樹族等在內(nèi)的主流多維索引結(jié)構(gòu),這種方法的出發(fā)點是:目前的主流多維索引結(jié)構(gòu)在處理維數(shù)較低的情況時具有比較好的效率,但對于維數(shù)很高的情況則顯得力不從心(即所謂的維數(shù)危機) 。
實驗結(jié)果表明當(dāng)特征空間的維數(shù)超過20 的時候,效率明顯降低,而可視化特征往往采用高維向量描述,一般情況下可以達(dá)到10^2的量級,甚至更高。在表示圖像可視化特征的高維向量中各維信息的重要程度是不同的,通過降維技術(shù)去除屬于次要信息的特征向量以及相關(guān)性較強的特征向量,從而降低特征空間的維數(shù),這種方法已經(jīng)得到了一些實際應(yīng)用。
然而這種方法存在不足之處采用降維技術(shù)可能會導(dǎo)致有效信息的損失,尤其不適合于處理特征空間中的特征向量相關(guān)性很小的情況。另外主流的多維索引結(jié)構(gòu)大都針對歐氏空間,設(shè)計需要利用到歐氏空間的幾何性質(zhì),而圖像的相似性計算很可能不限于基于歐氏距離。這種情況下人們越來越關(guān)注基于距離的度量空間高維索引結(jié)構(gòu)可以直接應(yīng)用于高維向量相似性查詢問題。
度量空間中對象之間的距離度量只能利用三角不等式性質(zhì),而不能利用其他幾何性質(zhì)。向量空間可以看作由實數(shù)坐標(biāo)串組成的特殊度量空間,目前針對度量空間的高維索引問題提出的索引結(jié)構(gòu)有很多種大致可以作如下分類,如下圖所示:
讀者點評:
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03