Einführung in maschinelles Lernen
Einführung
Warum solltest du das lernen? Click to read
Data Science ist eine empirische Disziplin, die Daten mit verschiedenen Methoden, hauptsächlich aus der Statistik und dem maschinellen Lernen, kombiniert, um Probleme zu lösen und fundierte Entscheidungen zu ermöglichen. Statistik wurde in einem separaten Kurs behandelt, daher werden wir uns hier auf den Bereich des maschinellen Lernens (ML) konzentrieren.
KI, ML, DL und Data Science
Begriffsbestimmungen Click to read
ØAI: Künstliche Intelligenz
ØML: Maschinelles Lernen
ØDL: Deep Learning
ØDS: Data Science
AI: Künstliche Intelligenz
Ein Computersystem, das Aufgaben ausführen kann, die normalerweise mit menschlicher Intelligenz verbunden sind
z.B.: visuelle Wahrnehmung, Spracherkennung, Entscheidungsfindung, Übersetzung zwischen Sprachen
General AI vs. Narrow AI:
General AI kann alle Aufgaben erledigen, narrow AI nur eine ausgewählte Teilmenge von Aufgaben. Derzeit gibt es kein AI-System, das als general AI bezeichnet werden kann. Ob ein solches System in Zukunft existieren kann, bleibt derzeit umstritten.
AI: Künstliche Intelligenz
Ein Computersystem, das Aufgaben ausführen kann, die normalerweise mit menschlicher Intelligenz verbunden sind
z.B.: visuelle Wahrnehmung, Spracherkennung, Entscheidungsfindung, Übersetzung zwischen Sprachen
Wenn der Algorithmus ...
1. ... aus einer Schritt-für-Schritt-Anweisungen zur Durchführung der Aufgabe besteht
o dann ist es symbolische KI
2. ... ein Muster auf der Grundlage einer großen Menge von Daten/Beispielen erkennt und dieses Muster verwendet, um die Aufgabe zu erfüllen
o dann ist es maschinelles Lernen
ML: Maschinelles Lernen
Anstatt jeden Schritt zu programmieren, wird eine Maschine so programmiert, dass sie Muster findet und anhand von Beispielen "lernt". Hier gibt es große Überschneidungen mit der Statistik.
➢Spart Tausende von Codezeilen
➢Flexibel:
wenn sich die Daten ändern,
|
passt sich das Programm an.
|
|
|
ML: Maschinelles Lernen
Anstatt jeden Schritt zu programmieren, wird eine Maschine so programmiert, dass sie Muster findet und anhand von Beispielen "lernt". Hier gibt es große Überschneidungen mit der Statistik.
➢AI: Künstliche Intelligenz
Ein Computersystem, das Aufgaben ausführen kann, die normalerweise menschliche Intelligenz erfordern
➢ML: Maschinelles Lernen
Anstatt jeden Schritt zu programmieren, wird eine Maschine so programmiert, dass sie Muster findet und anhand von Beispielen "lernt". Hier gibt es große Überschneidungen mit der Statistik.
➢DS: Data Science
Derzeit eine der beliebtesten und erfolgreichsten Methoden des maschinellen Lernens. Sie basiert auf Algorithmen für neuronale Netze mit vielen Schichten (siehe Einheit 2, Abschnitt 5).
➢DL: Deep Learning
Verwendet Methoden des maschinellen Lernens und der Statistik, um Probleme zu lösen und Entscheidungen auf der Grundlage von Daten zu treffen.
➢Spart Tausende von Codezeilen
➢Flexibel: Wenn sich die Daten ändern, passt sich das Programm an.
➢Löst Probleme, für die wir keine schrittweise Lösung haben: z. B. Bild- und Tonerkennung
➢Spielt Spiele und gewinnt gegen uns
Arten von ML Click to read
Algorithmen des maschinellen Lernens können in drei verschiedene Typen unterteilt werden.
ØSupervised learning
Ø Unsupervised learning
Ø Reinforcement learning
Ø Supervised learning
Beim supervised Learning erhält ein Algorithmus "gelabelte Daten" als "Trainings"-Datensatz: Gelabelte Daten sind Datensätze, bei denen jede Instanz (Beispiel) aus unabhängigen Variablen und dem Wert der Zielvariablen besteht, der auf der Grundlage dieser unabhängigen Variablen ausgegeben werden soll. Mit anderen Worten, es handelt sich um ein einfaches Lernen nach Beispielen. Das Ziel des Algorithmus ist es, ein Muster zu erkennen, das es ihm ermöglicht, die Zielvariable korrekt zu bestimmen, wenn die unabhängigen Variablen bekannt sind.
Supervised Learning wird als Klassifizierung bezeichnet, wenn die Zielvariable eine Kategorie ist - zum Beispiel die Bestimmung, ob ein Kreditantragsteller aufgrund seiner demografischen Daten und seiner bisherigen Kreditvergabe ein hohes Risiko darstellt oder nicht. Supervised Learning wird Regression genannt, wenn die Zielvariable quantitativ ist - zum Beispiel die Vorhersage des BIP-Wachstums eines Landes auf der Grundlage aktueller Wirtschaftsfaktoren.
Ø Unsupervised learning
Unsupervised Learning wird eingesetzt, um Muster in "nicht gelabelten Daten" zu erkennen. Clustering (der Versuch, ähnliche Gruppen in den Daten zu bestimmen, ohne im Voraus zu wissen, nach welchen Gruppen zu suchen ist) oder Methoden zur Dimensionsreduktion (wie die Hauptkomponentenanalyse oder LDA) sind die beliebtesten Arten des Unsupervised Learnings.
ØReinforcement learning (RL)
Reinforcement Learning wird eingesetzt, um eine optimale Strategie in Situationen abzuleiten, in denen der algorithmische Agent mit einer gegebenen Umgebung interagieren und eine Reihe von Entscheidungen treffen muss, bevor das Endergebnis bekannt ist (d. h. das Feedback ist nicht unmittelbar: Erfolg oder Misserfolg, Sieg oder Niederlage). RL-Methoden werden am häufigsten bei Spielen, beim autonomen Fahren und bei der Bewegung von Robotern eingesetzt.
Bevor wir uns in der nächsten Einheit mit den verschiedenen Arten von Algorithmen für maschinelles Lernen befassen, noch eine kurze Warnung:
Ø maschinelles Lernen ist ein empirisches Feld
Ø a priori gibt es in der Regel nicht "die eine richtige Methode, die anzuwenden ist".
Ø Du musst:
Ø die Anforderungen für deinen speziellen Anwendungsfall sammeln,
Ø verschiedene Methoden auszuprobieren (Einheit 2),
Ø und dann nach den von dir gewählten Metriken (Einheit 3) und Anforderungen (z. B. ist vielleicht nicht nur die Genauigkeit wichtig, sondern auch die Erklärbarkeit) bewerten,
Ø um festzustellen, welche Methode "am besten" funktioniert
ML-Algorithmen
Naive Bayes Click to read
Naïve Bayes ist ein einfacher Klassifizierungsalgorithmus, der häufig als Basis für die Verarbeitung natürlicher Sprache verwendet wird.
Naïve Bayes verwendet den Satz von Bayes, um das Problem der Bestimmung der Wahrscheinlichkeit der Zugehörigkeit einer Instanz zur Klasse Y angesichts ihrer Attribute xi in das Problem der Bewertung der Häufigkeit des Attributs xii umzuwandeln, wenn die Instanz zur Klasse Y gehört.
Sie kann gute Ergebnisse liefern, wenn
Ø alle Attribute mehr oder weniger gleich wichtig für die Bestimmung der Zielklasse sind,
Ø bei einer festen Zielklasse die Attribute voneinander unabhängig sind
Naïve Bayes gibt es in verschiedenen Varianten:
Ø Gaußscher NB: wird verwendet, wenn die Attributvariablen numerisch sind und angenommen werden kann, dass sie einer Gaußschen Verteilung folgen
Ø Einfacher NB: wird verwendet, wenn die Attributvariablen kategorisch sind
Ø Multinomialer NB: wird am häufigsten im Zusammenhang mit der Verarbeitung natürlicher Sprache verwendet, wobei die Attribute Wörter in einem Dokument sind.
Entscheidungsbäume (decision trees) Click to read
Entscheidungsbäume sind sowohl eine Methode zur Darstellung von Informationen als auch ein Algorithmus zur Erkennung von Mustern in Daten.
Wir konzentrieren uns hier auf den Algorithmus zur Erkennung von Mustern, stellen aber auch die dabei gewonnenen Informationen in einem Entscheidungsbaum dar.
Ø Entscheidungsbäume bestehen aus Knoten (nodes) und Zweigen
Ø Jeder Knoten ist ein Attribut und hat Verzweigungen entsprechend seinen Werten. Wenn ein Attribut zum Beispiel "Collegejahr" lautet und die möglichen Attributwerte sind (Freshman, Sophomore, Junior, Senior), dann würde der Knoten, der dem "Collegejahr" entspricht, 4 Zweige haben.
Ø Entscheidungsbäume werden vom obersten Knoten abwärts durchlaufen: An jedem Knoten muss eine Entscheidung darüber getroffen werden, welchem Zweig als Nächstes gefolgt werden soll, und zwar auf der Grundlage des Werts/der Werte eines bestimmten Attributs/mehrerer Attribute
Random forests Click to read
Random Forests sind eine besondere Art des "Ensemble-Lernens" - eine Klasse von Methoden, die Modelle kombinieren, um die Vorhersagegenauigkeit durch Vielfalt zu verbessern.
Ø Random Forests bestehen aus mehreren zufällig ausgewählten Entscheidungsbäumen, und
Ø kombiniert ihre Vorhersagen
Ø Random Forests unterscheiden sich in der Anzahl der Bäume und der Tiefe der einzelnen Bäume.
Neural networks Click to read
Ein neuronales Netz besteht aus einer Reihe miteinander verbundener Einheiten (so genannter "Neuronen"), wie in der Abbildung rechts zu sehen ist.
Jedes Neuron nimmt mehrere Eingaben auf, weist jeder Eingabe ein Gewicht zu, kombiniert sie dann und lässt sie durch eine Aktivierungsfunktion laufen, um eine Ausgabe zu erzeugen.
|
|
Ein neuronales Netz wird gebildet, indem diese so genannten Neuronen in Schichten (layers) organisiert werden.
Beim Training eines neuronalen Netzes wird versucht, die Werte für die Netzgewichte zu ermitteln, die den Vorhersagefehler bei den Trainingsdaten minimieren (gemessen an einer bestimmten Verlustfunktion).
|
|
Bewertung der Performance
Genauigkeit (Accuracy) und Co. Click to read
Es gibt viele Metriken, die zur Messung der Performance eines trainierten Modells verwendet werden können. Welche Metrik verwendet wird, hängt von der Art des Modells (supervised, unsupervised or reinforcement learning; Klassifizierung vs. Regression) und vom Anwendungskontext ab. Wir werden uns auf supervised Learning konzentrieren.
Ø Die am häufigsten verwendete Performanceskennzahl für Regressionsmodelle ist MSE (mean squared error bzw. mittlere quadratische Abweichung).
Ø Die am häufigsten verwendete Performanceskennzahl für die Klassifizierung ist die Genauigkeit.
Ø Dies sind jedoch nicht immer die "besten" Messgrößen, die verwendet werden sollten.
Binäre Klassifikatoren sind Klassifizierungssysteme, bei denen es nur zwei mögliche Zielklassen gibt:
nennen wir sie POSITIV und NEGATIV.
Wir werden verschiedene Performancesmetriken für diese untersuchen, und warum sie unter bestimmten Umständen der Genauigkeit vorzuziehen sind.
Beginnen wir mit einem häufig verwendeten Hilfsmittel, um die Performance eines binären Klassifikators zu verstehen: die Konfusionsmatrix (siehe nächste Folie)
Wann würden wir eine andere Messgröße als die Genauigkeit verwenden wollen?
Ø Wenn die Zielklassen stark unausgewogen sind: Wenn beispielsweise 95 % POSITIV und nur 5 % NEGATIV sind, dann hätte ein Klassifikator, der einfach alles als POSITIV klassifiziert, eine erstaunliche Genauigkeit von 95 %. Aber wäre das sinnvoll?
Ø Ist es wichtiger, alle POSITIVEN Elemente korrekt zu identifizieren (z. B. bei einer medizinischen Diagnose, bei der man sichergehen will, dass man das
Ø Vorhandensein einer Krankheit erkennt, damit man mit der Behandlung beginnen kann)? Oder ist es wichtiger, falsche POSITIVE zu vermeiden?
Betrachten wir ein "reales" Beispiel: automatische Erkennung von Hassreden in sozialen Medien.
Nach Daten, die im Rahmen des Projekts "Barometro dell'Odio" von Amnesty International Italien erhoben wurden (siehe data4good-Folien), machen Hassreden etwa 1 % der politischen Online-Inhalte aus. In diesem Fall würde selbst ein hervorragendes System zur Erkennung von Hassreden mit 99 % TPR und 1 % FPR ausreichen:
Von 100 Kommentaren, die als Hassrede eingestuft werden, sind ___ in Wirklichkeit neutrale Kommentare.
Betrachten wir ein "reales" Beispiel: automatische Erkennung von Hassreden in sozialen Medien.
Nach Daten, die im Rahmen des Projekts "Barometro dell'Odio" von Amnesty International Italien erhoben wurden (siehe data4good-Folien), machen Hassreden etwa 1 % der politischen Online-Inhalte aus. In diesem Fall würde selbst ein hervorragendes System zur Erkennung von Hassreden mit 99 % TPR und 1 % FPR ausreichen:
Von 100 Kommentaren, die als Hassreden gekennzeichnet werden, sind 50 in Wirklichkeit neutrale Kommentare.
Klingt vielleicht überraschend, aber probiere es selbst aus
Auf der nächsten Seite ist eine Excel-Tabelle eingebettet – dort kannst du selbst mit den Zahlen spielen.
Bootstrapping und Kreuzvalidierung Click to read
Bootstrapping:
Bootstrapping basiert auf einer Zufallsstichprobe mit Ersetzung/Replacement der Trainingsdaten – d. h. man nimmt die berühmte* Vase mit den farbigen Kugeln, zieht zufällig eine Kugel heraus, notiert die Farbe und wirft die Kugel wieder in die Vase. Das bedeutet, dass ein und dieselbe Beobachtung mehrmals gemacht werden kann, während andere Beobachtungen möglicherweise gar nicht gemacht werden.
Diese statistische Tatsache wird ausgenutzt: Aus den Trainingsdaten werden so oft Stichproben gezogen, bis ein neuer Trainingsdatensatz mit demselben Umfang entsteht. Die Beobachtungen, die bei diesem Verfahren nie gezogen wurden, werden in den Validierungsdatensatz aufgenommen. Die Validierungsergebnisse werden zum Vergleich der verschiedenen Algorithmen herangezogen.
*Dieses Beispiel wird in sehr vielen Lehrbüchern zu Wahrscheinlichkeiten zitiert
Kreuzvalidierung:
Es gibt verschiedene Möglichkeiten, eine Kreuzvalidierung durchzuführen, aber wir konzentrieren uns auf die n-fache Kreuzvalidierung und setzen der Einfachheit halber n = 5.
Der Trainingsdatensatz wird nach dem Zufallsprinzip in 5 etwa gleich große Untergruppen aufgeteilt.
Ø Im ersten Durchgang wird die Datengruppe 1 als Validierungsdaten verwendet und die restlichen Daten (Gruppen 2, 3, 4, 5) werden trainiert.
Ø Im zweiten Durchgang wird die zweite Datengruppe für die Validierung beiseite gelegt, und der Algorithmus trainiert auf den anderen Datengruppen (1,3,4,5).
Ø Fahre auf diese Weise fort, bis alle 5 Datengruppen genau einmal als Validierungsdaten gedient haben.
Ø Du hast dann 5 Validierungsergebnisse (z.B. Fehlerrate für Klassifizierung, MSE für Regression), die zum Vergleich der verschiedenen Algorithmen verwendet werden können.
Ø Sobald die Validierung abgeschlossen ist und ein "bestes" Modell ausgewählt wurde, kann es auf dem gesamten Datensatz neu trainiert werden.
Zusätzliche Überlegungen Click to read
Manchmal reicht es nicht aus, die Genauigkeit des Modells zu betrachten.
Betrachten wir das folgende Beispiel.
Viele KI-Systeme werden zur Klassifizierung eingesetzt. Hier zum Beispiel für die Klassifizierung von Bildern.
Nach vielen Beispielen hat der Algorithmus "gelernt"...
Nach vielen Beispielen hat der Algorithmus gelernt ...
Er erkennt nicht Wolf vs. Hund - er erkennt Schnee vs. keinen Schnee!
Manchmal reicht es nicht aus, die Genauigkeit des Modells zu betrachten.
Für viele Anwendungen ist es auch notwendig zu verstehen, welche Muster der Algorithmus erkannt hat und welche Variablen zu den Modellergebnissen geführt haben. Transparenz und Erklärbarkeit können wichtige "Qualitätsmerkmale" sein, und dies kann auch in die Entscheidung einfließen, welches Modell "am besten" abschneidet.
Darüber hinaus werden wir in den data4good-Folien sehen, wie andere Kriterien, wie Fairness und Nichtdiskriminierung, wichtige Merkmale bei der Beurteilung der Performance eines Modells sein können.
Resümee
Resümee Click to read
|