Erwartete bestmögliche Leistung für einen Datensatz

9

Angenommen, ich habe ein einfaches Problem mit maschinellem Lernen wie eine Klassifizierung. Mit einigen Maßstäben in Bezug auf Vision oder Audioerkennung bin ich als Mensch ein sehr guter Klassifikator. Ich habe daher eine Vorstellung davon, wie gut ein Klassifikator werden kann.

Bei vielen Daten ist ein Punkt, dass ich nicht weiß, wie gut der von mir trainierte Klassifikator sein kann. Dies sind Daten, bei denen ich persönlich kein sehr guter Klassifikator bin (z. B. die Stimmung einer Person anhand von EEG-Daten klassifizieren). Es ist nicht wirklich möglich, eine Vorstellung davon zu bekommen, wie schwer mein Problem ist.

Wenn ich nun mit einem Problem des maschinellen Lernens konfrontiert werde, möchte ich herausfinden, wie gut ich werden kann. Gibt es hierfür prinzipielle Ansätze? Wie würdest du das machen?

Daten visualisieren? Mit einfachen Modellen beginnen? Beginnen Sie mit sehr komplexen Modellen und sehen Sie, ob ich überanpassen kann? Was suchen Sie, wenn Sie diese Frage beantworten möchten? Wann hörst du auf es zu versuchen?

bayerj
quelle

Antworten:

6

Ich weiß nicht, ob dies als Antwort zählt ...

Dies ist das einzige Problem, das Sie nachts wach hält. Können Sie ein besseres Modell bauen? Phd-Comics fasst es gut zusammen (ich weiß nicht, ob ich die Comics hochladen darf, also habe ich sie einfach verlinkt)

Aus meiner persönlichen Erfahrung, die ich durch die Teilnahme an Wettbewerben für maschinelles Lernen gewonnen habe, gilt hier eine Faustregel.

Stellen Sie sich vor, Sie erhalten eine Klassifizierungsaufgabe. Setzen Sie sich, überlegen Sie sich eine Stunde oder weniger, wie Sie das Problem angehen, und informieren Sie sich über den Stand der Technik in diesem Bereich. Erstellen Sie ein Modell, das auf dieser Forschung basiert, vorzugsweise eines, von dem bekannt ist, dass es ohne zu viele Parameteranpassungen stabil ist. Die resultierende Leistung wird ungefähr 80% der maximal erreichbaren Leistung betragen.

Diese Regel basiert auf dem sogenannten Pareto-Prinzip , das auch für die Optimierung gilt. Wenn ein Problem vorliegt, können Sie eine Lösung erstellen, die schnell eine angemessene Leistung erbringt. Ab diesem Zeitpunkt sinkt das Verhältnis von Verbesserung zu Zeitaufwand jedoch schnell.

Einige abschließende Worte: Wenn ich Artikel über neue Klassifizierungsalgorithmen lese, erwarte ich von den Autoren, dass sie ihre neue Rasse mit solchen "pareto-optimierten" Ansätzen vergleichen, dh ich erwarte, dass sie eine angemessene Zeit aufwenden, um den Stand der Technik zu schaffen (Einige erfordern mehr oder weniger Parameteroptimierung). Leider machen das viele nicht.

steffen
quelle
0

Der herkömmliche Weg besteht darin, die Republik China und den Bereich darunter (AUC) zu berücksichtigen . Der Grund für diesen Ansatz ist, dass der Klassifikator umso besser ist, je höher die wahre positive Rate für eine bestimmte falsche positive Rate ist. Durch die Integration aller möglichen falsch positiven Raten erhalten Sie ein Gesamtmaß.

Emre
quelle
3
Soweit ich das OP verstanden habe, geht es ihm NICHT um die Messung der Leistung eines Klassifikators (was hoffentlich eine gute Schätzung für die zukünftig erwartete Leistung ist), sondern darum, wie gut man überhaupt werden kann, dh was ist das Maximum (nicht absolut) pro metrik (AUC ist 1 bei max oder so ähnlich), aber für ein gegebenes Problem)
steffen
Ja das ist, was ich meinte.
Bayerj
0

Wenn Sie Ihre Daten auf irgendeine Weise visualisieren können, ist dies das bestmögliche Szenario. Es können jedoch nicht alle Daten auf dieselbe Weise visualisiert werden. Daher müssen Sie möglicherweise einen eigenen Weg finden, um die Daten zu projizieren, die Ihnen beim Verständnis Ihrer Daten helfen können besser.

Im Allgemeinen nehme ich jedoch normalerweise eine kleine Stichprobe der Daten, konvertiere sie in ARFF und probiere verschiedene Clustering-Algorithmen von WEKA aus. Dann sehe ich nur, welcher Algorithmus mir eine bessere Verwirrungsmatrix gibt. Es gibt mir einen Hinweis darauf, wie gut die Klassen getrennt sind, und ermöglicht mir zu untersuchen, warum dieser bestimmte Algorithmus für diese Daten besser geeignet ist. Ich ändere auch die Anzahl der Cluster (dh ich benutze nicht nur k = 2, ich benutze k = 3, 4 usw.). Es gibt mir eine Vorstellung davon, ob die Daten fragmentiert sind oder ob eine Klasse stärker fragmentiert ist als die andere. Wenn Sie Trainings- und Testpunkte für das Clustering miteinander mischen, können Sie auch messen, welche Cluster durch Ihre Trainingspunkte dargestellt werden. Einige Cluster sind möglicherweise überrepräsentiert und andere unterrepräsentiert. Beide können Probleme beim Erlernen eines Klassifikators verursachen.

Überprüfen Sie immer Ihre Trainingsgenauigkeit. Wenn Ihre Trainingsgenauigkeit nicht gut aussieht, sind falsch klassifizierte Trainingspunkte ebenfalls ein großer Hinweis.

TenaliRaman
quelle