LSH區域性敏感hash 口頭解釋版

2021-10-11 02:44:25 字數 558 閱讀 5311

網上講lsh這個很多,但是我就沒找到有人講清楚了的,於是寫下這篇文字

這個鏈結是一知乎大神的對shingling,min-hash和lsh的理解性講解

前面很容易懂,唯獨lsh,讓人看不懂,我也看了他推薦的鏈結,有篇英文pdf講的這個。

看了幾遍,就是沒說破lsh怎麼用,就在講特異度和敏感度的問題。

其實就很簡單,過程如下。

資料,有10萬文件

對這十萬文件進行shingling,可以是n-gram取字串分片,也可以是分詞,就是粒度化。

建立0-1矩陣,行就是所有文件粒度化的字串去重排序的集合,列是各篇文件。

min-hash,進行降維,自己建立100個hash,然後對行序號計算hash值,最後計算min-hash,不太明白min-hash的看前面的鏈結。

得到hash方法集合和文件的矩陣,行數變少了,文件數沒變,文件數也不能變,所以還是只有變行數,於是就有了lsh。

把行均勻分成多塊,也就是幾個hash方法一組,這樣就有多組了,計算lsh時,就選一組就可以了,計算量就小了。前面文件是解釋怎麼選擇分多少組,讓誤差小。buckets似乎沒什麼用。

區域性敏感雜湊LSH

參考資料 簡單介紹 在茫茫人海中發現相似的你 區域性敏感雜湊 lsh 基本思想 區域性敏感雜湊的基本思想類似於一種空間域轉換思想,lsh演算法基於乙個假設,如果兩個文字在原有的資料空間是相似的,那麼分別經過雜湊函式轉換以後的它們也具有很高的相似度 相反,如果它們本身是不相似的,那麼經過轉換後它們應仍...

區域性敏感雜湊演算法

該演算法是一種衡量文字相似度的演算法,下面介紹一下這個演算法的主要思想。假設我們有三段文字 1,我愛你中國。2,我愛北京天安門。3,我愛吃蘋果 一,分詞,形成如下矩陣 文字 1 文字 2 文字 3 我 1 1 1 愛 1 1 1 你 1 0 0 中國 1 0 0 北京 0 1 0 天安門 0 1 0...

區域性敏感雜湊 原始LSH C 實現

之前專案中用到lsh演算法來做特徵檢索,對lsh演算法很好奇,最近看了lsh的 依照自己的理解,初步寫了lsh 測試效果不是特別理想,引數的選擇也基本靠嘗試,姑且先把 放上來,之後再改進吧 2016.01.24 include include include include using namesp...