Ich habe einen Datensatz mit einer Tasche voller Wörter. Ich wähle zufällig einige Punkte aus und benutze sie zum Testen und die anderen werden zum Training verwendet.
- Fall (1) Ich nehme einfach jeden Datenpunkt aus dem Testsatz und klassifiziere ihn so, dass er dieselbe Klassenbezeichnung hat wie sein nächster Punkt aus dem Zugsatz.
- Fall (2) Ich mache die Klassifizierung mit einem bekannten überwachten Klassifikator.
In Fall (1) bekomme ich immer eine bessere Erkennungsrate. Das heißt, für diesen Datensatz (und andere) ist es besser, überhaupt nicht zu lernen, als überwachtes Lernen zu verwenden! Ist das eine häufige Situation?
Antworten:
Es ist nicht wahr, dass Sie nicht lernen. Sie verwenden den bekannten Klassifizierungsalgorithmus Nearest Neighbor (NN). Es ist wichtig zu wissen, dass Sie lernen, solange Sie die Zugdaten verwenden (auch wenn Sie einige Parameter nicht explizit berechnen) - und in diesem Fall verwenden Sie sie definitiv.
Es ist in Ordnung, dass es NN gut geht. In einigen Fällen kann dies jedoch ein Zeichen dafür sein, dass ein Problem mit Ihren Daten vorliegt. Dies kann passieren, wenn Ihre Daten nicht IID sind . In einigen Fällen können Ihre Daten beispielsweise exakte oder nahe Duplikate enthalten. In einem solchen Fall haben viele Instanzen im Testsatz einen engen Nachbarn im Zugsatz und Sie erhalten eine hohe Erfolgsquote, aber tatsächlich sind Sie überpassend, denn wenn Sie einen neuen Punkt ohne Duplikate erhalten, ist Ihre Leistung schlechter. In diesem Fall können Sie versuchen, Duplikate im Voraus zu entfernen oder die Zug- / Testsätze so zu erstellen, dass sich Duplikate (oder enge Cluster) im selben Satz befinden müssen. Es ist wichtig, sich die Daten anzusehen und zu verstehen, was los ist.
quelle