Articles

Angewandte KI-Strategie und -beratung | InnoArchiTech

Artikel in dieser Serie

  1. Überblick, Ziele, Lerntypen und Algorithmen

  2. Datenauswahl, -vorbereitung und -modellierung

  3. Modellbewertung, -validierung, -komplexität und -verbesserung

  4. Modellperformance und Fehleranalyse

  5. Unüberwachtes Lernen, verwandte Bereiche und maschinelles Lernen in der Praxis

Einführung

Willkommen! Dies ist der erste Artikel einer fünfteiligen Serie über maschinelles Lernen.Maschinelles Lernen ist aus vielen wichtigen Gründen ein sehr heißes Thema und bietet die Möglichkeit, automatisch tiefe Einblicke zu erhalten, unbekannte Muster zu erkennen und leistungsstarke Vorhersagemodelle aus Daten zu erstellen, ohne explizite Programmieranweisungen zu benötigen.Trotz der Popularität des Themas sind der wahre Zweck und die Details des maschinellen Lernens nicht gut verstanden, außer von sehr technischen Leuten und / oder Datenwissenschaftlern.

Diese Serie soll ein umfassender, ausführlicher Leitfaden für maschinelles Lernen sein und sollte für alle nützlich sein, von Führungskräften bis hin zu Praktikern des maschinellen Lernens. Es deckt praktisch alle Aspekte des maschinellen Lernens (und vieler verwandter Bereiche) auf hohem Niveau ab und sollte als ausreichende Einführung oder Referenz in die Terminologie, Konzepte, Werkzeuge, Überlegungen und Techniken des Feldes dienen.

Dieses hohe Verständnis ist entscheidend, wenn es jemals in einen Entscheidungsprozess über den Einsatz von maschinellem Lernen einbezogen wird, wie es helfen kann, Geschäfts- und Projektziele zu erreichen, welche maschinellen Lerntechniken zu verwenden sind, mögliche Fallstricke und wie die Ergebnisse zu interpretieren sind.

Beachten Sie, dass die meisten der in dieser Serie diskutierten Themen auch direkt auf Bereiche wie Predictive Analytics, Data Mining, statistisches Lernen, künstliche Intelligenz usw. anwendbar sind.

Maschinelles Lernen definiert

Die oft zitierte und weithin akzeptierte formale Definition von maschinellem Lernen, wie sie vom Feldpionier Tom M. Mitchell angegeben wurde, lautet:

Ein Computerprogramm soll aus Erfahrung lernen E in Bezug auf eine bestimmte Klasse von Aufgaben T und Leistungsmaß P, wenn sich seine Leistung bei Aufgaben in T, gemessen an P, mit Erfahrung verbessert E

Das Folgende ist meine weniger formale Art, maschinelles Lernen zu beschreiben.Maschinelles Lernen ist ein Teilgebiet der Informatik, wird aber oft auch als Predictive Analytics oder Predictive Modeling bezeichnet. Ziel und Verwendung ist es, neue und / oder vorhandene Algorithmen zu entwickeln, um aus Daten zu lernen, um verallgemeinerbare Modelle zu erstellen, die genaue Vorhersagen liefern, oder Muster zu finden, insbesondere mit neuen und unsichtbaren ähnlichen Daten.

Übersicht über den Prozess des maschinellen Lernens

Stellen Sie sich einen Datensatz als Tabelle vor, in der die Zeilen jede Beobachtung darstellen (auch bekannt als Messung, Datenpunkt usw.) und die Spalten für jede Beobachtung die Merkmale dieser Beobachtung und ihre Werte darstellen.

Zu Beginn eines Machine-Learning-Projekts wird ein Datensatz normalerweise in zwei oder drei Teilmengen aufgeteilt. Die minimalen Teilmengen sind die Trainings- und Testdatensätze, und oft wird auch ein optionaler dritter Validierungsdatensatz erstellt.

Sobald diese Daten-Teilmengen aus dem primären Datensatz erstellt wurden, wird ein Vorhersagemodell oder ein Klassifikator unter Verwendung der Trainingsdaten trainiert, und dann wird die Vorhersagegenauigkeit des Modells unter Verwendung der Testdaten bestimmt.Wie bereits erwähnt, nutzt maschinelles Lernen Algorithmen, um Muster in Daten automatisch zu modellieren und zu finden, normalerweise mit dem Ziel, eine Zielausgabe oder -antwort vorherzusagen. Diese Algorithmen basieren stark auf Statistiken und mathematischer Optimierung.Optimierung ist der Prozess des Findens des kleinsten oder größten Wertes (Minima oder Maxima) einer Funktion, die im Minimierungsfall oft als Verlust- oder Kostenfunktion bezeichnet wird. Einer der beliebtesten Optimierungsalgorithmen, die beim maschinellen Lernen verwendet werden, heißt Gradient Descent, und ein anderer ist als Normalgleichung bekannt.Kurz gesagt, beim maschinellen Lernen geht es darum, automatisch ein hochgenaues Vorhersage- oder Klassifizierungsmodell zu lernen oder unbekannte Muster in Daten zu finden, indem Lernalgorithmen und Optimierungstechniken genutzt werden.

