Angenommen, ich habe fünf Gruppen, die ich gruppieren möchte. Ich verstehe, dass die hier beschriebene SimHashing-Technik:
https://moultano.wordpress.com/2010/01/21/simple-simhashing-3kbzhsxyg4467-6/
ergeben könnte drei Cluster ( {A}
, {B,C,D}
und {E}
), zum Beispiel, wenn seine Ergebnisse sind:
A -> h01
B -> h02
C -> h02
D -> h02
E -> h03
Ebenso die in Kapitel 3 des MMDS-Buches beschriebene MinHashing-Technik:
http://infolab.stanford.edu/~ullman/mmds/ch3.pdf
könnten auch die gleichen drei Cluster ergeben, wenn die Ergebnisse wären:
A -> h01 - h02 - h03
B -> h04 - h05 - h06
|
C -> h04 - h07 - h08
|
D -> h09 - h10 - h08
E -> h11 - h12 - h13
(Jeder Satz entspricht einer MH-Signatur, die aus drei "Bändern" besteht, und zwei Sätze werden gruppiert, wenn mindestens eines ihrer Signaturbänder übereinstimmt. Mehr Bänder bedeuten mehr Übereinstimmungschancen.)
Ich habe jedoch einige Fragen im Zusammenhang mit diesen:
(1) Kann SH als Einzelbandversion von MH verstanden werden?
(2) Bedeutet MH notwendigerweise die Verwendung einer Datenstruktur wie Union-Find zum Aufbau der Cluster?
(3) Habe ich Recht, wenn ich denke, dass die Cluster in beiden Techniken tatsächlich "Vor-Cluster" sind, in dem Sinne, dass sie nur Mengen von "Kandidatenpaaren" sind?
(4) Wenn (3) wahr ist, muss ich dann noch eine -Suche in jedem "Pre-Cluster" durchführen, um sie weiter in "echte" Cluster zu unterteilen? (Das könnte vernünftig sein, wenn ich viele kleine und ziemlich ausgeglichene Vor-Cluster habe, sonst nicht so sehr)
quelle