2016-05-30 6 views
0

Ich weiß, dass feature hashing eine Technik ist, um Features zu vektorisieren; Es ist sehr häufig für Machine Learning-Zwecke. Ich bin immer noch verwirrt, wie es funktioniert, wenn Sie die Term-Frequenz bei Kollisionen verfolgen wollen. Lassen Sie uns dem gleichen Beispiel folgen, das Luis Argerich in this Link gegeben hat.Feature Hashing

Angenommen, Ihr Text lautet: „Der schnelle braune Fuchs“ und nehmen wir an, Sie die nächste Hash-Funktion haben:

h(the) mod 5 = 0 
h(quick) mod 5 = 1 
h(brown) mod 5 = 1 
h(fox) mod 5 = 3 

Ihre letzte Vektor sein wird: (1,2,0,1,0)

Nun nehmen wir an, Ihr Text: „der schnelle braune Fuchs schnell schnell schnell schnell“ die endgültige Vektor wird nun wie: (1,6,0,1,0)

Meine Frage ist, wie erkenne ich, dass braun nur einmal und schnell 5 mal erscheint? Wie kann ich das verfolgen?

+0

Das ist verwirrend für mich. Wenn Sie versuchen, mit der Frequenz TF-IDF mit Feature-Hashing umzugehen, ist möglicherweise der Weg zu gehen. Das ist ML Site auf SO. – Paparazzi

Antwort

2

Meine Frage ist, wie erkenne ich, dass braun erscheint nur einmal und schnell erscheint 5 mal? Wie kann ich das verfolgen?

Sie nicht. Das ist der ganze Trick mit Hashing. Es vereinheitlicht etwas, Verluste Informationen, damit Sie andere Vorteile erhalten können. Wenn Sie den Überblick behalten wollen, sollten Sie einfach Beutel mit Wörtern verwenden, nicht Hashing. Die andere Option ist ein komplexerer Ansatz für Hashing, wie der in LSH-Techniken verwendete, der eine Familie von Hash-Funktionen zur Rekonstruktion der endgültigen Ähnlichkeit verwendet, indem er zeigt, dass genügend große Stichproben von Hash-Funktionen vorhanden sind.