两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

近鄰搜索方法與系統(tǒng)的制作方法

文檔序號(hào):6397783閱讀:263來源:國(guó)知局
專利名稱:近鄰搜索方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息檢索技術(shù)領(lǐng)域,特別是涉及一種近鄰搜索方法與系統(tǒng)。
背景技術(shù)
隨著信息技術(shù)的迅速發(fā)展,數(shù)據(jù)采集能力的提高導(dǎo)致各領(lǐng)域數(shù)據(jù)量和維度都呈指數(shù)級(jí)增長(zhǎng)。然而,數(shù)據(jù)量和數(shù)據(jù)維度的迅速增長(zhǎng)讓搜索變得異常困難。例如,對(duì)于一張輸入的圖片,當(dāng)我們需要在海量圖片庫中查找與這張圖片相同或相似的圖片時(shí),我們不僅要找得準(zhǔn),還要找得快。在這個(gè)例子中,我們可以將圖像抽象成數(shù)據(jù)點(diǎn),數(shù)據(jù)點(diǎn)之間的相似程度通??梢杂脷W式距離來衡量,近鄰搜索就是指找到與查詢數(shù)據(jù)點(diǎn)在這種相似性度量下的相似數(shù)據(jù)點(diǎn)。如果將查詢數(shù)據(jù)點(diǎn)與數(shù)據(jù)庫中的所有點(diǎn)一個(gè)一個(gè)進(jìn)行比較,雖然可以保證檢索精度,但是對(duì)于海量高維數(shù)據(jù)就會(huì)變得非常慢。傳統(tǒng)的基于樹結(jié)構(gòu)的近鄰搜索技術(shù)如果要得到比較高的準(zhǔn)確率,其會(huì)隨著數(shù)據(jù)維度的的增高,檢索速度迅速下降。

發(fā)明內(nèi)容
基于上述情況,本發(fā)明提出了一種近鄰搜索方法與系統(tǒng),以提高近鄰搜索的速度,同時(shí)保證準(zhǔn)確率。一種近鄰搜索方法,包括線下學(xué)習(xí)和線上搜索,所述線下學(xué)習(xí)包括如下步驟隨機(jī)均勻選取數(shù)據(jù)集中的預(yù)定數(shù)目的數(shù)據(jù)點(diǎn)作為錨點(diǎn),通過計(jì)算數(shù)據(jù)點(diǎn)與所述錨點(diǎn)之間的距離得到核矩陣,并中心化該核矩陣;學(xué)習(xí)預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,每一個(gè)二進(jìn)制位的學(xué)習(xí)包括計(jì)算密度和均衡互補(bǔ)信息,使用中心化后的核矩陣及所述密度和均衡互補(bǔ)信息學(xué)習(xí)出投影和閾值,目標(biāo)函數(shù)是最小化哈希超平面兩側(cè)小區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的個(gè)數(shù),并保證桶是近似均衡的;通過中心化后的核矩陣,以及學(xué)習(xí)出的預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,將數(shù)據(jù)集中的數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串,將相同二進(jìn)制串的數(shù)據(jù)點(diǎn)放置到對(duì)應(yīng)的桶中,建立哈希表;所述線上搜索包括如下步驟對(duì)于每個(gè)查詢數(shù)據(jù)點(diǎn)使用相同的所述錨點(diǎn)和核矩陣的均值得到查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣。使用查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣,以及學(xué)習(xí)出的投影和閾值,將每個(gè)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串。根據(jù)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換的二進(jìn)制串,在所述哈希表的對(duì)應(yīng)桶中查找出預(yù)定數(shù)目的數(shù)據(jù)點(diǎn),作為查詢數(shù)據(jù)點(diǎn)的近鄰。一種近鄰搜索系統(tǒng),包括線下學(xué)習(xí)單元和線上搜索單元,所述線下學(xué)習(xí)單元包括
訓(xùn)練點(diǎn)核矩陣確定模塊,用于隨機(jī)均勻選取數(shù)據(jù)集中的預(yù)定數(shù)目的數(shù)據(jù)點(diǎn)作為錨點(diǎn),通過計(jì)算數(shù)據(jù)點(diǎn)與所述錨點(diǎn)之間的距離得到核矩陣,并中心化該核矩陣;投影和閾值學(xué)習(xí)模塊,用于學(xué)習(xí)預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,每一個(gè)二進(jìn)制位的學(xué)習(xí)包括計(jì)算密度和均衡互補(bǔ)信息,使用中心化后的核矩陣及所述密度和均衡互補(bǔ)信息學(xué)習(xí)出投影和閾值,目標(biāo)函數(shù)是最小化哈希超平面兩側(cè)小區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的個(gè)數(shù),并保證桶是近似均衡的;哈希表建立模塊,用于通過中心化后的核矩陣,以及學(xué)習(xí) 出的預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,將數(shù)據(jù)集中的數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串,將相同二進(jìn)制串的數(shù)據(jù)點(diǎn)放置到對(duì)應(yīng)的桶中,建立哈希表;所述線上搜索單元包括查詢點(diǎn)核矩陣確定模塊,用于對(duì)于每個(gè)查詢數(shù)據(jù)點(diǎn)使用相同的所述錨點(diǎn)和核矩陣的均值得到查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣。二進(jìn)制串轉(zhuǎn)換模塊,用于使用查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣,以及學(xué)習(xí)出的投影和閾值,將每個(gè)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串。哈希桶查找模塊,用于根據(jù)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換的二進(jìn)制串,在所述哈希表的對(duì)應(yīng)桶中查找出預(yù)定數(shù)目的數(shù)據(jù)點(diǎn),作為查詢數(shù)據(jù)點(diǎn)的近鄰。本發(fā)明近鄰搜索方法與系統(tǒng),通過最小化哈希超平面兩側(cè)小區(qū)域內(nèi)數(shù)據(jù)點(diǎn)個(gè)數(shù)的學(xué)習(xí)函數(shù),使哈希超平面穿過數(shù)據(jù)的稀疏區(qū)域,從而保證近鄰搜索的高準(zhǔn)確率,通過近似均衡桶條件,給學(xué)習(xí)函數(shù)加上近似均衡桶正則項(xiàng),使哈希超平面對(duì)數(shù)據(jù)點(diǎn)劃分得更均衡,從而保證近鄰搜索的高搜索速度。無論是對(duì)于少量還是海量數(shù)據(jù),本方法與系統(tǒng)都能進(jìn)行高準(zhǔn)確率和高速度的近鄰搜索。