Lerntypen

Die Hauptkategorien des maschinellen Lernens sind überwachtes, unbeaufsichtigtes und halbüberwachtes Lernen. Wir werden uns in diesem Artikel auf die ersten beiden konzentrieren.

Beim überwachten Lernen enthalten die Daten die Antwortvariable (Bezeichnung), die modelliert wird, und mit dem Ziel, dass Sie den Wert oder die Klasse der unsichtbaren Daten vorhersagen möchten. Beim unüberwachten Lernen wird aus einem Datensatz gelernt, der keine Beschriftung oder Antwortvariable enthält, und es geht daher mehr darum, Muster als Vorhersagen zu finden.

Da ich ein großer NFL- und Chicago Bears-Fan bin, wird mein Team helfen, diese Art des Lernens zu veranschaulichen! Angenommen, Sie haben eine Tonne von Chicago Bears Daten und Statistiken aus, wenn das Team wurde ein gechartertes Mitglied der NFL (1920) bis zur Gegenwart (2016).

Stellen Sie sich vor, dass jede Zeile der Daten im Wesentlichen eine Team-Momentaufnahme (oder Beobachtung) relevanter Statistiken für jedes Spiel seit 1920 ist. Die Spalten in diesem Fall und die darin enthaltenen Daten stellen die Merkmale (Werte) der Daten dar und können Merkmalsdaten wie Spieldatum, Spielgegner, Saisongewinne, Saisonverluste, Saisonabschlussposition, Nachsaison-Liegeplatz (J / N), Nachsaison-Statistiken und möglicherweise Statistiken enthalten, die für die drei Phasen des Spiels spezifisch sind: Angriff, Verteidigung und Spezialteams.

Im ersten Fall besteht Ihr Ziel möglicherweise darin, anhand dieser Daten vorherzusagen, ob die Bären während eines bestimmten Spiels und auf einem bestimmten Feld (zu Hause oder auswärts) gegen ein bestimmtes Team gewinnen oder verlieren werden. Denken Sie daran, dass im Fußball alles in Bezug auf Verletzungen vor und nach dem Spiel, Wetterbedingungen, schlechte Schiedsrichteranrufe usw. passieren kann, also nehmen Sie dies einfach als Beispiel für eine Anwendung des überwachten Lernens mit einer Ja- oder Nein-Antwort (Vorhersage), im Gegensatz zur Bestimmung der Wahrscheinlichkeit oder Wahrscheinlichkeit, dass ‚Da Bears‘ den Sieg erringt.

Da Sie historische Daten über Gewinne und Verluste (die Antwort) gegen bestimmte Teams auf bestimmten Fußballfeldern haben, können Sie überwachtes Lernen nutzen, um ein Modell zu erstellen, um diese Vorhersage zu treffen.Angenommen, Ihr Ziel ist es, Muster in den historischen Daten zu finden und etwas zu lernen, das Sie noch nicht kennen, oder das Team im Laufe der Geschichte auf bestimmte Weise zu gruppieren. Dazu führen Sie einen Algorithmus für unbeaufsichtigtes maschinelles Lernen aus, der die Daten automatisch clustert (gruppiert) und anschließend die Clusterergebnisse analysiert.

Mit ein wenig Analyse kann man feststellen, dass diese automatisch generierten Cluster das Team im Laufe der Zeit scheinbar in die folgenden Beispielkategorien einteilen:

  • Starke Verteidigung, schwaches laufendes Vergehen, starkes Passspiel, schwache Spezialteams, Playoff-Liegeplatz

  • Starke Verteidigung, starkes laufendes Vergehen, schwaches Passspiel, durchschnittliche Spezialteams, Playoff-Liegeplatz

  • Schwache Verteidigung, starkes Allround-Vergehen, starke Spezialteams, verpasste die Playoffs

  • und so weiter

Ein Beispiel für eine unbeaufsichtigte Clusteranalyse wäre, einen möglichen Grund zu finden, warum sie die Playoffs im dritten Cluster oben verpasst haben. Vielleicht wegen der schwachen Verteidigung? Bären waren traditionell eine starke defensive Mannschaft, und einige sagen, dass Verteidigung Meisterschaften gewinnt. Ich sage nur …

In beiden Fällen kann festgestellt werden, dass sich jede der obigen Klassifikationen auf einen bestimmten Zeitrahmen bezieht, den man erwarten würde. Vielleicht war das Team im Laufe seiner Geschichte und für unterschiedliche Zeiträume mehr als einmal durch eine dieser Gruppierungen gekennzeichnet.

