日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

海量数据索引与近似最近邻随记

發布時間:2023/12/9 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 海量数据索引与近似最近邻随记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近鄰問題(NN)

將次數看成向量,然后我們就可以比對向量的距離(歐式距離,余弦距離)。數據中會有一些異常點,這些異常點會導致結果的不穩定。

這種思想非常的不穩定,因為他只基于一個樣本來做最后類別的判定。

K最近鄰算法(NN => KNN)

少數服從多數。

距離準則

Jaccard:并不是每個人都會點擊或者購買這么高強度的行為,因為購買是需要花錢的。我們能采集到的數據量比較的數據,實際上是用戶的一些隱性的行為,比如他在這個頁面停留了多久(時間閾值,比如30秒),超過閾值我就認為他有興趣。它不像打分數據一樣有嚴格的連續值,比如0-10這樣一個嚴格的連續取值,它只有0,1(有或沒有)的這種行為,看過或沒看過,感興趣或不感興趣。Jaccard是算兩個向量共同是1的部分或者共同是0的部分。

近似最近鄰算法(KNN => ANN)

預先對數據做劃分會面臨一個問題,可能會劃分錯誤,無論怎么劃分都有可能將本身比較接近的一些點給劃分開。所以他會損失掉一部分準確度,當然這部分損失在你的承受范圍內的。在損失一些準確度的情況下,用一部分的空間去提升速度,實際上就是預先對數據做了劃分和索引。這種操作在工業界并不是致命的,比如淘寶上的找相似或者找同款功能。

局部銘感度哈希

生成2進制串,保證距離特性

在高維空間比較接近的會落到同一個桶里面。

LSH第一步做哈希,即把這些圖片都分完桶了,LSH映射完之后,他會拿到你指定的個數的,例如指定的是k,那它就會拿到kbit的串,意味著你掉到了kbit這樣一個串的桶里面。第一步是映射,映射做的事情就是對原始給定的高維向量,做一個映射,得到映射拿到的桶ID號。

第二步檢索,檢索做的是,首先他會去找桶里面其他的數據,LSHash這個庫檢索回來的張數是不確定的。當新的數據過來時,通過第一步的映射,一樣會拿到一個桶的編號,到這個桶里面看看有多少張圖片,將這個桶的圖片取出來,計算看滿不滿足要求,如果桶里的圖片不夠,LSHash保證不了個數,所以這個庫解決不了這個問題。在不夠的情況下,通過計算二進制串的漢明距離,將與他漢明距離為1的這些桶編號全都拿回來。如果漢明距離為1的不夠怎么辦,它再取漢明距離為2的桶。、

注意:你要小心的設置LSH 他映射到的空間維度,你要根據你的樣本量大致的估一下或者做測試。

lSH的直觀理解

像左圖中的c點劃分錯誤的情況下,你想讓你的檢索盡量的準確怎么辦,這個事情是可以做的,需要付出的代價是你計算資源或時間的成本,可以采用多次劃分的方式,然后根據這幾個超平面的檢索結果,取他們的并集。

LSH之相似網頁查找

詞(特征)的權重是指這個詞對這句話的重要度(tf-idf)。乘以權重時,原來是1的位置直接乘以權重,原來是0的位置用-1乘以權重。

有用的理由:如果現在去掉灰色這個詞,對最后的結果的正負性沒有影響,只有你去掉那些詞的時候對結果的正負性可能會有影響呢?是不是w權重比較大的詞!!就是說,如果在原來的文本中剔除一些或者加入一些不是那么重要的字的話,那我認為沒有影響,除非你剔除或加入額外分詞重要的詞,那這個時候可能就會認為這是不同的句子。

SimHash可用庫

LSH常用庫

ANN之K-means Tree

每個非葉子節點都是一個簇的聚類中心點。

如果你現在要找回Top 2T,如果不滿足他會怎么做呢?他會回溯回去,回溯到上一級大團,然后去找聚類中心第二接近的,因為聚類中心他們總會有一個遠近,所以他會對他們做一個排序(rank),拿出來那些比較接近的小的簇,然后再去求并。

ANN之K-D Tree

DT決策樹,它在做的事情是去找一個波動最大的維度,為什么要找方差最大的維度?方差最大的維度,意味著這個維度上的熵比較大或者是他的不確定性比較高,他的信息增益比較大,也就是他能夠給我帶來減小不確定的可能性最大。

二維用線做切分

三維用面做切分,從三個維度中找哪個是波動/方差最大的。

假設現在要與(6,1)最接近的3個點,首先是第一個維度6,在7的左側,然后順著左側往下走,緊接著第二個維度1,判斷在4的左側還是右側?在左側,找到了(2,3)是離她最接近的點。然后沿著(2,3)這個葉子節點回溯到父節點(5,4),計算加上父節點滿不滿足3個,不滿足,父節點還有一側(4,7),再計算加上這個節點滿不滿足3個,發現滿足,就不再回溯到上一個父節點。

K-means Tree VS K-D Tree

工程經驗之ANN庫

總結

以上是生活随笔為你收集整理的海量数据索引与近似最近邻随记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。