圖1為本發(fā)明近鄰搜索方法的流程示意圖;圖2為本發(fā)明近鄰搜索方法線下學(xué)習(xí)的流程示意圖;圖3為本發(fā)明近鄰搜索方法線上搜索的流程示意圖;圖4為本發(fā)明近鄰搜索系統(tǒng)的結(jié)構(gòu)示意圖;圖5為本發(fā)明近鄰搜索系統(tǒng)其中一個(gè)實(shí)施例的流程示意圖。
具體實(shí)施例方式本發(fā)明是一種基于哈希算法的近鄰搜索方法與系統(tǒng),通過將數(shù)據(jù)轉(zhuǎn)換成短位數(shù)的二進(jìn)制串,然后建立哈希表來達(dá)到高效搜索的目的。由于無論是多少維度的數(shù)據(jù),最后都被轉(zhuǎn)換成一個(gè)短位數(shù)的二進(jìn)制串(例如0110是一個(gè)4位的二進(jìn)制串),所以基于哈希算法的近鄰搜索對(duì)維度不敏感,能快速檢索高維數(shù)據(jù)。下面結(jié)合附圖與實(shí)施例詳細(xì)解釋本發(fā)明。本發(fā)明近鄰搜索方法,如圖1所示,包括線下學(xué)習(xí)和線上搜索兩步。線下學(xué)習(xí)過程如圖1所示步驟S101、隨機(jī)均勻選取訓(xùn)練數(shù)據(jù)集中的若干數(shù)據(jù)點(diǎn)作為錨點(diǎn),通過計(jì)算訓(xùn)練數(shù)據(jù)點(diǎn)與這些錨點(diǎn)之間的距離得到核矩陣,并中心化核矩陣。訓(xùn)練數(shù)據(jù)集,以下簡(jiǎn)稱數(shù)據(jù)集,是由η個(gè)維度為d的數(shù)據(jù)點(diǎn)構(gòu)成。例如,可以將一個(gè)32*32的灰度圖像的所有像素連起來變成一個(gè)1024維的向量,這個(gè)向量就是一個(gè)1024維的數(shù)據(jù)點(diǎn);或者也可以對(duì)一張圖片抽取一個(gè)d維的特征,這個(gè)特征就是一個(gè)d維的數(shù)據(jù)點(diǎn)。隨機(jī)均勻選取錨點(diǎn)的目的在于使所選取的錨點(diǎn)不會(huì)分布在數(shù)據(jù)空間中某個(gè)集中的區(qū)域,也就是說錨點(diǎn)是均勻分布在整個(gè)數(shù)據(jù)空間中的。假設(shè)數(shù)據(jù)集X由η個(gè)d維的數(shù)據(jù)點(diǎn)構(gòu)成X = [x1;…,xn] e Rdxn,通過隨機(jī)均勻選取出m個(gè)數(shù)據(jù)點(diǎn)A1,…,Am作為錨點(diǎn),我們計(jì)算核矩陣K :
Zk(Xi^1)…I^(X1An)'
K = I … 丨 j,k ( ·,·)是核函數(shù),這里選擇高斯核函數(shù)
Vk(xn A1) ·*· k(xn,Am)J k(x, y) = - x-y 2/2。2,m=300, σ是隨機(jī)選取3000個(gè)點(diǎn)的點(diǎn)對(duì)距離的平均值。然后
_ Zk(XllA1)-^1 …Κχ1,Δ1τ1)-μηι\ Zk(X1)xX
中心化核矩陣得至ij R=… = _L,
K: Vk(xn,— \ii ··· k(xn,Διη)—\imJ \k(xn)^J
μ =^EJLik(XpAi)0步驟S102、學(xué)習(xí)若干二進(jìn)制位的投影和閾值,對(duì)于每一個(gè)二進(jìn)制位的學(xué)習(xí)包括首先計(jì)算密度和均衡互補(bǔ)信息,然后使用中心化后的核矩陣和這兩種互補(bǔ)信息學(xué)習(xí)出投影和閾值,其目標(biāo)函數(shù)是最小化哈希超平面兩側(cè)小區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的個(gè)數(shù),并同時(shí)保證桶是近似均衡的。假設(shè)需要學(xué)習(xí)c個(gè)哈希函數(shù)來將數(shù)據(jù)點(diǎn)轉(zhuǎn)換成c位二進(jìn)制串,那么對(duì)于第k個(gè)哈希函數(shù).sgn(fk(x)) = sgn(p^k(x) — bk)就需要學(xué)習(xí)出投影Pk和閾
值 bk 來讓目標(biāo)函數(shù) ΣΓ=1 ^iiSgn (ε - fk(Xi)sgn(ik(Xi))) + ||<_八|丨2 最小,其中4 = 1+ IjtiH(E-1fj(Xi)I)稱為密度互補(bǔ)信息,H(x)是單位階躍函數(shù),
Vk 二 [sgr^fkCxJ),…,sgn(fk(xn))]T, Vk^1 = [1,V1,…,vk_J 稱為均衡互補(bǔ)信息,
sgn(x)是符號(hào)函數(shù),α和ε是算法輸入的參數(shù),這里選擇α = O.1, ε = O. Ols ( ε是所有點(diǎn)到一個(gè)均分超平面的距離的平均值)。步驟S103、通過中心化后的核矩陣,以及學(xué)習(xí)出的若干二進(jìn)制位的投影和閾值,將訓(xùn)練數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串,將相同二進(jìn)制串的數(shù)據(jù)點(diǎn)放置到對(duì)應(yīng)的桶中,建立哈希表。使用c個(gè)哈希函數(shù)將每個(gè)d維的數(shù)據(jù)點(diǎn)X變成一個(gè)c位二進(jìn)制串,第k個(gè)哈希函
數(shù)將數(shù)據(jù)點(diǎn)X變成第k位O或者I的過程是1(1 + sgn(fk(x)))。將所有數(shù)據(jù)點(diǎn)按照這種
方式都轉(zhuǎn)換成二進(jìn)制串,將相同二進(jìn)制串的數(shù)據(jù)點(diǎn)放到一個(gè)桶中(桶的索引就是該二進(jìn)制串),從而建立哈希表。至此,線下學(xué)習(xí)已建立了哈希表,使用以上線下學(xué)習(xí)的結(jié)果進(jìn)行線上搜索即可保證近鄰搜索的高準(zhǔn)確率和高速度,但為了進(jìn)一步提高準(zhǔn)確率和速度,還可以如圖2所示,包括以下步驟
所述步驟S104、對(duì)數(shù)據(jù)集中所有的點(diǎn)(η個(gè)點(diǎn))計(jì)算它們兩兩之間的距離,對(duì)每個(gè)數(shù)據(jù)點(diǎn)按照它與其它數(shù)據(jù)點(diǎn)的距離從小到大排序,就得到該數(shù)據(jù)點(diǎn)對(duì)應(yīng)其它數(shù)據(jù)點(diǎn)的一個(gè)序列。對(duì)每個(gè)數(shù)據(jù)點(diǎn)都取它們對(duì)應(yīng)序列中的前k個(gè)點(diǎn),這樣就得到一張nXk的近似最近鄰到準(zhǔn)確最近鄰的對(duì)應(yīng)表,這里k=50。所述步驟S105、對(duì)數(shù)據(jù)集進(jìn)行主成分分析(PCA),得到PCA降維矩陣(dXd'的矩陣),將數(shù)據(jù)集乘以這個(gè)矩陣得到了數(shù)據(jù)集降維后的信息(nXd'的矩陣),這里d'在不同數(shù)據(jù)集上取值需要調(diào)整,在GIST-1M上是40,在SIFT-1M上是32。線上搜索過程如圖1所示步驟S201、對(duì)于每個(gè)查詢數(shù)據(jù)點(diǎn)使用相同的錨點(diǎn)得到中心化后的核矩陣。對(duì)d維的查詢數(shù)據(jù)點(diǎn)X使用相同的錨點(diǎn)A1,…,Ani和相同的核矩陣均值μ 1;…
,μ m,得到 X 的核矩陣k(x)T = (k(x, A1) — μ1 …k(x,Am)-pm)。步驟S202、使用中心化后的核矩陣,以及學(xué)習(xí)出的投影和閾值,將每個(gè)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串。使用線下學(xué)習(xí)出的c個(gè)哈希函數(shù)和X的核矩陣 ^5_Τ,將X變成c位二進(jìn)制串,第
k個(gè)哈希函數(shù)將數(shù)據(jù)點(diǎn)X變成第k位O或者I的過程是:^(1 + Sgn(fk(x)))。步驟S203、對(duì)于每個(gè)查詢數(shù)據(jù)點(diǎn)乘以線下·學(xué)習(xí)出的PCA降維矩陣,得到查詢數(shù)據(jù)點(diǎn)降維后的信息(一個(gè)查詢數(shù)據(jù)點(diǎn)對(duì)應(yīng)一個(gè)d'維的向量)。根據(jù)步驟S202得到的二進(jìn)制串,在哈希表中找到漢明半徑為r的所有桶(漢明半徑為r表示桶的索引與步驟S202得到的二進(jìn)制串允許最多有r位不同,這里r=2),取出這些桶中的數(shù)據(jù)點(diǎn)。從桶中取出的數(shù)據(jù)點(diǎn)即可作為查詢數(shù)據(jù)點(diǎn)的近鄰,此時(shí)的近鄰并沒有排序,為了對(duì)近鄰進(jìn)行排序并進(jìn)一步提高搜索的準(zhǔn)確率和速度,線上搜索還可以如圖3所示,包括以下步驟步驟S204、對(duì)于每個(gè)查詢數(shù)據(jù)點(diǎn)乘以線下學(xué)習(xí)出的PCA降維矩陣,得到查詢數(shù)據(jù)點(diǎn)降維后的信息(一個(gè)查詢數(shù)據(jù)點(diǎn)對(duì)應(yīng)一個(gè)d'維的向量)。步驟S205、使用查詢點(diǎn)和這些數(shù)據(jù)點(diǎn)降維后的信息進(jìn)行距離計(jì)算并按距離從小到大排序,然后取前Hl1個(gè)數(shù)據(jù)點(diǎn)進(jìn)行原始維度的距離計(jì)算,再次按距離從小到大排序后取前m2個(gè)點(diǎn)。對(duì)這m2個(gè)點(diǎn)查詢近似最近鄰到準(zhǔn)確最近鄰的對(duì)應(yīng)表,每個(gè)點(diǎn)取m3個(gè)候選點(diǎn),去掉重復(fù)的點(diǎn)后得到了新的候選數(shù)據(jù)點(diǎn)集合,優(yōu)選地,Hi1 = 100, m2 = 10, m3 = 50。步驟S206、使用查詢點(diǎn)和新的候選數(shù)據(jù)點(diǎn)降維后的信息進(jìn)行距離計(jì)算并按距離從小到大排序,然后取前Hl4個(gè)數(shù)據(jù)點(diǎn)使用原始維度的距離計(jì)算并排序,最終得到查詢點(diǎn)的近鄰,優(yōu)選地,m4 = 100。表I和表2分別為本方法使用32位哈希在GIST-1M數(shù)據(jù)集和SIFT-1M數(shù)據(jù)集上與Flann kdtree (目前基于樹結(jié)構(gòu)的方法中最主流的一種方法,這里取參數(shù)nChecks=256)的搜索準(zhǔn)確率和搜索時(shí)間的對(duì)比。GIST-1M是384維100萬數(shù)據(jù)量的數(shù)據(jù)集,SIFT-1M是128維100萬數(shù)據(jù)量的數(shù)據(jù)集。表I和表2都展示了 1000個(gè)查詢點(diǎn)的平均搜索準(zhǔn)確率(表中Inn準(zhǔn)確率表示找到最近鄰的準(zhǔn)確率,50nn準(zhǔn)確率表示找到前50個(gè)近鄰的準(zhǔn)確率)和總的搜索時(shí)間。表I和表2表明本方法在兩種不同的數(shù)據(jù)集上都比Flann kdtree的準(zhǔn)確率
高,同時(shí)搜索時(shí)間少。
權(quán)利要求
1.一種近鄰搜索方法,其特征在于,包括線下學(xué)習(xí)和線上搜索,所述線下學(xué)習(xí)包括如下步驟隨機(jī)均勻選取數(shù)據(jù)集中的預(yù)定數(shù)目的數(shù)據(jù)點(diǎn)作為錨點(diǎn),通過計(jì)算數(shù)據(jù)點(diǎn)與所述錨點(diǎn)之間的距離得到核矩陣,并中心化該核矩陣;學(xué)習(xí)預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,每一個(gè)二進(jìn)制位的學(xué)習(xí)包括計(jì)算密度和均衡互補(bǔ)信息,使用中心化后的核矩陣及所述密度和均衡互補(bǔ)信息學(xué)習(xí)出投影和閾值,目標(biāo)函數(shù)是最小化哈希超平面兩側(cè)小區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的個(gè)數(shù),并保證桶是近似均衡的;通過中心化后的核矩陣,以及學(xué)習(xí)出的預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,將數(shù)據(jù)集中的數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串,將相同二進(jìn)制串的數(shù)據(jù)點(diǎn)放置到對(duì)應(yīng)的桶中,建立哈希表; 所述線上搜索包括如下步驟對(duì)于每個(gè)查詢數(shù)據(jù)點(diǎn)使用相同的所述錨點(diǎn)和核矩陣的均值得到查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣。使用查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣,以及學(xué)習(xí)出的投影和閾值,將每個(gè)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換成~■進(jìn)制串。根據(jù)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換的二進(jìn)制串,在所述哈希表的對(duì)應(yīng)桶中查找出預(yù)定數(shù)目的數(shù)據(jù)點(diǎn),作為查詢數(shù)據(jù)點(diǎn)的近鄰。
2.根據(jù)權(quán)利要求1所述的近鄰搜索方法,其特征在于,所述線下學(xué)習(xí)還包括以下步驟 對(duì)數(shù)據(jù)集中所有數(shù)據(jù)點(diǎn)進(jìn)行距離計(jì)算并排序,確定每個(gè)數(shù)據(jù)點(diǎn)前預(yù)定個(gè)準(zhǔn)確最近鄰,建立近似最近鄰到準(zhǔn)確最近鄰的對(duì)應(yīng)表,所述距離計(jì)算并排序的過程為計(jì)算數(shù)據(jù)點(diǎn)兩兩之間的距離,對(duì)每個(gè)數(shù)據(jù)點(diǎn)按照其與其它數(shù)據(jù)點(diǎn)的距離從小到大排序;對(duì)數(shù)據(jù)集進(jìn)行主成分分析,得到PCA降維矩陣,并使用該矩陣對(duì)數(shù)據(jù)集進(jìn)行降維,得到數(shù)據(jù)集降維后的信息,所述線上搜索還包括以下步驟對(duì)每個(gè)查詢數(shù)據(jù)點(diǎn)使用所述PCA降維矩陣進(jìn)行降維,得到查詢數(shù)據(jù)點(diǎn)降維后的信息; 對(duì)查詢數(shù)據(jù)點(diǎn)降維后的信息及在所述哈希表的對(duì)應(yīng)桶中查找出的預(yù)定數(shù)目的數(shù)據(jù)點(diǎn)降維后的信息進(jìn)行所述距離計(jì)算并排序,對(duì)前Hi1個(gè)數(shù)據(jù)點(diǎn)按照原始維度再次進(jìn)行所述距離計(jì)算并排序,取前m2個(gè)數(shù)據(jù)點(diǎn)并查詢近似最近鄰到準(zhǔn)確最近鄰的所述對(duì)應(yīng)表,每個(gè)數(shù)據(jù)點(diǎn)取m3個(gè)候選點(diǎn),去掉重復(fù)的數(shù)據(jù)點(diǎn),得到候選數(shù)據(jù)點(diǎn)集合;對(duì)查詢數(shù)據(jù)點(diǎn)和所述候選數(shù)據(jù)點(diǎn)集合中的候選數(shù)據(jù)點(diǎn)降維后的信息進(jìn)行所述距離計(jì)算并排序,取前m4個(gè)數(shù)據(jù)點(diǎn)按照原始維度再次進(jìn)行所述距離計(jì)算并排序,得到查詢數(shù)據(jù)點(diǎn)最終的近鄰。
3.根據(jù)權(quán)利要求2所述的近鄰搜索方法,其特征在于,In1取100,m2取100,m3取100, m4 取 100。
4.根據(jù)權(quán)利要求1或2或3所述的近鄰搜索方法,其特征在于,所述哈希表的對(duì)應(yīng)桶為所述哈希表中漢明半徑為2的所有桶。
5.一種近鄰搜索系統(tǒng),其特征在于,包括線下學(xué)習(xí)單元和線上搜索單元,所述線下學(xué)習(xí)單元包括訓(xùn)練點(diǎn)核矩陣確定模塊,用于隨機(jī)均勻選取數(shù)據(jù)集中的預(yù)定數(shù)目的數(shù)據(jù)點(diǎn)作為錨點(diǎn), 通過計(jì)算數(shù)據(jù)點(diǎn)與所述錨點(diǎn)之間的距離得到核矩陣,并中心化該核矩陣;投影和閾值學(xué)習(xí)模塊,用于學(xué)習(xí)預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,每一個(gè)二進(jìn)制位的學(xué)習(xí)包括計(jì)算密度和均衡互補(bǔ)信息,使用中心化后的核矩陣及所述密度和均衡互補(bǔ)信息學(xué)習(xí)出投影和閾值,目標(biāo)函數(shù)是最小化哈希超平面兩側(cè)小區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的個(gè)數(shù),并保證桶是近似均衡的;哈希表建立模塊,用于通過中心化后的核矩陣,以及學(xué)習(xí)出的預(yù)定數(shù)目的二進(jìn)制位的投影和閾值,將數(shù)據(jù)集中的數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串,將相同二進(jìn)制串的數(shù)據(jù)點(diǎn)放置到對(duì)應(yīng)的桶中,建立哈希表;所述線上搜索單元包括查詢點(diǎn)核矩陣確定模塊,用于對(duì)于每個(gè)查詢數(shù)據(jù)點(diǎn)使用相同的所述錨點(diǎn)和核矩陣的均值得到查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣。二進(jìn)制串轉(zhuǎn)換模塊,用于使用查詢數(shù)據(jù)點(diǎn)中心化后的核矩陣,以及學(xué)習(xí)出的投影和閾值,將每個(gè)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換成二進(jìn)制串。哈希桶查找模塊,用于根據(jù)查詢數(shù)據(jù)點(diǎn)轉(zhuǎn)換的二進(jìn)制串,在所述哈希表的對(duì)應(yīng)桶中查找出預(yù)定數(shù)目的數(shù)據(jù)點(diǎn),作為查詢數(shù)據(jù)點(diǎn)的近鄰。
6.根據(jù)權(quán)利要求5所述的近鄰搜索系統(tǒng),其特征在于,所述線下學(xué)習(xí)單元還包括對(duì)應(yīng)表建立模塊,用于對(duì)數(shù)據(jù)集中所有數(shù)據(jù)點(diǎn)進(jìn)行距離計(jì)算并排序,確定每個(gè)數(shù)據(jù)點(diǎn)前預(yù)定個(gè)準(zhǔn)確最近鄰,建立近似最近鄰到準(zhǔn)確最近鄰的對(duì)應(yīng)表,所述距離計(jì)算并排序的過程為計(jì)算數(shù)據(jù)點(diǎn)兩兩之間的距離,對(duì)每個(gè)數(shù)據(jù)點(diǎn)按照其與其它數(shù)據(jù)點(diǎn)的距離從小到大排序;降維矩陣確定模塊,用于對(duì)數(shù)據(jù)集進(jìn)行主成分分析,得到PCA降維矩陣,并使用該矩陣對(duì)數(shù)據(jù)集進(jìn)行降維,得到數(shù)據(jù)集降維后的信息,所述線上搜索單元還包括查詢點(diǎn)降維模塊,用于對(duì)每個(gè)查詢數(shù)據(jù)點(diǎn)使用所述PCA降維矩陣進(jìn)行降維,得到查詢數(shù)據(jù)點(diǎn)降維后的信息;候選數(shù)據(jù)點(diǎn)確定模塊,用于對(duì)查詢數(shù)據(jù)點(diǎn)降維后的信息及在所述哈希表的對(duì)應(yīng)桶中查找出的預(yù)定數(shù)目的數(shù)據(jù)點(diǎn)降維后的信息進(jìn)行所述距離計(jì)算并排序,對(duì)前Hi1個(gè)數(shù)據(jù)點(diǎn)按照原始維度再次進(jìn)行所述距離計(jì)算并排序,取前Hl2個(gè)數(shù)據(jù)點(diǎn)并查詢近似最近鄰到準(zhǔn)確最近鄰的所述對(duì)應(yīng)表,每個(gè)數(shù)據(jù)點(diǎn)取m3個(gè)候選點(diǎn),去掉重復(fù)的數(shù)據(jù)點(diǎn),得到候選數(shù)據(jù)點(diǎn)集合;近鄰確定模塊,用于對(duì)查詢數(shù)據(jù)點(diǎn)和所述候選數(shù)據(jù)點(diǎn)集合中的候選數(shù)據(jù)點(diǎn)降維后的信息進(jìn)行所述距離計(jì)算并排序,取前m4個(gè)數(shù)據(jù)點(diǎn)按照原始維度再次進(jìn)行所述距離計(jì)算并排序,得到查詢數(shù)據(jù)點(diǎn)最終的近鄰。
7.根據(jù)權(quán)利要求6所述的近鄰搜索系統(tǒng),其特征在于,In1取100,m2取100,m3取100, m4 取 100。
8.根據(jù)權(quán)利要求5或6或7所述的近鄰搜索系統(tǒng),其特征在于,所述哈希表的對(duì)應(yīng)桶為所述哈希表中漢明半徑為2的所有桶。
全文摘要
本發(fā)明公開了一種近鄰搜索方法與系統(tǒng),包括線下學(xué)習(xí)和線上搜索兩部分,通過最小化哈希超平面兩側(cè)小區(qū)域內(nèi)數(shù)據(jù)點(diǎn)個(gè)數(shù)的學(xué)習(xí)函數(shù),使哈希超平面穿過數(shù)據(jù)的稀疏區(qū)域,從而保證近鄰搜索的高準(zhǔn)確率,通過近似均衡桶條件,給學(xué)習(xí)函數(shù)加上近似均衡桶正則項(xiàng),使哈希超平面對(duì)數(shù)據(jù)點(diǎn)劃分得更均衡,從而保證近鄰搜索的高搜索速度。無論是對(duì)于少量還是海量數(shù)據(jù),本方法與系統(tǒng)都能進(jìn)行高準(zhǔn)確率和高速度的近鄰搜索。
文檔編號(hào)G06F17/30GK103020321SQ20131001140
公開日2013年4月3日 申請(qǐng)日期2013年1月11日 優(yōu)先權(quán)日2013年1月11日
發(fā)明者鐘海蘭 申請(qǐng)人:廣東搜網(wǎng)絡(luò)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
德江县| 安宁市| 南丹县| 清新县| 阿合奇县| 上栗县| 乌审旗| 积石山| 静海县| 尉氏县| 阿城市| 锡林浩特市| 金阳县| 湄潭县| 绥化市| 安溪县| 阳江市| 绍兴市| 和平区| 灌阳县| 广东省| 运城市| 昭通市| 西华县| 河北省| 石泉县| 浠水县| 葫芦岛市| 河北区| 吕梁市| 南昌市| 隆昌县| 满城县| 舒城县| 华坪县| 肥西县| 东台市| 阿荣旗| 普宁市| 化隆| 永定县|