Woher wissen Sie, dass Ihr maschinelles Lernproblem hoffnungslos ist?

207

Stellen Sie sich ein Standard-Szenario für maschinelles Lernen vor:

Sie werden mit einem großen multivariaten Datensatz konfrontiert und haben ein ziemlich verschwommenes Verständnis davon. Was Sie tun müssen, ist, Vorhersagen über eine Variable zu treffen, die auf Ihren Vorstellungen basiert. Wie üblich bereinigen Sie die Daten, sehen sich beschreibende Statistiken an, führen einige Modelle aus, validieren sie gegenseitig usw., aber nach mehreren Versuchen, hin und her zu gehen und mehrere Modelle auszuprobieren, scheint nichts zu funktionieren und Ihre Ergebnisse sind miserabel. Sie können Stunden, Tage oder Wochen mit einem solchen Problem verbringen ...

Die Frage ist: wann aufhören? Woher wissen Sie , dass Ihre Daten tatsächlich hoffnungslos sind und alle ausgefallenen Modelle Ihnen nichts nützen würden, als das durchschnittliche Ergebnis für alle Fälle oder eine andere triviale Lösung vorherzusagen?

Natürlich ist dies eine Frage der Prognosefähigkeit, aber meines Wissens ist es schwierig, die Prognosefähigkeit für multivariate Daten zu beurteilen, bevor Sie etwas ausprobieren. Oder liege ich falsch?

Haftungsausschluss: Diese Frage wurde von dieser inspiriert. Wann muss ich aufhören, ein Modell zu suchen? das hat nicht viel aufmerksamkeit erregt. Es wäre schön, eine detaillierte Antwort auf diese Frage zu haben.

Tim
quelle
1
Dieses Problem kann praktisch (wie @StephanKolassa) oder absolut (eine Art Satz, der ein gegebenes Modell zeigt, kann ein Problem lernen, wenn bestimmte Bedingungen erfüllt sind) beantwortet werden. Welches möchtest du haben?
Superbest
3
Das klingt ähnlich wie das klassische Halteproblem der Informatik? Angenommen, Sie haben einen Algorithmus A von beliebiger Komplexität, der Eingabedaten D nach Vorhersagemodellen durchsucht, und der Algorithmus wird angehalten, wenn er ein "gutes" Modell für die Daten findet. Ohne eine signifikante Struktur für A und D hinzuzufügen, sehe ich nicht, wie Sie feststellen können, ob A bei Eingabe D jemals anhalten wird, wie Sie feststellen können, ob A irgendwann erfolgreich sein wird oder für immer weiter sucht.
Matthew Gunn
@Superbest es kann beides sein. Wenn Sie etwas hinzuzufügen haben, können Sie gerne antworten. Ich habe noch nie von einem Satz gehört, der etwas über den Umgang mit mehrdimensionalen verrauschten Daten aus dem echten Leben aussagt, aber wenn Sie einen zutreffenden kennen, wäre ich daran interessiert, Ihre Antwort zu lesen.
Tim
3
Basierend auf der Antwort von @ StephenKolassa lautet eine andere Frage, die Sie aus dieser Frage ableiten könnten: "An welchem ​​Punkt sollte ich meine Arbeit zurück zu den Fachexperten bringen und meine Ergebnisse (oder fehlende Ergebnisse) diskutieren?"
Robert de Graaf
Ebenfalls verwandtes Thema
Jan Kukacka

Antworten:

241

Prognostizierbarkeit

Sie haben Recht, dass dies eine Frage der Prognostizierbarkeit ist. Es gab ein paar Artikel über Vorhersagbarkeit in der Praktiker-orientierte Zeitschrift IIF Foresight . (Vollständige Offenlegung: Ich bin Associate Editor.)

Das Problem ist, dass die Prognostizierbarkeit in "einfachen" Fällen bereits schwer einzuschätzen ist.

Einige Beispiele

