📚 Schauen Sie sich unser Tutorial an, in dem wir in die einfache lineare Regression mit Mathematik und Python eintauchen. 📚

Was ist maschinelles Lernen?

Professor Tom M. Mitchell erklärt in einem Porträt die operationale Definition von maschinellem Lernen.

Professor Tom M. Mitchell erläutert die operationale Definition des maschinellen Lernens.

Quelle: Machine Learning Department at Carnegie Mellon

Von einem Computerprogramm sagt man, dass es aus Erfahrung E in Bezug auf eine Klasse von Aufgaben T und ein Leistungsmaß P lernt, wenn sich seine Leistung bei Aufgaben in T, gemessen durch P, mit der Erfahrung E verbessert. ~ Tom M. Mitchell

Maschinelles Lernen verhält sich ähnlich wie das Wachstum eines Kindes. Wenn ein Kind wächst, nimmt seine Erfahrung E bei der Ausführung der Aufgabe T zu, was zu einem höheren Leistungsmaß (P) führt.

Zum Beispiel geben wir einem Kind ein Spielzeug „Form-Sortierblock“. (Nun wissen wir alle, dass es in diesem Spielzeug verschiedene Formen und Formlöcher gibt). In diesem Fall besteht unsere Aufgabe T darin, ein passendes Formloch für eine Form zu finden. Danach beobachtet das Kind die Form und versucht, sie in ein Formloch zu stecken. Nehmen wir an, dass dieses Spielzeug drei Formen hat: einen Kreis, ein Dreieck und ein Quadrat. Bei seinem ersten Versuch, ein geformtes Loch zu finden, ist sein Leistungsmaß (P) 1/3, was bedeutet, dass das Kind 1 von 3 korrekten Formlöchern gefunden hat.

Nachdem das Kind es ein weiteres Mal versucht hat, stellt es fest, dass es ein wenig Erfahrung in dieser Aufgabe hat. Unter Berücksichtigung der gewonnenen Erfahrung (E) versucht das Kind diese Aufgabe ein weiteres Mal, und bei der Messung der Leistung (P) stellt sich heraus, dass diese 2/3 beträgt. Nachdem das Kind diese Aufgabe (T) 100 Mal wiederholt hat, hat es nun herausgefunden, welche Form in welches Formloch passt.

So ist ihre Erfahrung (E) gestiegen, ihre Leistung (P) ist ebenfalls gestiegen, und dann stellen wir fest, dass mit der Anzahl der Versuche an diesem Spielzeug die Leistung steigt. Die Leistung steigt ebenfalls, was zu einer höheren Genauigkeit führt.

Solche Ausführungen sind ähnlich wie beim maschinellen Lernen. Was eine Maschine tut, ist, sie nimmt eine Aufgabe (T), führt sie aus und misst ihre Leistung (P). Nun hat eine Maschine eine große Anzahl von Daten, und während sie diese Daten verarbeitet, nimmt ihre Erfahrung (E) mit der Zeit zu, was zu einer höheren Leistungsmessung (P) führt. Nachdem wir also alle Daten durchgegangen sind, steigt die Genauigkeit unseres maschinellen Lernmodells, was bedeutet, dass die Vorhersagen unseres Modells sehr genau sein werden.

Eine weitere Definition von maschinellem Lernen von Arthur Samuel:

Maschinelles Lernen ist das Teilgebiet der Informatik, das „Computern die Fähigkeit gibt, zu lernen, ohne explizit programmiert zu werden.“ ~ Arthur Samuel

Lassen Sie uns versuchen, diese Definition zu verstehen: Sie lautet: „Lernen, ohne explizit programmiert zu werden“ – was bedeutet, dass wir dem Computer nicht mit einem bestimmten Satz von Regeln beibringen, sondern dass wir ihn mit genügend Daten füttern und ihm Zeit geben, daraus zu lernen, indem er seine eigenen Fehler macht und diese verbessert. Wir haben dem Kind zum Beispiel nicht beigebracht, wie man die Formen einpasst, aber durch mehrmaliges Ausführen der gleichen Aufgabe hat das Kind gelernt, die Formen selbst in das Spielzeug einzupassen.

