Was ist, wenn die Validierungsgenauigkeit hoch und die Testgenauigkeit in der Forschung niedrig ist?

15

Ich habe eine spezielle Frage zur Validierung in der maschinellen Lernforschung.

Wie wir wissen, fordert das Regime des maschinellen Lernens die Forscher auf, ihre Modelle anhand der Trainingsdaten zu trainieren, anhand des Validierungssatzes aus den Kandidatenmodellen auszuwählen und die Genauigkeit des Testsatzes zu melden. In einer sehr strengen Studie kann der Testsatz nur einmal verwendet werden. Es kann jedoch niemals das Forschungsszenario sein, da wir unsere Leistung verbessern müssen, bis die Testgenauigkeit besser ist als die neuesten Ergebnisse, bevor wir einen Artikel veröffentlichen (oder sogar einreichen) können.

Jetzt kommt das Problem. Nehmen wir an, 50% sind das modernste Ergebnis, und mein Modell erreicht im Allgemeinen eine Genauigkeit von 50 bis 51, was im Durchschnitt besser ist.

Meine beste Validierungsgenauigkeit (52%) ergibt jedoch eine sehr niedrige Testgenauigkeit, z. B. 49%. Dann muss ich 49% als meine Gesamtleistung angeben, wenn ich die Validierung nach meinem Dafürhalten nicht weiter verbessern kann. Dies hindert mich wirklich daran, das Problem zu untersuchen, aber es ist für meine Kollegen nicht wichtig, da sie die 52% acc nicht sehen, was ich für einen Ausreißer halte.

Also, wie machen die Leute normalerweise in ihrer Forschung?

Die ps k-fache Validierung ist keine Hilfe, da die gleiche Situation immer noch auftreten kann.

Mou
quelle

Antworten:

9

Per Definition haben Sie ein Überanpassungsmodell , wenn die Trainingsgenauigkeit (oder welche Metrik Sie auch immer verwenden) höher ist als Ihre Tests . Im Wesentlichen verfügt Ihr Modell über Informationen, die dazu beitragen, dass Ihre Trainingsdaten eine bessere Leistung erbringen, die für die größere Datenpopulation nicht zutreffen und daher zu einer schlechteren Leistung führen.

Ich bin mir nicht sicher, warum Sie sagen, dass eine k-fache Validierung nicht hilfreich wäre. Es soll helfen, eine Überanpassung Ihrer Modelle zu vermeiden. Vielleicht haben Sie nicht genug Daten? Eine solche Aussage ist wichtig, insbesondere wenn Sie Untersuchungen verteidigen wollen, für die solche Kreuzvalidierungsmethoden dringend empfohlen werden.

Sie sagen, Sie können das Test-Set nicht nur einmal verwenden (wieder nehme ich eine kleinere Stichprobengröße an?). Nach meiner Erfahrung ist der häufigste Weg die k-fache Kreuzvalidierung Ihres Modells. Nehmen wir ein Beispiel mit 10-fachem CV für eine Stichprobengröße von 100 und nehmen an, dass Ihr Klassifizierungsproblem binär ist, um die Berechnungen zu vereinfachen. Ich habe meine Daten daher in 10 verschiedene Faltungen aufgeteilt . Ich passe mein Modell dann auf 9/10 Falten an und sage dann das 1/10 voraus, das ich ausgelassen habe. Für diesen ersten Durchlauf lautet die resultierende Verwirrungsmatrix:

    0  1
0   4  1
1   2  3