Angenommen, Sie haben eine Zeitreihe wie diese, sprechen aber kein Deutsch:

Eier

Wie würden Sie den großen Peak im April modellieren und wie würden Sie diese Informationen in Prognosen einbeziehen?

Wenn Sie nicht wüssten, dass es sich bei dieser Zeitreihe um den Verkauf von Eiern in einer Schweizer Supermarktkette handelt, der kurz vor Ostern im Westkalender seinen Höhepunkt erreicht , hätten Sie keine Chance. Da sich Ostern um bis zu sechs Wochen im Kalender bewegt, müssen alle Prognosen, die kein spezifisches Osterdatum enthalten, berücksichtigt werden. wäre wohl sehr dran.

Angenommen, Sie haben die blaue Linie unten und möchten das, was am 28.02.2010 passiert ist, anders modellieren als "normale" Muster am 27.02.2010:

Hockeyspiel

Ohne zu wissen, was passiert, wenn eine ganze Stadt voller Kanadier ein olympisches Eishockey-Endspiel im Fernsehen sieht, haben Sie keine Chance zu verstehen, was hier passiert ist, und Sie können nicht vorhersagen, wann sich so etwas wiederholen wird.

Schauen Sie sich zum Schluss Folgendes an:

Ausreißer

Dies ist eine Zeitreihe der täglichen Verkäufe in einem Cash & Carry- Geschäft. (Auf der rechten Seite haben Sie eine einfache Tabelle: 282 Tage hatten keinen Umsatz, 42 Tage hatten einen Umsatz von 1 ... und eines Tages einen Umsatz von 500.) Ich weiß nicht, um welchen Artikel es sich handelt.

Bis heute weiß ich nicht, was an diesem einen Tag mit einem Umsatz von 500 passiert ist. Ich vermute, dass ein Kunde eine große Menge des Produkts vorbestellt und abgeholt hat. Nun, ohne dies zu wissen, wird jede Vorhersage für diesen bestimmten Tag weit entfernt sein. Umgekehrt, nehmen wir an, dass dies kurz vor Ostern geschah und wir haben einen dummen intelligenten Algorithmus, der glaubt, dass dies ein Ostereffekt sein könnte (vielleicht sind das Eier?), Und prognostizieren glücklich 500 Einheiten für das nächste Ostern. Oh mein Gott, könnte das schief gehen?

Zusammenfassung

In allen Fällen sehen wir, wie die Prognosefähigkeit nur dann gut verstanden werden kann, wenn wir ein hinreichendes Verständnis der wahrscheinlichen Faktoren haben, die unsere Daten beeinflussen. Das Problem ist, dass wir, wenn wir diese Faktoren nicht kennen, nicht wissen, dass wir sie möglicherweise nicht kennen. Nach Donald Rumsfeld :

[T] hier sind bekannte bekannt; Es gibt Dinge, von denen wir wissen, dass wir sie kennen. Wir wissen auch, dass es bekannte Unbekannte gibt; Das heißt, wir wissen, dass es einige Dinge gibt, die wir nicht wissen. Es gibt aber auch unbekannte Unbekannte, die wir nicht kennen, die wir nicht kennen.

Wenn Ostern oder Kanadas Vorliebe für Hockey für uns unbekannte Unbekannte sind, stecken wir fest - und wir haben nicht einmal einen Ausweg, weil wir nicht wissen, welche Fragen wir stellen müssen.

Die einzige Möglichkeit, diese in den Griff zu bekommen, besteht darin, Domänenwissen zu sammeln.

Schlussfolgerungen

Daraus ziehe ich drei Schlussfolgerungen:

  1. Sie müssen immer Domänenwissen in Ihre Modellierung und Vorhersage einbeziehen.
  2. Selbst mit Domain-Kenntnissen erhalten Sie garantiert nicht genügend Informationen, damit Ihre Vorhersagen und Prognosen für den Benutzer akzeptabel sind. Sehen Sie diesen Ausreißer oben.
  3. Wenn "Ihre Ergebnisse miserabel sind", hoffen Sie möglicherweise auf mehr, als Sie erreichen können. Wenn Sie einen fairen Münzwurf prognostizieren, gibt es keine Möglichkeit, eine Genauigkeit von über 50% zu erreichen. Vertrauen Sie auch keinen externen Richtwerten für die Prognosegenauigkeit.