Daher können wir sagen, dass wir dem Kind nicht explizit beigebracht haben, wie man die Formen einpasst. Das Gleiche machen wir mit Maschinen. Wir geben ihr genügend Daten zur Bearbeitung und füttern sie mit den Informationen, die wir von ihr wollen. So verarbeitet sie die Daten und macht genaue Vorhersagen.

Warum brauchen wir maschinelles Lernen?

Angenommen, wir haben einen Satz von Bildern von Katzen und Hunden. Was wir tun wollen, ist, sie in eine Gruppe von Katzen und Hunden zu klassifizieren. Dazu müssen wir verschiedene Merkmale der Tiere herausfinden, z. B.:

  1. Wie viele Augen hat jedes Tier?
  2. Was ist die Augenfarbe jedes Tieres?
  3. Welche Größe hat jedes Tier?
  4. Welches Gewicht hat jedes Tier?
  5. Was frisst jedes Tier im Allgemeinen?

Wir bilden einen Vektor aus den Antworten auf jede dieser Fragen. Als nächstes wenden wir eine Reihe von Regeln an, z.B.:

Wenn die Höhe > 1 Fuß und das Gewicht > 15 Pfund beträgt, dann könnte es eine Katze sein.

Nun müssen wir einen solchen Satz von Regeln für jeden Datenpunkt erstellen. Außerdem legen wir einen Entscheidungsbaum aus Wenn, Sonst, Wenn, Sonst-Anweisungen an und prüfen, ob er in eine der Kategorien fällt.

Angenommen, das Ergebnis dieses Experiments war nicht ergiebig, da es viele der Tiere falsch klassifiziert hat, was uns eine hervorragende Gelegenheit bietet, maschinelles Lernen einzusetzen.

Was maschinelles Lernen tut, ist, die Daten mit verschiedenen Arten von Algorithmen zu verarbeiten und uns zu sagen, welches Merkmal wichtiger ist, um zu bestimmen, ob es sich um eine Katze oder einen Hund handelt. Anstatt also viele Regelsätze anzuwenden, können wir es auf der Basis von zwei oder drei Merkmalen vereinfachen, und als Ergebnis erhalten wir eine höhere Genauigkeit. Die bisherige Methode war nicht verallgemeinert genug, um Vorhersagen zu treffen.

Maschinelle Lernmodelle helfen uns bei vielen Aufgaben, wie zum Beispiel:

  • Objekterkennung
  • Zusammenfassung
  • Vorhersage
  • Klassifizierung
  • Clustering
  • Empfehlungssysteme
  • Und andere

Was ist ein maschinelles Lernmodell?

Ein Machine-Learning-Modell ist ein Frage-/Antwort-System, das sich um die Verarbeitung von Machine-Learning-bezogenen Aufgaben kümmert. Stellen Sie es sich als ein Algorithmus-System vor, das Daten beim Lösen von Problemen darstellt. Die Methoden, mit denen wir uns im Folgenden befassen werden, sind für branchenbezogene Zwecke von Vorteil, um geschäftliche Probleme zu lösen.

Stellen wir uns zum Beispiel vor, dass wir am ML-System von Google Adwords arbeiten und unsere Aufgabe darin besteht, einen ML-Algorithmus zu implementieren, um einen bestimmten demografischen Bereich oder ein bestimmtes Gebiet anhand von Daten zu vermitteln. Eine solche Aufgabe zielt darauf ab, aus der Nutzung von Daten wertvolle Erkenntnisse zu gewinnen, um die Geschäftsergebnisse zu verbessern.

Hauptalgorithmen für maschinelles Lernen:

Wir verwenden Regressionsalgorithmen für die Vorhersage kontinuierlicher Werte.

