Ist automatisiertes maschinelles Lernen ein Traum?


12

Wenn ich maschinelles Lernen entdecke, sehe ich verschiedene interessante Techniken wie:

  • automatisch tune Algorithmen mit Techniken wie grid search,
  • Erhalten Sie genauere Ergebnisse durch die Kombination verschiedener Algorithmen desselben "Typs" boosting.
  • Erhalten Sie genauere Ergebnisse durch die Kombination verschiedener Algorithmen (aber nicht derselben Art von Algorithmen) stacking.
  • und wahrscheinlich noch viel mehr muss ich entdecken ...

Meine Frage lautet wie folgt: Es gibt all diese Teile. Aber ist es möglich, sie zu einem Algorithmus zusammenzufassen, der als Eingabe gereinigte Daten verwendet und gute Ergebnisse liefert, indem das Beste aus allen Techniken herausgeholt wird? (Natürlich ist es wahrscheinlich weniger effizient als ein professioneller Datenwissenschaftler, aber er ist besser als ich!) Wenn ja, haben Sie Beispielcodes oder kennen Frameworks, die das können?

BEARBEITEN: Nach einigen Antworten scheint es, dass eine Verengung vorgenommen werden muss. Nehmen wir ein Beispiel, wir haben eine Spalte mit kategorialen Daten, nennen ywir sie und möchten sie anhand numerischer Daten vorhersagen X, die entweder Dummies oder reale numerische Daten (Höhe, Temperatur) sind. Wir gehen davon aus, dass die Reinigung zuvor durchgeführt wurde. Gibt es einen Algorithmus, der solche Daten aufnehmen und eine Vorhersage ausgeben kann? (durch Testen mehrerer Algorithmen, Optimieren, Boosten usw.) Wenn ja, ist es recheneffizient (werden die Berechnungen in einer angemessenen Zeit ausgeführt, wenn wir sie mit normalen Algorithmen vergleichen), und haben Sie ein Codebeispiel?


1
Wahrscheinlich erst, wenn es eine starke KI gibt.
gung - Reinstate Monica

1
In Bezug auf die automatische Optimierung sind Sie möglicherweise an Informationen zur Hyperparametersuche im maschinellen Lernen interessiert . Die Rastersuche ist eine schreckliche Möglichkeit, Hyperparameter zu optimieren.
Marc Claesen

2
Sie Sie haben so viel verwenden Formatierung ?
Sycorax sagt Reinstate Monica

2
Es gibt Produkte, die behaupten, dass sie das tun, was Sie beschreiben, z . B. Crystal Ball . Ich persönlich vertraue ihnen nicht, aber wie Sie geschrieben haben: Sie machen den Job besser als jemand, der keine Ahnung von Statistiken hat
Aksakal

1
Denn Prognosen auto.arima(aus der forecastBibliothek) können besser sein als Menschen - das hat Rob Hyndman mehrfach in seinen Präsentationen erwähnt. Es gibt also Bereiche, in denen einige Arten von "automatischem Lernen" mit Erfolg angewendet werden.
Tim

Antworten:


7

Wenn Sie im Voraus wissen, welche Art von Daten Sie einspeisen werden ("Dies sind monatliche Verkäufe von CPGs mit Preisen und Promotion-Markern, und ich möchte eine Punktprognose"), können Sie Ihr Setup wahrscheinlich im Voraus optimieren möglich und bereits erledigt, siehe verschiedene "Expertensysteme" für bestimmte Aufgabenstellungen.

Wenn Sie nach etwas suchen, das irgendeine Art von Daten aufnehmen und "etwas Nützliches" damit machen kann ("ah, hier soll ich Handschrift erkennen und Postleitzahlen ausgeben, und dort sollte ich Betrugserkennung betreiben und diese Eingabedatei natürlich ist eine Kreditbewertungsaufgabe "), nein, ich glaube nicht, dass das in einer langen Zeit passieren wird.

Entschuldigung für eine meinungsbasierte Antwort auf eine Frage, die möglicherweise als meinungsbasiert eingestuft wird.