Die Quintessenz

Folgendes würde ich empfehlen, um Modelle zu bauen - und zu bemerken, wann man aufhören sollte:

  1. Sprechen Sie mit jemandem mit Domain-Kenntnissen, wenn Sie es noch nicht selbst haben.
  2. Identifizieren Sie die Haupttreiber der Daten, die Sie prognostizieren möchten, einschließlich der wahrscheinlichen Interaktionen, basierend auf Schritt 1.
  3. Erstellen Sie Modelle iterativ, einschließlich der Treiber in absteigender Reihenfolge der Stärke, wie in Schritt 2 beschrieben. Bewerten Sie die Modelle mithilfe einer Kreuzvalidierung oder anhand eines Holdout-Beispiels.
  4. Wenn sich Ihre Vorhersagegenauigkeit nicht weiter erhöht, kehren Sie entweder zu Schritt 1 zurück (z. B. indem Sie offensichtliche Fehleinschätzungen identifizieren, die Sie nicht erklären können, und diese mit dem Domain-Experten besprechen) oder akzeptieren, dass Sie das Ende Ihrer Vorhersagen erreicht haben Fähigkeiten der Modelle. Time-Boxing Ihrer Analyse im Voraus hilft.

Beachten Sie, dass ich es nicht befürworte, verschiedene Klassen von Modellen auszuprobieren, wenn Ihr ursprüngliches Modell Plateaus aufweist. Wenn Sie mit einem vernünftigen Modell angefangen haben, bringt die Verwendung eines anspruchsvolleren Modells in der Regel keinen großen Vorteil und kann einfach zu einer "Überanpassung des Test-Sets" führen. Ich habe das oft gesehen und andere Leute stimmen dem zu .

Stephan Kolassa
quelle
10
+1 für eine wunderbare Antwort, der ich voll und ganz zustimme. Ich akzeptiere es (noch) nicht, da ich immer noch auf andere Antworten hoffe, da das Problem weit gefasst ist.
Tim
1
Sicher. Ich würde gerne auch die Perspektive eines anderen sehen!
Stephan Kolassa
9
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.. Du hast dort alles gesagt.
Walfrat
3
Mithilfe von Domänenwissen können Sie den ersten beiden Fällen neue Funktionen hinzufügen (z. B. Zeit bis Ostern und TV-Anzeigenummern, wobei letztere eine eigene Vorhersage erfordern), um wesentlich bessere Ergebnisse zu erzielen. In keinem Fall ist die Situation aussichtslos. Der wirklich interessante Teil ist, wie man fehlendes Domain-Wissen aus einem Datensatz von fairen Münzwürfen erkennt.
Karolis Juodelė
4
@ KarolisJuodelė: das ist genau mein punkt. Wir können nicht einmal wissen, wann unsere Situation hoffnungslos ist, es sei denn, wir sprechen mit einem Experten ... und dann kann uns der Experte manchmal auch nicht helfen, und es gibt "unbekannte Unbekannte" für die Experten, die möglicherweise jemand anderes könnte kennt.
Stephan Kolassa
57

