問題タブ [minhash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
607 参照

computational-geometry - n次元空間でkに最も近い値を見つけるにはどうすればよいですか?

kd ツリーについて読みましたが、空間の次元が高い場合は非効率的です。値のデータベースがあり、クエリから特定のハミング距離内にある値を見つけたいと考えています。たとえば、データベースは 32 ビットの数値のリストであり、クエリ値との差が 3 ビット未満のすべての数値を見つけたいとします。

MultiVariate Partition trees についてどこかで聞いたことがありますが、適切なリファレンスが見つかりませんでした。min-Hash の方が適切な近似値を提供することは知っていますが、正確な答えが欲しいです。

0 投票する
2 に答える
5084 参照

c# - MinHash を使用して 2 つの画像の類似点を見つける

MinHash アルゴリズムを使用して、画像間で類似の画像を見つけています。MinHashアルゴリズムHow can I recognize slightly modified images?を指摘したこの投稿に出くわしました。

このブログ投稿の C# 実装を使用していましたSet Similarity and Min Hash

しかし、実装を使用しようとしているときに、2 つの問題に遭遇しました。

  • 値をどの値に設定すればよいuniverseですか?
  • イメージ バイト配列を に渡す場合HashSet、個別のバイト値のみが含まれます。したがって、1 ~ 256 の値を比較します。

これuniverseは MinHash で何ですか?
また、C# MinHash の実装を改善するにはどうすればよいですか?

HashSet<byte>最大 256 の値が含まれているため、類似度の値は常に 1 になります。

の C# MinHash 実装を使用するソースは次のSet Similarity and Min Hashとおりです。

0 投票する
2 に答える
1988 参照

ruby - Ruby Murmur ハッシュのシード値を設定する方法

ruby ハッシュ関数を使用するためのシード値を設定する方法はありますか (つまり、1.9 の murmur ハッシュ、JRuby を知りませんか?)、スクリプトを実行するたびに同じハッシュコードを取得できるようにする方法はありますか?プロセスまたは異なるノード上)

となることによって

puts 「これはテストです」.hash

これは、今日、明日、3 週間後など、いつ実行しても同じです。

MinHashを並行して実装できるように、これを行いたい

murmur_hash ジェムで、つぶやきハッシュがシードを受け入れることがわかるので、同じシードを選択するたびに、シードを設定してハッシュコードを決定論的に取得できると思います

0 投票する
2 に答える
1764 参照

data-mining - 高速でスケーラブルな類似性検出

ドキュメントを含む大規模なpostgresqlデータベースがあります。テーブル内の行として表されるすべてのドキュメント。新しいドキュメントがデータベースに追加されたら、重複をチェックする必要があります。selectしかし、完全に一致するものを見つけるためだけに使用することはできません。2つのドキュメントはわずかに異なる場合がありますが、それでも重複と見なすことができます。たとえば、一部のマイナーフィールドが異なり、他のすべてのフィールドが等しい場合などです。

私はこの問題を研究し、この問題を解決する方法を見つけます。すべてのドキュメントの署名を計算MinHashし、転置インデックスを作成して、データベースから同様のドキュメントをクエリすることができます。MinHashしかし、リレーショナルデータベースにマッピングする方法がわかりません。

私が理解しているように、MinHash署名はN個のハッシュのリストです。ここでNはいくつかの属性です。類似性は次のように計算されます。

すでに2つの署名がある場合、これは簡単です。問題は、データベース内で類似性がある程度の値以下のすべてのドキュメント(対応する署名を含む)を見つけることです。

たとえば、次のように複数の列を持つテーブルを作成できます。

minhashX列は、ドキュメントの属性の1つのminhashに対応しdocid、ドキュメントの識別子です。次の方法で同様のレコードをクエリできます。

ここで、minhash2searchXは新しいドキュメントのミンハッシュであり、THRESHOLDは最小限の類似性です。ただし、このアプローチではフルスキャンが必要です。このアルゴリズムを高速化する方法はありますか?

0 投票する
2 に答える
5811 参照

algorithm - min-hashを使用した局所性鋭敏型ハッシュの実装

min-hashを使用してLSH(局所性鋭敏型ハッシュ)を実装する多くのチュートリアル、ドキュメント、およびコードを読みました。

LSHは、ランダムなサブセットをハッシュし、それらを集計することにより、2つのセットのJaccard係数を見つけようとします。code.google.comで実装を見てきましたが、その方法も理解できませんでした。私は紙のGoogleニュースのパーソナライズ:スケーラブルなオンライン協調フィルタリングを理解していますが、そこにある実装のいずれも理解できていません。

MinHashでLSHを実装する方法を簡単な言葉で説明してもらえますか?

0 投票する
4 に答える
21152 参照

python - 良いミンハッシュの実装を提案できますか?

仕事に活用できる minhash オープン ソース実装を探しています。

必要な機能は非常に単純です。セットを入力として指定すると、実装はそのミンハッシュを返す必要があります。

python または C の実装が優先されます。念のため、それをハックして動作させる必要がある場合に備えてです。

どんなポインタでも大いに役立ちます。

よろしく。

0 投票する
4 に答える
1342 参照

probability - ミンハッシュ計算の証明

2 つのセット間の類似性を推定する MinHash 手法について読んでいます。セット A と B が与えられた場合、h はハッシュ関数であり、hmin(S) はセット S の最小ハッシュです。つまり、hmin(S)=min(h(s(s) )) S の s に対して、次の方程式があります。

p(hmin(A)=hmin(B))=|A∩B| / |A∪B|

これは、A の最小ハッシュが B の最小ハッシュと等しい確率が、A と B の Jaccard 類似度であることを意味します。

私は上記の式を証明し、独自の証明を考え出そうとしています: a∈A と b∈B に対して、h(a)=hmin(A) と h(b)=hmin(B) となります。したがって、hmin(A)=hmin(B) の場合、h(a)=h(b) となります。ハッシュ関数 h がキーを個別のハッシュ値にハッシュできると仮定すると、a=b の場合にのみ h(a)=h(b) となり、その確率は |A∩B| になります。/ |A∪B|。ただし、ハッシュ関数は異なるキーに対して同じ値を返す可能性があるため、私の証明は完全ではありません。そこで、ハッシュ関数に関係なく適用できる証明を見つけるために、あなたの助けを求めています。

0 投票する
1 に答える
617 参照

hadoop - Mahout minhash org.apache.hadoop.io.LongWritable を org.apache.hadoop.io.Text にキャストできない

私は使っている :

hadoop-1.2.1 および mahout-distribution-0.8

次のコマンドで HASHMIN メソッドを実行しようとすると:

次のエラーが表示されます。

どんなアイデアでも感謝します