BEARBEITEN, um die bearbeitete Frage zu beantworten:

yX , die entweder Dummies oder reale numerische Daten sind

y


Ich habe meine Frage dank Ihnen bearbeitet. Es gibt einen ersten Teil "Nehmen Sie jede Eingabe und werfen Sie mir das Ergebnis" und Ihre Antwort ist wirklich aufschlussreich, und einen zweiten Teil "für eine bestimmte Art von Fragen und Datenformatierung, finden Sie mich das Ergebnis".
Pholochtairze

Ich bin mir nicht sicher, ob der letzte Absatz noch gilt, da das vertiefte Lernen bei einer Vielzahl von Problemen immens erfolgreich war. Diese Methoden sind definitiv universell einsetzbar, enthalten jedoch Aufzeichnungen in verschiedenen Anwendungsbereichen wie Computer Vision und NLP. Man könnte argumentieren, dass sich die Architekturen zwischen den Aufgaben unterscheiden, aber auf theoretischer Ebene würde ein vollständig verbundenes tiefes Netzwerk mindestens so gut funktionieren wie beispielsweise Faltungsnetzwerke. Es ist nur so, dass geeignete Trainingsmethoden schwer fassbar bleiben.
Marc Claesen

@MarcClaesen: Ich würde sagen, dass "es ist nur so, dass richtige Trainingsmethoden schwer fassbar bleiben" der Punkt ist, an dem Sie noch domänenspezifisches Fachwissen benötigen.
Stephan Kolassa

7

Was Sie beschreiben, gibt es zum Teil schon, zum Beispiel in AutoWEKA , und es wird aktiv nachgeforscht (z. B. Herausforderungen wie Chalearns AutoML ).

Dies wird normalerweise im Unterfeld der Hyperparameteroptimierung berücksichtigt. Mit Softwarepaketen wie Optunity , Hyperopt und ParamILS können Hyperparameter für einen bestimmten Ansatz automatisch optimiert werden und auszuwählen, welcher Ansatz der beste ist. Das heißt, solche Optimierungsprobleme sind nicht trivial und normalerweise dauert es lange, automatisch das beste Modell (oder in der Nähe davon) zu erhalten.

Ein Beispiel für die Verwendung von Optunity zur automatischen Ermittlung des besten Lernalgorithmus und zur Optimierung seiner Hyperparameter finden Sie unter http://optunity.readthedocs.org/de/latest/notebooks/notebooks/sklearn-automated-classification.html


4

Die Fortschritte bei der Optimierung von Hyperparametern und bei Ensemble-Modellen machen den Modellbau zum „Kunstwerk“. Es gibt jedoch zwei wichtige Aspekte der Modellbildung, mit denen sich die Optimierung von Hyperparametern und Ensembles nicht befassen und die Sie davon abhalten, das bestmögliche Modell zu finden.

Erstens können bestimmte Arten von Algorithmen bestimmte Arten von Daten besser modellieren. Wenn es zum Beispiel Wechselwirkungen zwischen Ihren Variablen gibt, werden sie von einem additiven Modell nicht gefunden, sondern von einem Entscheidungsbaum. Um zu wissen, wie sich Modelle auf verschiedenen Datasets verhalten, und um das richtige auszuwählen, ist möglicherweise Wissen über die Domäne erforderlich, um den besten Modellierungsalgorithmus zu finden.

Zweitens ist das Feature-Engineering und die Feature-Extraktion die wahre Kunst des Modellbaus. Bei Ihrer Frage wird davon ausgegangen, dass der Datensatz bereits vorbereitet ist. Sie sollten jedoch nicht davon ausgehen, dass das Dataset die bestmögliche Darstellung dessen ist, was Sie modellieren möchten. Dies ist immer und offene Frage. In vielen Fällen, in denen der Datensatz komplex ist, können Sie den ganzen Tag über Features entwickeln, aber Sie riskieren, immer mehr Rauschen in den Algorithmus zu werfen. Um zu wissen, welche Features hinzugefügt werden müssen, müssen Sie wissen, welche Features aus statistischer Sicht sinnvoll und welche aus Sicht des Domain-Experten sinnvoll sind.