Regressionsalgorithmen:

  • Lineare Regression
  • Polynomiale Regression
  • Exponentielle Regression
  • Logistische Regression
  • Logarithmische Regression

Klassifikation

Wir verwenden Klassifikationsalgorithmen für die Vorhersage der Klasse oder Kategorie eines Satzes von Elementen.

Klassifizierungsalgorithmen:

  • K-Nächste Nachbarn
  • Entscheidungsbäume
  • Random Forest
  • Support Vector Machine
  • Naive Bayes

Clustering

Wir verwenden Clustering-Algorithmen zur Zusammenfassung oder zur Strukturierung von Daten.

Clustering-Algorithmen:

  • K-means
  • DBSCAN
  • Mean Shift
  • Hierarchisch

Assoziation

Wir verwenden Assoziationsalgorithmen, um gemeinsam auftretende Elemente oder Ereignisse zu verknüpfen.

Assoziationsalgorithmen:

  • Apriori

Anomalie-Erkennung

Wir verwenden Anomalie-Erkennung, um abnormale Aktivitäten und ungewöhnliche Fälle wie Betrugserkennung zu entdecken.

Sequence Pattern Mining

Wir verwenden sequentielles Pattern Mining für die Vorhersage der nächsten Datenereignisse zwischen Datenbeispielen in einer Sequenz.

Dimensionalitätsreduktion

Wir verwenden Dimensionalitätsreduktion zur Reduzierung der Datengröße, um nur nützliche Merkmale aus einem Datensatz zu extrahieren.

Empfehlungssysteme

Wir verwenden Empfehlungsalgorithmen, um Empfehlungsmaschinen zu bauen.

Beispiele:

  • Netflix-Empfehlungssystem.
  • Ein Buchempfehlungssystem.
  • Ein Produktempfehlungssystem auf Amazon.

Heutzutage hören wir viele Schlagworte wie künstliche Intelligenz, maschinelles Lernen, Deep Learning und andere.

Was sind die grundlegenden Unterschiede zwischen künstlicher Intelligenz, maschinellem Lernen und Deep Learning?

📚 Sehen Sie sich unsere redaktionellen Empfehlungen zu den besten Büchern über maschinelles Lernen an. 📚

Künstliche Intelligenz (KI):

Künstliche Intelligenz (KI) ist nach der Definition von Professor Andrew Moore die Wissenschaft und Technik, die Computer dazu bringt, sich so zu verhalten, wie wir bis vor kurzem dachten, dass menschliche Intelligenz erforderlich ist.

Dazu gehören:

  • Computer Vision
  • Sprachverarbeitung
  • Kreativität
  • Summarisierung

Maschinelles Lernen (ML):

Wie von Professor Tom Mitchell definiert, bezieht sich maschinelles Lernen auf einen wissenschaftlichen Zweig der KI, der sich auf die Untersuchung von Computeralgorithmen konzentriert, die es Computerprogrammen ermöglichen, sich durch Erfahrung automatisch zu verbessern.

Dazu gehören:

  • Klassifikation
  • Neuronales Netzwerk
  • Clustering

Deep Learning:

Deep Learning ist ein Teilbereich des maschinellen Lernens, bei dem geschichtete neuronale Netzwerke in Kombination mit hoher Rechenleistung und großen Datensätzen leistungsfähige maschinelle Lernmodelle erstellen können.

Abstrakte Darstellung eines neuronalen Netzes | Photo by Clink Adair via Unsplash

Abstrakte Darstellung eines neuronalen Netzes | Photo by Clink Adair via Unsplash

Neuronales Netzwerk abstrakte Darstellung | Foto von Clink Adair via Unsplash

Warum bevorzugen wir Python, um maschinelle Lernalgorithmen zu implementieren?