Die Antwort von Stephan Kolassa ist ausgezeichnet, aber ich möchte hinzufügen, dass es auch oft eine wirtschaftliche Stoppbedingung gibt:

  1. Wenn Sie ML für einen Kunden und nicht zum Spaß machen, sollten Sie sich ansehen, wie viel Geld der Kunde bereit ist, auszugeben. Wenn er Ihrer Firma 5.000 € zahlt und Sie einen Monat lang nach einem Modell suchen, verlieren Sie Geld. Klingt trivial, aber ich habe gesehen, "es muss eine Lösung geben !!!!" - Denken, das zu enormen Kostenüberschreitungen führte. Also hören Sie auf, wenn das Geld ausgeht, und teilen Sie das Problem Ihrem Kunden mit.
  2. Wenn Sie etwas gearbeitet haben, haben Sie oft das Gefühl, was mit dem aktuellen Datensatz möglich ist. Versuchen Sie, dies auf die Menge an Geld anzuwenden, die Sie mit dem Modell verdienen können. Wenn die Menge unbedeutend oder negativ ist (z. B. aufgrund der Zeit zum Sammeln von Daten, Entwickeln einer Lösung usw.), sollten Sie aufhören.

Als Beispiel: Wir hatten einen Kunden, der vorhersagen wollte, wann seine Maschinen ausfallen. Wir analysierten vorhandene Daten und stellten im Wesentlichen Lärm fest. Wir haben uns eingehend mit dem Prozess befasst und festgestellt, dass die wichtigsten Daten nicht erfasst wurden und nur sehr schwer zu erfassen sind. Aber ohne diese Daten war unser Modell so arm, dass niemand es benutzt hätte und es wurde in Dosen aufbewahrt.

Während ich mich bei der Arbeit an einem kommerziellen Produkt auf die Wirtschaftlichkeit konzentrierte, gilt diese Regel auch für Hochschulen oder für Spaßprojekte - während Geld unter solchen Umständen weniger wichtig ist, ist Zeit immer noch ein seltenes Gut. Z.B. Im akademischen Bereich sollten Sie aufhören zu arbeiten, wenn Sie keine greifbaren Ergebnisse erzielen und wenn Sie andere, vielversprechendere Projekte haben, die Sie tun könnten. Aber lass das Projekt nicht fallen - bitte veröffentliche auch null oder "brauche mehr / andere Daten" Ergebnisse, sie sind auch wichtig!

Christian Sauer
quelle
1
+1 definitiv ein toller Punkt! Ich denke, alle Antworten auf diese Frage scheinen "offensichtlich" zu sein, aber ich habe all diese "offensichtlichen" Dinge, die als Referenz gesammelt wurden, nirgends gesehen.
Tim
3
Übrigens gilt diese Abbruchregel auch für nicht geschäftliche Fälle: Wenn Sie beispielsweise Nachforschungen anstellen, haben unsere Ergebnisse auch einen abstrakten Wert, und eine fortgesetzte "hoffnungslose" Analyse ist nur dann sinnvoll, wenn der Wert Ihrer Analyse Ihren Wert übersteigt hätte stattdessen tun können. Tatsächlich kann dieses entscheidungstheoretische Argument verallgemeinert werden.
Tim
2
Ich denke, "niemand hätte es benutzt und wurde konserviert" sollte wahrscheinlich geändert werden in "niemand hätte es benutzt und es wurde konserviert" - war das Ihre beabsichtigte Bedeutung?
Silverfish
2
Vielen Dank. Ich würde sagen, es geht nicht nur um die Zeit, sondern auch darum, dass man die Zeit anders investieren könnte . Sie könnten stattdessen an einem Forschungsprojekt für ein anderes lebensrettendes Medikament arbeiten, mit dem Sie Ihre Zeit sparen würden, aber auch die Öffentlichkeit wird von den Ergebnissen usw. profitieren.
Tim
2
@ChristianSauer Nach meiner Erfahrung als Ingenieur geht das Problem einer Nichtübereinstimmung zwischen Sensoren (siehe Anzeigen) und einem nützlichen Zweck wahrscheinlich der Erfindung des Transistors voraus.
Robert de Graaf
9

Es geht auch anders. Frag dich selbst -

  1. Wer oder was macht die bestmöglichen Vorhersagen für diese bestimmte Variable? "
  2. Erzielt mein Algorithmus für maschinelles Lernen bessere oder schlechtere Ergebnisse als die besten Prognosen?