Um das Team auf diese Weise ohne maschinelle Lerntechniken zu charakterisieren, müsste man alle historischen Daten und Statistiken durchforsten, die Muster manuell finden und die Klassifikationen (Cluster) für jedes Jahr unter Berücksichtigung aller Daten zuweisen und die Informationen zusammenstellen. Das wäre definitiv keine schnelle und einfache Aufgabe.

Alternativ können Sie ein explizit codiertes Programm schreiben, um die Daten zu durchlaufen, und das muss wissen, welche Teamstatistiken zu berücksichtigen sind, welche Schwellenwerte für jede Statistik zu berücksichtigen sind und so weiter. Das Schreiben des Codes würde viel Zeit in Anspruch nehmen, und für jedes Problem, das eine Antwort benötigt, müssten verschiedene Programme geschrieben werden.

Oder … Sie können einen maschinellen Lernalgorithmus verwenden, um all dies in wenigen Sekunden automatisch für Sie zu erledigen.

Ziele und Ausgaben des maschinellen Lernens

Algorithmen des maschinellen Lernens werden hauptsächlich für die folgenden Ausgabetypen verwendet:

  • Clustering (unbeaufsichtigt)

  • Zwei-Klassen- und Mehrklassenklassifizierung (überwacht)

  • Regression: Univariat, Multivariat usw. (Überwacht)

  • Anomalieerkennung (unbeaufsichtigt und überwacht)

  • Empfehlungssysteme (aka Recommendation Engine)

Spezifische Algorithmen, die für jeden Ausgabetyp verwendet werden, werden im nächsten Abschnitt erläutert.

Wie bereits erwähnt, ist Clustering eine unbeaufsichtigte Technik, um die Zusammensetzung und Struktur eines bestimmten Datensatzes zu ermitteln. Es ist ein Prozess, bei dem Daten zu Clustern zusammengefasst werden, um zu sehen, welche Gruppierungen entstehen, falls vorhanden. Jeder Cluster ist durch einen enthaltenen Satz von Datenpunkten und einen Clusterschwerpunkt gekennzeichnet. Der Clusterschwerpunkt ist im Grunde der Mittelwert (Durchschnitt) aller Datenpunkte, die der Cluster enthält, über alle Features hinweg.

Bei Klassifizierungsproblemen wird ein Datenpunkt (auch bekannt als Beobachtung) in eine vordefinierte Klasse oder Kategorie eingefügt. Manchmal ordnen Klassifizierungsprobleme einer Beobachtung einfach eine Klasse zu, und in anderen Fällen besteht das Ziel darin, die Wahrscheinlichkeiten zu schätzen, dass eine Beobachtung zu jeder der angegebenen Klassen gehört.

Ein gutes Beispiel für eine Zwei-Klassen-Klassifizierung ist die Zuweisung der Klasse Spam oder Ham zu einer eingehenden E-Mail, wobei ham nur ‚kein Spam‘ bedeutet. Mehrklassenklassifizierung bedeutet nur mehr als zwei mögliche Klassen. Im Spam-Beispiel wäre also vielleicht eine dritte Klasse ‚Unbekannt‘.

Regression ist nur ein schickes Wort, um zu sagen, dass ein Modell einer Datenbeobachtung einen kontinuierlichen Wert (Antwort) zuweist, im Gegensatz zu einer diskreten Klasse. Ein gutes Beispiel dafür wäre die Vorhersage des Schlusskurses des Dow Jones Industrial Average an einem bestimmten Tag. Dieser Wert könnte eine beliebige Zahl sein und wäre daher ein perfekter Kandidat für eine Regression.

Beachten Sie, dass das Wort Regression manchmal im Namen eines Algorithmus verwendet wird, der tatsächlich für Klassifizierungsprobleme oder zur Vorhersage einer diskreten kategorialen Antwort (z. B. Spam oder Ham) verwendet wird. Ein gutes Beispiel ist die logistische Regression, die Wahrscheinlichkeiten eines bestimmten diskreten Wertes vorhersagt.

Ein weiterer Problemtyp ist die Anomalieerkennung. Während wir gerne denken würden, dass Daten gut benommen und vernünftig sind, ist dies leider oft nicht der Fall. Manchmal gibt es fehlerhafte Datenpunkte aufgrund von Fehlfunktionen oder Messfehlern oder manchmal aufgrund von Betrug. In anderen Fällen kann es sein, dass anomale Messungen auf eine fehlerhafte Hardware oder Elektronik hinweisen.Manchmal weisen Anomalien auf ein echtes Problem hin und sind nicht leicht zu erklären, wie z. B. ein Herstellungsfehler, und in diesem Fall bietet die Erkennung von Anomalien ein Maß für die Qualitätskontrolle sowie einen Einblick, ob die zur Reduzierung von Fehlern unternommenen Schritte funktioniert haben oder nicht. In beiden Fällen gibt es Zeiten, in denen es vorteilhaft ist, diese anomalen Werte zu finden, und bestimmte Algorithmen für maschinelles Lernen können verwendet werden, um genau das zu tun.

