Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Maschinelles Lernen ist das aktuelle Schlagwort, das die Computeralgorithmen umfasst, mit denen Entscheidungen, Vorhersagen oder Klassifizierungen auf der Grundlage von Daten getroffen werden.
Als ich beigetreten bin JMP Im Jahr 2014 habe ich gerade meinen Doktortitel in Statistik an einer Schule mit langjähriger Erfahrung in landwirtschaftlichen Experimenten und gemischter Modellierung abgeschlossen. Dies war die Welt, die ich gewohnt war: kleine Experimente, die darauf ausgelegt waren, die erhaltenen Informationen durch eine umsichtige Planung zu maximieren, fast immer ein Merkmal des Experimentdesigns, das gemischte Modelltechniken zur Analyse erforderte (die einfachste war ein Split-Plot-Design), und das Ziel der Bestimmung Welche Behandlung(en) führen zu den besten Ergebnissen? Dies galt unabhängig davon, ob der Wissenschaftler, mit dem ich zusammenarbeitete, in der Tierwissenschaft, Entomologie, Lebensmittelwissenschaft oder Pädagogik tätig war.
Kurz nach der Ankunft bei JMP breitete sich die Begeisterung für Big Data aus sein Höhepunkt . Ein paar Jahre später kam der Aufschwung des maschinellen Lernens. Es überrascht nicht, dass der Aufstieg des maschinellen Lernens hinter dem von Big Data zurückblieb. Was sollten die Leute mit all den Daten machen, die sie gesammelt hatten? Analysieren Sie es natürlich mit den Tools aus der Toolbox für maschinelles Lernen.
Meine formale Ausbildung hatte mich auf keines dieser Dinge besonders vorbereitet, aber als ich meine Karriere als Statistikentwickler begann, waren diese Themen genau das, was ich brauchte, um schnell auf dem Laufenden zu bleiben! Also habe ich getan, was heutzutage jeder Student tut, wenn er sich mit einem neuen Thema beschäftigt: Ich habe besucht Wikipedia .
„ Maschinelles Lernen ist ein interdisziplinär Feld, das statistische Techniken verwendet, um zu geben Computersysteme die Fähigkeit, daraus zu „lernen“ (z. B. die Leistung bei einer bestimmten Aufgabe schrittweise zu verbessern). Daten , ohne explizit programmiert zu sein.“
Das war ein bisschen atemberaubend. Wie ist es möglich, dass ein Computersystem etwas „lernt“, ohne explizit programmiert zu werden? Wir haben es nicht erreicht Skynet , aber das ist mir bewusst! Zeit, weiter zu graben. Encyclopaedia Britannica sagt: „ Maschinelles Lernen , in der künstlichen Intelligenz (ein Fachgebiet der Informatik), Disziplin, die sich mit der Implementierung von Computersoftware befasst, die autonom lernen kann.“
Jetzt habe ich in der Definition den Bezug zur Statistik verloren, aber es wird immerhin deutlicher, dass wir an der Implementierung von Software interessiert sind, die autonom lernen kann. Das „ohne explizite Programmierung“ bezieht sich auf die Tatsache, dass der Algorithmus nach der Übergabe der Daten an den Algorithmus den Rest ohne weitere Anweisung von uns erledigt.
Basierend auf diesen Definitionen und meiner Wahrnehmung der allgemeinen Verwendung des Ausdrucks bin ich zu dem Schluss gekommen, dass maschinelles Lernen das aktuelle Schlagwort ist, das die Computeralgorithmen umfasst, die zum Treffen von Entscheidungen, Vorhersagen oder Klassifizierungen auf der Grundlage von Daten verwendet werden.
Überwachtes vs. unüberwachtes Lernen
Das gilt auch JMP Mache maschinelles Lernen? Absolut! Und das haben wir technisch gesehen schon von der ersten Version an! Waren wir 1989 unserer Zeit so weit voraus? Das würde ich gerne glauben. Aber schauen wir uns die Algorithmen genauer an, an die die Leute denken, wenn sie von maschinellem Lernen sprechen.
Typischerweise werden Algorithmen für maschinelles Lernen in verschiedene Typen eingeteilt – überwachtes und unüberwachtes Lernen. Beim überwachten Lernen arbeiten die Algorithmen sowohl mit den Prädiktoren (die X-Spalten) als auch mit einer Antwort (Y-Spalte). Die verwendeten Trainingsdaten „überwachen“ den Algorithmus, indem sie ihm mitteilen, wie die Reaktion auf die gegebenen Werte der Prädiktorvariablen aussehen soll. Beim unüberwachten Lernen werden von den Algorithmen nur die Prädiktoren verwendet und etwaige Muster werden ausschließlich von ihnen bestimmt. Es gibt keine „Wahrheit“ – und tatsächlich kennen wir die „Wahrheit“ möglicherweise nicht.
Welche Algorithmen für maschinelles Lernen in JMP fallen in welche Kategorien?
Beaufsichtigt
|
Unbeaufsichtigt
|
Entscheidungsbäume *
|
Clustering
|
Neuronale Netze *
|
Selbstorganisierende Karten
|
Bootstrap-Wald *
|
Assoziationsanalyse
|
Rückschritt
|
Einzelwertzerlegung
|
K Nächste Nachbarn *
|
|
Naive Bayes *
|
|
* Einige Funktionen dieser Plattformen sind JMP Pro nur.
Viele Menschen sind überrascht, Regression auf der Liste zu sehen, und sie gehört sicherlich nicht zu dem, was man gemeinhin als maschinelles Lernen betrachtet, aber es ist die einfachste Form des überwachten Lernens. Und Fit Y by X war in JMP 1! Clustering wurde in JMP 3 hinzugefügt und die Optionen für maschinelles Lernen kamen danach immer wieder hinzu.
Diejenigen unter Ihnen, die mit einem oder mehreren dieser Algorithmen vertraut sind, werden möglicherweise eine Ähnlichkeit zwischen ihnen feststellen. Viele Modelle liefern eine erstaunliche Vorhersagegenauigkeit, aber wenn Sie versuchen würden zu erklären, was die Koeffizienten oder Grenzwerte bedeuten, wird Ihnen das wahrscheinlich schwer fallen. Ich kann einem Entscheidungsbaum durch seine Schnittpunkte folgen, um zu einer Vorhersage zu gelangen, aber es gibt keine inhärente Bedeutung dafür, wo sich diese Schnittpunkte befinden. Ich habe keine Ahnung, was die Parameterschätzungen in einem neuronalen Netzmodell in der „realen Welt“ bedeuten, aber neuronale Netze gehören zu den Modellen für maschinelles Lernen mit der besten Vorhersageleistung, die es gibt.
Im Gegensatz dazu liefert ein Regressionsmodell Parameterschätzungen, die für Benutzer eine inhärente Bedeutung haben. Wenn ein Koeffizient positiv ist, wissen wir, dass eine Erhöhung des Werts dieses Prädiktors um eine Einheit die Antwort um den Koeffizientenwert erhöht. Dies knüpft an das an, was Dr. Galit Shmueli nennt „Erklären oder vorhersagen?“ Einer der besten Kompromisse in diesem Kompromiss liegt in der Generalized Regression-Persönlichkeit der Fit Model-Plattform. Wie mein Kollege Clay Barker besprochen hat, verbessert die Verwendung von Lasso oder Elastic Net die Vorhersageleistung, aber das Modell kann trotzdem erklärt werden.
Aber spielt die mangelnde Interpretierbarkeit eine Rolle? Vielleicht, vielleicht nicht. Wenn der Anwendungsfall ausschließlich darauf ausgerichtet ist, die genauesten Vorhersagen zukünftiger Ereignisse zu erzielen, ist ein interpretierbares Modell nicht erforderlich. Wenn Stakeholder andererseits konkretere Möglichkeiten zur „Verbesserung ihrer Punktzahl“ wünschen, könnte ein erklärbares Modell bevorzugt werden. Der Schlüssel für jedes Modell liegt darin, dass Sie die Ergebnisse in die Tat umsetzen können.
Menschen werden weiterhin gebraucht
Dies bringt meinen letzten Punkt zur Sprache. Trotz all der erstaunlichen Dinge, die Computeralgorithmen leisten können, wird immer noch ein menschlicher Analyst benötigt, um die übergeordneten Fragen zu beantworten.
- Welche Daten sollten in die Analyse einbezogen oder davon ausgeschlossen werden? Einige Algorithmen sind in der Lage, wichtige Variablen auszuwählen, aber wenn eine Variable nicht gleich zu Beginn an den Computer übergeben wurde, wird sie nicht ausgewählt, selbst wenn sie sehr prädiktiv sein könnte!
- Wo liegt der Grund für sinkende Renditen? Wenn ein Modell zu komplex ist, um es in der benötigten Zeit auszuführen, wird es keinen Nutzen haben. Vielleicht liefert ein weniger komplexes Modell fast genauso gute Ergebnisse und kann schnell ausgeführt werden. Ein bekanntes Beispiel hierfür ist der Gewinner des Netflix-Preises. Das Siegermodell schnitt besser ab als fast alle erwartet hatten, aber die erforderliche Datenmenge und die Verarbeitung machten es unmöglich, in der Echtzeitumgebung zu laufen, die Netflix brauchte, um den Benutzern Vorschläge zu machen, was sie sich als nächstes ansehen sollten.
- Gibt es inhärente Verzerrungen im Modell? Offensichtlich weist ein Computeralgorithmus nicht die Vorurteile auf, die Menschen haben, aber es ist möglich, dass ein Algorithmus zu einem Modell führt, das in hohem Maße mit Merkmalen korreliert, die voreingenommen sind. Bei Hypothekarkrediten gibt es Merkmale, deren Verwendung bei Kreditentscheidungen illegal ist. Es gibt jedoch mehrere rechtliche Faktoren, die in hohem Maße mit illegalen Faktoren korrelieren können. Ein Algorithmus kann ein Modell generieren, das eine bestimmte ethnische Zugehörigkeit nahezu vollständig ablehnt, auch wenn die ethnische Zugehörigkeit nicht direkt Teil der Daten ist. Dieses Modell hätte wahrscheinlich rechtliche Konsequenzen.
- Wann sollte das Modell aktualisiert werden? Da es bei der Modellierung darum geht, eine Art Ausgabe zu erzeugen, auf deren Grundlage wir Maßnahmen ergreifen können, muss das Modell aktualisiert werden, sobald diese Maßnahmen ergriffen wurden. Dieses Update ist erforderlich, da die implementierten Änderungen Auswirkungen auf die zukünftigen Eingaben in das Modell haben. Wenn wir weiterhin das alte Modell verwenden, laufen wir Gefahr, über die Grenzen der Originaldaten hinaus zu extrapolieren. Der Punkt, an dem ein Modell aktualisiert werden sollte, ist eine Frage, die nur Menschen beantworten können.
In mein nächster Beitrag Ich erzähle Ihnen von zwei meiner Lieblingsalgorithmen für maschinelles Lernen: K Nearest Neighbors und Naive Bayes. Und wir werden uns diese beiden Methoden anhand einiger interessanter Daten, die ich selbst gesammelt habe, in der Praxis ansehen.