Wenn Sie zum Beispiel eine große Anzahl von Variablen mit verschiedenen Fußballmannschaften in Verbindung gebracht haben und vorhersagen wollten, wer gewinnen würde, könnten Sie sich Buchmacherquoten oder eine Art Crowd-Sourcing-Vorhersage ansehen, um sie mit den Ergebnissen Ihres maschinellen Lernens zu vergleichen Algorithmus. Wenn Sie besser sind, sind Sie vielleicht am Limit. Wenn es schlechter ist, gibt es natürlich Raum für Verbesserungen.

Ihre Fähigkeit zur Verbesserung hängt (weitgehend) von zwei Dingen ab:

  1. Verwenden Sie für diese bestimmte Aufgabe dieselben Daten wie der beste Experte?
  2. Nutzen Sie die Daten so effektiv wie der beste Experte für diese spezielle Aufgabe?

Es hängt genau davon ab, was ich zu tun versuche, aber ich tendiere dazu, die Antworten auf diese Fragen zu verwenden, um die Richtung zu bestimmen, in die ich beim Erstellen eines Modells gehe, insbesondere, ob ich versuchen soll, mehr Daten zu extrahieren, die ich verwenden oder auf die ich mich konzentrieren kann versuchen, das Modell zu verfeinern.

Ich stimme Stephan zu, dass dies normalerweise am besten durch die Befragung eines Domain-Experten möglich ist.

Gavin Potter
quelle
1
Tatsächlich widerspricht Ihre Antwort der Antwort von @StephanKolassa, in der er sich auf Literatur bezieht, die besagt, dass Prognose-Benchmarks eher irreführend sind.
Tim
1
@Tim: vollständige Offenlegung - dieser Link führte zu einem Artikel über Benchmarks, den ich selbst geschrieben habe. Trotzdem halte ich an meinen Schlussfolgerungen fest: Bei allen Benchmarks für die Genauigkeit der Nachfrageprognose, die ich gesehen habe, werden wahrscheinlich Äpfel mit Orangen verglichen. Ich bin daher etwas skeptisch gegenüber externen Benchmarks. Darüber hinaus denke ich, dass diese Antwort etwas die Frage aufwirft. Wenn sich Ihr ML-Algorithmus gegenüber dem "bekanntesten" verbessert hat, woher wissen Sie, ob Sie ihn weiter verbessern können oder ob wir das Plateau der Hoffnungslosigkeit erreicht haben?
Stephan Kolassa
1
Mein letzter Anwendungsfall war etwas anders. Ich habe versucht vorherzusagen, wer in Gefahr ist, sich aufgrund seiner Beiträge im Internet umzubringen. Es gibt verschiedene psychometrische Tests, mit denen man den Schweregrad einer Depression messen kann, wie z. B. den PHQ9. Da es sich um einen weit verbreiteten medizinischen Test handelt, wird seine Gültigkeit und Zuverlässigkeit in erheblichem Maße untersucht, wie zum Beispiel "Die PHQ-9-Gültigkeit einer Messung des Schweregrads einer kurzen Depression". Ich fand, dass die Zuverlässigkeit und andere Maßnahmen in diesem Artikel ein guter Ausgangspunkt für die wahrscheinlichen Ergebnisse sind, die durch maschinelles Lernen erzielt werden können.
Gavin Potter
1
Sie haben natürlich Recht damit, das "Bekannteste" zu verbessern. Es gibt keine Möglichkeit zu entscheiden, ob Sie weiterhin nach einem besseren Modell suchen sollen. Aber meiner Erfahrung nach ist dies in einer realen Situation ziemlich selten. Die meiste Arbeit, die ich mache, scheint darin zu bestehen, Expertenurteile in großem Maßstab durch maschinelles Lernen anzuwenden, ohne zu versuchen, den besten Experten auf diesem Gebiet zu verbessern.
Gavin Potter