Die endgültige Art des Problems wird mit einem Empfehlungssystem oder auch als Empfehlungsmaschine bezeichnet. Empfehlungssysteme sind eine Art Informationsfiltersystem und sollen Empfehlungen in vielen Anwendungen abgeben, einschließlich Filmen, Musik, Büchern, Restaurants, Artikeln, Produkten usw. Die beiden gängigsten Ansätze sind inhaltsbasiertes und kollaboratives Filtern.

Zwei großartige Beispiele für beliebte Empfehlungs-Engines sind die von Netflix und Amazon. Netflix gibt Empfehlungen ab, um die Zuschauer zu motivieren und mit vielen Inhalten zu versorgen. Mit anderen Worten, um die Leute mit Netflix zu halten. Sie tun dies mit ihren Empfehlungen „Weil du zugesehen hast …“, „Top-Tipps für Alex“ und „Vorschläge für Sie“.

Amazon tut etwas Ähnliches, um den Umsatz durch Upselling zu steigern, den Umsatz durch Benutzerbindung aufrechtzuerhalten und so weiter. Sie tun dies über ihre Empfehlungen „Kunden, die diesen Artikel gekauft haben, haben auch gekauft“, „Empfehlungen für Sie, Alex“, „Bezogen auf Artikel, die Sie angesehen haben“ und „Weitere zu berücksichtigende Artikel“.

Algorithmen für maschinelles Lernen

Wir haben nun die Problemtypen für maschinelles Lernen und die gewünschten Ausgaben behandelt. Nun geben wir einen Überblick über relevante Algorithmen des maschinellen Lernens.

Hier finden Sie eine Liste von Algorithmen, sowohl überwacht als auch unbeaufsichtigt, die auf hohem Niveau sehr beliebt und wissenswert sind. Beachten Sie, dass einige dieser Algorithmen später in dieser Serie ausführlicher diskutiert werden.

Überwachte Regression

  • Einfache und multiple lineare Regression

  • Entscheidungsbaum- oder Waldregression

  • Künstliche Neuronale Netze

  • Ordinale Regression

  • Poisson-Regression

  • Methoden des nächsten Nachbarn (z., k-NN oder k-Nächste Nachbarn)

Überwachte Zweiklassen & Mehrklassenklassifikation

  • Logistische Regression und multinomiale Regression

  • Künstliche Neuronale Netze

  • Entscheidungsbaum, Wald und Dschungel

  • SVM (support Vector machine)

  • Perzeptron-Methoden

  • Bayes’sche Klassifikatoren (z.B. Naive Bayes)

  • Nearest-Neighbor-Methoden (z.B. k-NN oder k-Nächste Nachbarn)

  • Eine gegen alle Multiklassen

Unüberwacht

  • K-means Clustering

  • Hierarchisches Clustering

Anomalieerkennung

  • Support Vector machine (eine Klasse)

  • PCA (Principle Component analysis)

Beachten Sie, dass eine Technik, die häufig zur Verbesserung der Modellleistung verwendet wird, darin besteht, die Ergebnisse mehrerer Modelle zu kombinieren. Dieser Ansatz nutzt sogenannte Ensemble-Methoden, und Random Forests sind ein gutes Beispiel (später diskutiert).

Wenn nichts anderes, ist es eine gute Idee, sich zumindest mit den Namen dieser gängigen Algorithmen vertraut zu machen und eine grundlegende Vorstellung von der Art des maschinellen Lernproblems und der Ausgabe zu haben, für die sie möglicherweise gut geeignet sind.

Zusammenfassung

Machine Learning, Predictive Analytics und andere verwandte Themen sind sehr spannende und leistungsstarke Felder.

Während diese Themen sehr technisch sein können, sind viele der beteiligten Konzepte auf hohem Niveau relativ einfach zu verstehen. In vielen Fällen reicht ein einfaches Verständnis aus, um Diskussionen über Probleme, Projekte, Techniken usw. des maschinellen Lernens zu führen.

Teil zwei dieser Serie bietet eine Einführung in die Modellperformance, behandelt den Prozess des maschinellen Lernens und diskutiert die Modellauswahl und die damit verbundenen Kompromisse im Detail.

Bleiben Sie dran!

Über den Autor

Alex ist der Gründer von InnoArchiTech und InnoArchiTech Institute sowie der Autor von AI for People and Business, veröffentlicht von O’Reilly Media.