Python ist eine beliebte und universell einsetzbare Programmiersprache. Wir können maschinelle Lernalgorithmen mit Python schreiben, und es funktioniert gut. Der Grund, warum Python bei Datenwissenschaftlern so beliebt ist, ist, dass Python bereits eine Vielzahl von Modulen und Bibliotheken implementiert hat, die uns das Leben erleichtern.

Lassen Sie uns einen kurzen Blick auf einige spannende Python-Bibliotheken werfen.

  1. Numpy: Es ist eine mathematische Bibliothek für die Arbeit mit n-dimensionalen Arrays in Python. Sie ermöglicht es uns, Berechnungen effektiv und effizient durchzuführen.
  2. Scipy: Es ist eine Sammlung von numerischen Algorithmen und domänenspezifischen Werkzeugen, darunter Signalverarbeitung, Optimierung, Statistik und vieles mehr. Scipy ist eine funktionale Bibliothek für wissenschaftliche und Hochleistungsberechnungen.
  3. Matplotlib: Es ist ein trendiges Plot-Paket, das sowohl 2D- als auch 3D-Plotten ermöglicht.
  4. Scikit-learn: Es ist eine freie Bibliothek für maschinelles Lernen für die Programmiersprache Python. Es verfügt über die meisten Klassifizierungs-, Regressions- und Clustering-Algorithmen und arbeitet mit numerischen Python-Bibliotheken wie Numpy, Scipy.

Maschinelle Lernalgorithmen lassen sich in zwei Gruppen einteilen:

  • Supervised Learning Algorithmen
  • Unsupervised Learning Algorithmen

I. Supervised Learning Algorithmen:

Ziel: Vorhersage von Klassen- oder Wertelabels.

Supervised Learning ist ein Zweig des maschinellen Lernens (vielleicht ist es im Moment der Mainstream des Machine/Deep Learning), der sich mit der Ableitung einer Funktion aus gelabelten Trainingsdaten beschäftigt. Trainingsdaten bestehen aus einem Satz von *(Eingabe, Ziel)*-Paaren, wobei die Eingabe ein Vektor von Merkmalen sein kann und das Ziel angibt, was die Funktion ausgeben soll. Abhängig von der Art des *Ziels* können wir das überwachte Lernen grob in zwei Kategorien einteilen: Klassifikation und Regression. Klassifikation beinhaltet kategorische Ziele; die Beispiele reichen von einigen einfachen Fällen, wie der Bildklassifikation, bis zu einigen fortgeschrittenen Themen, wie maschinellen Übersetzungen und Bildbeschriftungen. Bei der Regression geht es um kontinuierliche Ziele. Zu den Anwendungen gehören Aktienvorhersagen, Bildmaskierung und andere – die alle in diese Kategorie fallen.

Zur Veranschaulichung des Beispiels des überwachten Lernens unten | Quelle: Photo by Shirota Yuri, Unsplash

Um zu verstehen, was überwachtes Lernen ist, werden wir ein Beispiel verwenden. Zum Beispiel geben wir einem Kind 100 ausgestopfte Tiere, in denen zehn Tiere von jeder Art sind, wie zehn Löwen, zehn Affen, zehn Elefanten und andere. Als Nächstes bringen wir dem Kind bei, die verschiedenen Arten von Tieren anhand verschiedener Merkmale (Eigenschaften) eines Tieres zu erkennen. Wenn es z. B. orangefarben ist, könnte es ein Löwe sein. Wenn es ein großes Tier mit einem Rüssel ist, dann könnte es ein Elefant sein.

Wir bringen dem Kind bei, Tiere zu unterscheiden, dies kann ein Beispiel für überwachtes Lernen sein. Wenn wir dem Kind nun verschiedene Tiere geben, sollte es in der Lage sein, sie in eine passende Tiergruppe zu klassifizieren.