Ich wiederhole diese Analyse dann noch einmal mit der nächsten 1/10 Auslassung und trainiere die anderen 9/10. Und hol meine nächste Verwirrungsmatrix. Nach Abschluss habe ich 10 Verwirrungsmatrizen. Ich würde dann diese Matrizen summieren (also alle 100 Proben vorhergesagt haben) und dann meine Statistiken (Genauigkeit, PPV, F1-Score, Kappa usw.) melden. Wenn Ihre Genauigkeit nicht dort ist, wo Sie sie haben möchten, gibt es viele andere Möglichkeiten.

  1. Ihr Modell muss verbessert werden (Parameter ändern)
  2. Möglicherweise müssen Sie einen anderen Algorithmus für maschinelles Lernen ausprobieren (nicht alle Algorithmen sind gleich).
  3. Sie benötigen mehr Daten (subtile Beziehung schwer zu finden)
  4. Möglicherweise müssen Sie versuchen, Ihre Daten zu transformieren (abhängig vom verwendeten Algorithmus).
  5. Möglicherweise besteht keine Beziehung zwischen Ihren abhängigen und unabhängigen Variablen

Tatsache ist, dass eine niedrigere Testmetrik (z. B. Genauigkeit) als Ihr Training darauf hindeutet, dass Ihr Modell überarbeitet wird, und nicht darauf, dass Sie versuchen, ein neues Vorhersagemodell zu erstellen.

cdeterman
quelle
Vielen Dank für Ihre Antwort. Was mich betrifft, ist die maschinelle Lernforschung für Veröffentlichungen, anstatt maschinelle Lerntechniken anzuwenden. Oftmals bieten Benchmarks die Standardaufteilung von Schulungs-, Validierungs- und Testsätzen. Darüber hinaus wird durch k-fach nur die Varianz verringert. Ich kann immer noch auf die Situation stoßen, in der meine (gemittelte) Validierung gem. ist hoch aber der Test gem. ist niedrig.
Mou
Es ist manchmal lustig, dass ich, wenn ich mein Modell ein wenig neu entwerfe, den Ausreißer einfach ignorieren kann, weil sich mein Modell (und damit die Hypothesenklasse) ändert. Dies funktioniert jedoch nicht für die Optimierung von Hyperparametern, da wir ein Modell aus der Hypothese auswählen Klasse. In der Tat haben wir Forscher eine unbestimmte Hypothesenklasse - wir versuchen, was immer wir wollen. Das stört mich wirklich während der Recherche, da der Genauigkeitsunterschied oft sehr gering ist, sagen wir 0,1%.
Mou
@Mou, ich schätze, ich bin mir noch ein bisschen unsicher, was deine Hauptfrage ist. Es scheint mehrere Fragen zu geben. Der Umgang mit Ausreißern ist ein anderes Thema. Versuchen Sie, Parameter zu optimieren oder ein endgültiges Modell zu evaluieren? Dies mag für ein anderes Gebiet spezifisch sein, aber Änderungen von 0,1% sind ziemlich unbedeutend. Sie können entweder die in meiner Antwort aufgeführten Optionen verfolgen oder akzeptieren, dass Sie nur so viel aus dem aktuellen Modell und den Daten herausholen können. Das Modell scheint immer noch (wenn auch leicht) überarbeitet zu sein.
Cdeterman
Ich stimme mit Ihnen ein. Ich muss akzeptieren, dass mein Modell nicht so gut ist. Aber vor einigen Tagen, als der hohe Lebenslauf gem. + niedriger Test gem. Ich bin nicht auf meinen Bildschirm gesprungen, mein Modell war das beste der Welt. Jetzt ist es nicht, obwohl ich nichts geändert habe. Darüber hinaus habe ich keine Hoffnung, 52% in Bezug auf den Lebenslauf zu übertreffen, was meiner Forschung schadet, aber meine Kollegen brauchen sich darüber keine Sorgen zu machen.
Mou
Sie müssen etwas geändert haben, damit sich die Zahlen ändern, oder es gibt eine Zufallsauswahl, die Sie nicht festgelegt haben seed, um die Reproduzierbarkeit zu berücksichtigen. Ich vermute, dass Ihre Lebenslauf-Prozedur eine gewisse Randomisierung aufweist, die bei Wiederholung zu leicht unterschiedlichen Ergebnissen führen kann (dies ist jedoch nur eine Vermutung). Ich schlage wirklich vor, dass Sie einige andere Modelle oder Datenumwandlungen ausprobieren, um zu versuchen, Ihre Leistung zu verbessern.
Cdeterman