Aus diesen beiden Gründen komme ich zu dem Schluss, dass Sie keinen Algorithmus finden können, der automatisch das bestmögliche Modell findet. Aus diesem Grund bin ich auch skeptisch gegenüber Softwareanbietern, die Tools entwickeln, die den Bedarf an Datenwissenschaftlern ersetzen.

Wenn Sie jedoch Ihren Ehrgeiz einschränken, das beste Modell aus einer festgelegten Reihe von Modellen mit optimalen Hyperparametern zu finden, wobei "best" als die höchste Vorhersagegenauigkeit für ein Trainingsset definiert ist, ist dies möglich.

Schauen Sie sich das caretPaket an, um zu sehen, Rwie Modelle automatisch optimiert werden. caretVerwendet die Gittersuche, die Fehler aufweist, und erstellt jeweils nur ein Modell. Es gibt jedoch Funktionen zum Vergleichen von Modellen und praktischen Wrappern für eine lange Liste von Modellen aus vielen verschiedenen RPaketen.


Ich stimme zu, dass wir vom vollautomatischen maschinellen Lernen noch weit entfernt sind, aber nicht aus den von Ihnen angegebenen Gründen. Zwei Dinge: (i) Das Finden des besten Modells (+ Optimieren seiner Hyperparameter) aus einer gegebenen Menge ist bereits möglich, und (ii) Feature-Engineering und Feature-Extraktion verlieren aufgrund von Fortschritten beim vertieften Lernen an Bedeutung. Das Wichtigste, was uns derzeit fehlt, sind automatisierte Methoden zur Einbeziehung von Vorkenntnissen und fachspezifischem gesunden Menschenverstand.
Marc Claesen

Ich schätze, ich sehe nicht, wie "Vorkenntnisse und fachspezifischer gesunder Menschenverstand" den ML-Prozess verbessern können, außer um (i) das beste Modell zu finden und (ii) die besten Funktionen zu finden. Ich habe versucht, mit dem vorletzten Absatz zwischen echten Modellen und optimalen Modellen (mit maximaler Genauigkeit) zu unterscheiden.
Brandco

Um offensichtliche Fehler im Modellierungsprozess aufzudecken, z. B. fehlerhafte Labels und / oder Informationslecks, wie mit fehlenden Daten umgegangen werden soll, die tatsächliche Lernaufgabe zu identifizieren (+ eine geeignete Score / Loss-Funktion) und im Allgemeinen eine vollständige Datenbereinigung durchzuführen (was immer der Fall war) war die Hauptanstrengung bei allen praktischen Problemen, an denen ich beteiligt war).
Marc Claesen

2

Kommt darauf an, wen du fragst.

Ich habe kürzlich einen Vortrag von Scott Golder bei Context Relevant gehört . Ihr Produkt ist im Wesentlichen ein Funktions- und Modellauswahlroboter. Das grundlegende zugrunde liegende Modell ist die logistische Regression. Das System verwendet jedoch im Wesentlichen maschinelles Lernen, um die richtige Kombination aus Merkmalsauswahl, Dimensionsreduzierung, Regularisierung usw. für die Erstellung genauer Vorhersagen zu ermitteln. Es war ein sehr beeindruckendes Gespräch, und die Details sind alle sehr geheim. Zu ihren Kunden zählen anscheinend große Finanzunternehmen, und das System kann mit beliebig großen Datenmengen umgehen.

Wenigstens ein paar Leute scheinen zu glauben, dass die automatisierte Datenwissenschaft zumindest für bestimmte Anwendungen bereits vorhanden ist. Und einige dieser Leute (Kunden von Context Relevant) zahlen anscheinend durch die Nase, um Zugang dazu zu erhalten.


1

Nein, es ist kein Traum. Wir haben dies (die Kombination aller von Ihnen erwähnten Techniken, einschließlich gestapelter Ensembles) in der H2O- Bibliothek für maschinelles Lernen implementiert . Sie können mehr darüber lesen und hier Codebeispiele in R und Python finden .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.