Für dieses Beispiel stellen wir fest, dass 8/10 seiner Klassifizierungen richtig waren. Wir können also sagen, dass das Kind eine ziemlich gute Arbeit geleistet hat. Das Gleiche gilt für Computer. Wir stellen ihnen Tausende von Datenpunkten mit ihren tatsächlichen gelabelten Werten zur Verfügung (gelabelte Daten sind Daten, die zusammen mit ihren Merkmalswerten in verschiedene Gruppen klassifiziert werden). Dann lernt er in seiner Trainingsperiode aus den verschiedenen Merkmalen. Nachdem die Trainingsperiode vorbei ist, können wir unser trainiertes Modell verwenden, um Vorhersagen zu treffen. Denken Sie daran, dass wir die Maschine bereits mit gelabelten Daten gefüttert haben, sodass ihr Vorhersagealgorithmus auf überwachtem Lernen basiert. Kurz gesagt, wir können sagen, dass die Vorhersagen dieses Beispiels auf gelabelten Daten basieren.

Beispiel für überwachte Lernalgorithmen:

  • Lineare Regression
  • Logistische Regression
  • K-Nächste Nachbarn
  • Entscheidungsbaum
  • Random Forest
  • Support Vector Machine

II. Unüberwachtes Lernen:

Ziel: Ermitteln von Datenmustern/Gruppierungen.

Im Gegensatz zum überwachten Lernen. Unüberwachtes Lernen folgert aus unmarkierten Daten eine Funktion, die versteckte Strukturen in Daten beschreibt.

Die vielleicht grundlegendste Art des unüberwachten Lernens sind Dimensionsreduktionsmethoden, wie PCA, t-SNE, wobei PCA im Allgemeinen in der Datenvorverarbeitung und t-SNE in der Regel in der Datenvisualisierung verwendet wird.

Ein fortschrittlicherer Zweig ist das Clustering, das die versteckten Muster in den Daten erforscht und dann Vorhersagen auf Basis dieser Muster trifft; Beispiele sind K-Mean-Clustering, Gaußsche Mischmodelle, versteckte Markov-Modelle und andere.

Mit der Renaissance des Deep Learning gewinnt das unüberwachte Lernen immer mehr an Aufmerksamkeit, da es uns von der manuellen Beschriftung der Daten befreit. Vor dem Hintergrund des Deep Learning betrachten wir zwei Arten des unüberwachten Lernens: Repräsentationslernen und generative Modelle.

Das Repräsentationslernen zielt darauf ab, ein repräsentatives Merkmal auf hoher Ebene zu destillieren, das für einige nachgelagerte Aufgaben nützlich ist, während generative Modelle beabsichtigen, die Eingabedaten anhand einiger verborgener Parameter zu reproduzieren.

Um das Beispiel des unüberwachten Lernens unten zu illustrieren | Quelle: Foto von Jelleke Vanooteghem, Unsplash

Unüberwachtes Lernen funktioniert so, wie es klingt. Bei dieser Art von Algorithmen haben wir keine gelabelten Daten. Also muss die Maschine die Eingabedaten verarbeiten und versuchen, Rückschlüsse auf die Ausgabe zu ziehen. Erinnern Sie sich zum Beispiel an das Kind, dem wir ein Formspielzeug gegeben haben? In diesem Fall würde es aus seinen eigenen Fehlern lernen, um das perfekte Formloch für verschiedene Formen zu finden.

Der Haken an der Sache ist aber, dass wir das Kind nicht füttern, indem wir ihm die Methoden beibringen, um die Formen anzupassen (im Sinne des maschinellen Lernens als gelabelte Daten bezeichnet). Vielmehr lernt das Kind aus den verschiedenen Eigenschaften des Spielzeugs und versucht, daraus Schlüsse zu ziehen. Kurz gesagt, die Vorhersagen basieren auf unmarkierten Daten.

Beispiele für unüberwachte Lernalgorithmen:

  • Dimensionsreduktion
  • Dichte-Schätzung
  • Marktkorb-Analyse
  • Generative adversarische Netzwerke (GANs)
  • Clustering

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.