Zeichenfolgeneingaben beim maschinellen Lernen

8

Einige gängige Algorithmen für maschinelles Lernen wie die logistische Regression oder neuronale Netze erfordern numerische Eingaben.

Was mich interessiert, ist, wie Sie diese Algorithmen für nicht numerische Eingaben (wie kurze Zeichenfolgen) verwenden.

Angenommen, wir erstellen ein E-Mail-Klassifizierungssystem (Spam / kein Spam), bei dem eine der Eingabefunktionen die Absenderadresse ist.

Um einen Lernalgorithmus verwenden zu können, müssen wir die Absenderadresse als Zahl darstellen. Eine Möglichkeit besteht darin, einfach die Absender 1..n zu nummerieren. Unser Trainingsset könnte dann so aussehen:

Eingaben für maschinelles Lernen

Dies funktioniert jedoch nicht, da Algorithmen wie die logistische Regression oder neuronale Netze Muster in den Eingabedaten lernen, während in unserem Beispiel die Ausgabe für den Algorithmus völlig zufällig aussieht. In der Tat haben wir in einer Universitätsklasse versucht, ein neuronales Netzwerk auf einem Datensatz zu trainieren, der so aussah, und das Netzwerk konnte nichts lernen (die Lernkurve war flach).

Würden Sie in diesem Beispiel überhaupt logistische Regression oder neuronale Netze verwenden? Wenn ja, auf welche Weise? Wenn nicht, wie lassen sich E-Mails anhand der Absenderadresse klassifizieren?

Eine perfekte Antwort würde das Beispiel der E-Mail-Klassifizierung sowie den Umgang mit kurzen Zeichenfolgen in ML im Allgemeinen diskutieren.

Martin Konicek
quelle

Antworten:

4

Eines der beliebtesten Modelle ist das Bag of Words-Modell

Sie können die Wörter auch als Ganzzahlen modellieren. Sie haben dafür 'relative Abstandsmetriken' und erfassen die Essenz des Klassifizierungsprozesses. Ein Nachteil dabei ist jedoch, dass der Vorverarbeitungsschritt teuer ist und Sie über einige Domänenkenntnisse verfügen müssen .

d(weinlk,teinlk)<d(weinlk,plÖd)

Die Metriken hängen vom Kontext des Klassifizierungsprozesses ab. Beispielsweise unterscheidet sich Ihre Entfernungsmetrik zum Klassifizieren von Reimwörtern von der Metrik zum Klassifizieren von Synonymen / Wörtern mit ähnlichen Bedeutungen. Eine Liste der String-Metriken finden Sie in diesem Wikipedia-Artikel .

Sie können sich auch dieses Übersichtsartikel ansehen .

Subhayan
quelle