kNN Dimensionen

Moderator: Web Mining

levitin
Kernelcompilierer
Kernelcompilierer
Beiträge: 435
Registriert: 7. Okt 2007 15:36
Wohnort: Darmstadt

kNN Dimensionen

Beitrag von levitin »

man bildet einen Vektorraum, wobei die Dimensionen eine Konjunktion von allen Wörter aus den Trainingsdokumenten sind.
Wie geht man vor, wenn ein Testdokument ein neues Wort beinhalten, das in gar keinem Trainingsdokument vorhanden wurde.

Eine Lösung wäre es den VektorRaum um eine neue Dimension zu erweitern und die Koordinaten jedes Dokumentes neue zu berechnen, denn es sich IDF(t) ändern würde. Sieht jemand vielleicht eine effizientere Lösung?

Benutzeravatar
Patr0rc
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 260
Registriert: 8. Feb 2008 11:43

Re: kNN Dimensionen

Beitrag von Patr0rc »

Effizientere Lösung: Weglassen des neuen Wortes?! Wenn du dein Vokabular aus den Termen der Trainingsdokumente bekommst (und damit die Dimension des Vektorraums), dann ist dein Vokabular doch fest, oder was sehe ich falsch? Es sagt natürlich niemand, dass es toll ist, wenn man sich dann nicht noch an neue Terme/Gegebenheiten anpasst...

levitin
Kernelcompilierer
Kernelcompilierer
Beiträge: 435
Registriert: 7. Okt 2007 15:36
Wohnort: Darmstadt

Re: kNN Dimensionen

Beitrag von levitin »

die gleiche Frage wurde auch in der Klausur 2008 4a gestellt. Was wäre denn hier die richtige Antwort, denn eigentich es mehrere Möglichkeiten gibt.

hier ist noch mal die Frage:
Der Term-Frequency-Vector eines Dokumentes bezieht sich auf eine bestimmte Termmenge. In die Termmenge sollte man nur Wörter aufnehmen, die vorkommen in:
1) der Trainingsmenge
2) der Testmenge
3) Trainingsmenge und in der Testmenge
4) keine der beiden Mengen

- wenn man ein Obervokabular nimmt (500000 Wörter aus Duden incl. Feature Engineering-Tricks), kann man ruhig nur die 4 ankreuzen. Der Klassifikator wird wunderbar funktionieren.

- wenn man ausschließlich mit einer festen Anzahl an Dokumenten arbeitet (wie bei uns in der Hausübung) wäre es vollkommen richtig nur die 3 anzukreuzen.

- auch wenn man nur die 1 angekreuzt hätte, wäre man auch nicht falsch, denn das ist genau was Patr0rc vorgeschlagen hat. Die Genauigkeit ist niedriger, aber es funktioniert auch ziemlich gut

- nur bei der 2 wäre man definitiv falsch, obwohl vielleicht auch nicht, denn man (je nach Aufgabe) auch daraus viele nützliche Informationen gewinnen kann.

Antworten

Zurück zu „Web Mining“