ランダムな超平面を使って高次元で最近傍探索に関するいくつかの解法を読みましたが、バケットの仕組みについてはまだ混乱しています。私は100次元のベクトルと100万のクエリの形で100万の文書を持っています。各クエリについて、コサイン類似度に基づいて最も近い隣を見つける必要があります。ブルートフォースのアプローチは、クエリのcosine
の値をすべて1億のドキュメントで見つけ、値が1に近いものを選択することです。ドキュメントをバケットに入れて、私がそうでないようにランダムなハイパープレーンのコンセプトに苦しんでいますクエリごとにcosine
値を100万回計算する必要があります。余弦類似度LSHとランダム超平面
2
A
答えて
2
幾何学的に考える。高い次元の空間でポイントのようなデータを想像してみてください。
ランダムな超平面(高次元の平面のみ)を作成し、想像力を使って縮小します。
いくつかの点が他から離れて(そのパーティション内のすべての点を、粗い近似であろう)に配置されているパーティションを作成するこれらの超平面カットデータ(点)、、。
ここで、バケットは、超平面によって形成された区画に従って配置される必要があります。その結果、すべてのバケットにはポイントセットの合計サイズよりもはるかに少ないポイントが含まれます(これまで説明したすべてのパーティションには、ポイントセットの合計サイズよりも少ないポイントが含まれているためです)。
結果として、クエリをポーズすると、(バケットの助けを借りて)合計サイズよりもずっと少ないポイントがチェックされます。それはすべての点をチェックするブルートフォースアプローチよりもはるかに優れています(より速く)ことを意味します。
関連する問題
- 1. のPython:TF-IDF-余弦:文書の類似性
- 2. 文書の類似性に対する異なるアプローチ(LDA、LSA、余弦)
- 3. sqlクエリの余弦/球面法則
- 4. Armadillo C++を使用した余弦類似度は私に負の結果をもたらします
- 5. パーセプトロンの超平面
- 6. 正弦余弦モジュラ拡張精度演算
- 7. 類似度indice
- 8. 類似度
- 9. SVM分類超平面をプロットする方法
- 10. イメージ余弦波
- 11. Kmeanアルゴリズムと余弦距離
- 12. ハッシュの類似度
- 13. 調整済みコサイン類似度と正規コサイン類似度の選択
- 14. 類似度測定scikit-learnドキュメント分類
- 15. トリグラム類似度演算子%
- 16. コンピューティングの類似度行列
- 17. skine.manifoldのコサイン類似度TSNE
- 18. gensim:カスタム類似度測定
- 19. OpenCV ||輪郭類似度
- 20. OpenGL - joglの正弦波と余弦波(JAVA)
- 21. 平均的な類似期間MATLAB
- 22. spark mlコサイン類似度:1からnの類似度スコアを得る方法
- 23. Rに超平面を描く?
- 24. Javaの正弦近似エラー
- 25. マハウトのコサイン類似度の計算
- 26. OrientDB - 類似度を計算する
- 27. Matlab 2D関数のサブシーケンスの類似度
- 28. 類似度の画像の比較
- 29. スパースベクトルの加重コサイン類似度
- 30. word2vecのコサイン類似度1以上
http://matpalm.com/resemblance/simhash/ – Mirco