9 Wichtige Algorithmen für maschinelles Lernen, erklärt in einfachem Englisch

Maschinelles Lernen verändert die Welt. Google verwendet maschinelles Lernen, um Nutzern Suchergebnisse vorzuschlagen. Netflix empfiehlt damit Filme, die Sie ansehen können. Facebook verwendet maschinelles Lernen, um Personen vorzuschlagen, die Sie vielleicht kennen.

Maschinelles Lernen war noch nie so wichtig. Gleichzeitig ist es schwierig, maschinelles Lernen zu verstehen. Das Feld ist voller Jargon. Und die Anzahl der verschiedenen ML-Algorithmen wächst von Jahr zu Jahr.

Dieser Artikel führt Sie in die grundlegenden Konzepte des maschinellen Lernens ein. Insbesondere werden wir die grundlegenden Konzepte hinter den 9 wichtigsten Algorithmen für maschinelles Lernen diskutieren.

Empfehlungssysteme

Was sind Empfehlungssysteme?

Empfehlungssysteme werden verwendet, um ähnliche Einträge in einem Datensatz zu finden.

Das vielleicht häufigste Beispiel für eine Empfehlung in der Praxis ist Netflix. Insbesondere wird der Video-Streaming-Dienst empfohlene Filme und Fernsehsendungen empfehlen, die auf bereits gesehenen Inhalten basieren.

Ein weiteres Empfehlungssystem ist die Facebook-Funktion „Personen, die Sie vielleicht kennen“, die auf der Grundlage Ihrer vorhandenen Freundesliste mögliche Freunde für Sie vorschlägt.

Voll entwickelte und eingesetzte Empfehlungssysteme sind äußerst ausgefeilt. Sie sind auch sehr ressourcenintensiv.

Empfehlungssysteme und lineare Algebra

Ausgereifte Empfehlungssysteme erfordern einen tiefen Hintergrund in der linearen Algebra, um von Grund auf neu aufgebaut zu werden.

Aus diesem Grund gibt es in diesem Abschnitt möglicherweise Konzepte, die Sie nicht verstehen, wenn Sie noch nie zuvor lineare Algebra studiert haben.

Keine Sorge - die Scikit-Learn-Python-Bibliothek macht es sehr einfach, Empfehlungssysteme zu erstellen. S0 Sie benötigen nicht viel linearen Algebra-Hintergrund, um reale Empfehlungssysteme zu erstellen.

Wie funktionieren Empfehlungssysteme?

Es gibt zwei Haupttypen von Empfehlungssystemen:

  • Inhaltsbasierte Empfehlungssysteme
  • Empfehlungssysteme für kollaborative Filterung

Inhaltsbasierte Empfehlungssysteme geben Ihnen Empfehlungen basierend auf der Ähnlichkeit der Elemente mit Elementen, die Sie bereits verwendet haben. Sie verhalten sich genau so, wie Sie es von einem Empfehlungssystem erwarten würden.

Kollaborative Filterempfehlungssysteme erstellen Empfehlungen, die auf dem Wissen über die Interaktionen des Benutzers mit Elementen basieren. Anders gesagt, sie benutzen die Weisheit der Menge. (Daher der Begriff "kollaborativ" in seinem Namen.)

In der realen Welt sind kollaborative Filterempfehlungssysteme weitaus häufiger als inhaltsbasierte Systeme. Dies liegt hauptsächlich daran, dass sie normalerweise bessere Ergebnisse liefern. Einige Praktiker finden auch kollaborative Filterempfehlungssysteme leichter zu verstehen.

Empfehlungssysteme für die kollaborative Filterung weisen außerdem eine einzigartige Funktion auf, bei der inhaltsbasierte Systeme fehlen. Sie haben nämlich die Möglichkeit, Funktionen selbst zu erlernen.

Dies bedeutet, dass sie sogar Ähnlichkeiten zwischen Elementen anhand von Attributen identifizieren können, die Sie nicht einmal berücksichtigt haben.

Innerhalb der kollaborativen Filterung gibt es zwei Unterkategorien:

  • Speicherbasierte kollaborative Filterung
  • Modellbasierte kollaborative Filterung

Sie müssen die Unterschiede zwischen diesen beiden Arten von Empfehlungssystemen für die kollaborative Filterung nicht kennen, um beim maschinellen Lernen erfolgreich zu sein. Es reicht zu erkennen, dass mehrere Typen existieren.

Abschnitt Zusammenfassung

Hier ist eine kurze Zusammenfassung dessen, was wir in diesem Tutorial über Empfehlungssysteme besprochen haben:

  • Beispiele für Empfehlungssysteme in der realen Welt
  • Die verschiedenen Arten von Empfehlungssystemen und wie kollaborative Filtersysteme häufiger verwendet werden als inhaltsbasierte Empfehlungssysteme
  • Die Beziehung zwischen Empfehlungssystemen und linearer Algebra

Lineare Regression

Die lineare Regression wird verwendet, um einige yWerte basierend auf dem Wert eines anderen Wertesatzes vorherzusagen x.

Die Geschichte der linearen Regression

Die lineare Regression wurde im 19. Jahrhundert von Francis Galton geschaffen.

Galton war ein Wissenschaftler, der die Beziehung zwischen Eltern und Kindern untersuchte. Insbesondere untersuchte Galton die Beziehung zwischen den Höhen der Väter und den Höhen ihrer Söhne.

Galtons erste Entdeckung war, dass Söhne ungefähr so ​​groß waren wie ihre Väter. Das ist nicht überraschend.

Später entdeckte Galton etwas viel Interessanteres. Die Größe des Sohnes lag tendenziell näher an der durchschnittlichen Gesamtgröße aller Menschen als an seinem eigenen Vater .

Galton gab diesem Phänomen einen Namen: Regression . Insbesondere sagte er: „Die Größe des Sohnes eines Vaters neigt dazu, die mittlere (durchschnittliche) Größe zu verringern (oder sich ihr zuzuwenden).

Dies führte zu einem ganzen Bereich der Statistik und des maschinellen Lernens, der Regression genannt wird.

Die Mathematik der linearen Regression

Beim Erstellen eines Regressionsmodells versuchen wir lediglich, eine Linie zu zeichnen, die so nah wie möglich an jedem Punkt in einem Datensatz liegt.

Das typische Beispiel hierfür ist die Methode der kleinsten Quadrate der linearen Regression, bei der nur die Nähe einer Linie in Auf- und Ab-Richtung berechnet wird.

Hier ist ein Beispiel, um dies zu veranschaulichen:

Ein Beispiel für die Mathematik hinter der Regression der kleinsten Quadrate

Wenn Sie ein Regressionsmodell erstellen, ist Ihr Endprodukt eine Gleichung, mit der Sie den y-Wert eines x-Werts vorhersagen können, ohne den y-Wert im Voraus zu kennen.

Logistische Regression

Die logistische Regression ähnelt der linearen Regression, außer dass anstelle der Berechnung eines numerischen yWerts geschätzt wird, zu welcher Kategorie ein Datenpunkt gehört.

Was ist logistische Regression?

Die logistische Regression ist ein Modell des maschinellen Lernens, mit dem Klassifizierungsprobleme gelöst werden.

Hier einige Beispiele für Klassifizierungsprobleme beim maschinellen Lernen:

  • Spam-E-Mails (Spam oder nicht Spam?)
  • Kfz-Versicherungsansprüche (Abschreibung oder Reparatur?)
  • Krankheitsdiagnose

Jedes der Klassifizierungsprobleme hat genau zwei Kategorien, was sie zu Beispielen für binäre Klassifizierungsprobleme macht .

Die logistische Regression ist gut geeignet für die Lösung von binären Klassifikationsprobleme - wir nur die verschiedenen Kategorien einen Wert von zuweisen 0und 1jeweils.

Warum brauchen wir logistische Regression? Weil Sie kein lineares Regressionsmodell verwenden können, um binäre Klassifizierungsvorhersagen zu treffen. Dies würde nicht zu einer guten Anpassung führen, da Sie versuchen, eine gerade Linie durch einen Datensatz mit nur zwei möglichen Werten anzupassen.

Dieses Bild kann Ihnen helfen zu verstehen, warum lineare Regressionsmodelle für binäre Klassifizierungsprobleme schlecht geeignet sind:

Lineare Regressionsklassifikation

In diesem Bild y-axisrepräsentiert das die Wahrscheinlichkeit, dass ein Tumor bösartig ist. Umgekehrt 1-yrepräsentiert der Wert die Wahrscheinlichkeit, dass ein Tumor nicht bösartig ist. Wie Sie sehen können, kann das lineare Regressionsmodell diese Wahrscheinlichkeit für die meisten Beobachtungen im Datensatz nur schlecht vorhersagen.

Aus diesem Grund sind logistische Regressionsmodelle nützlich. Sie haben eine Biegung zu ihrer Best-Fit-Linie, wodurch sie sich viel besser für die Vorhersage kategorialer Daten eignen.

Hier ist ein Beispiel, das ein lineares Regressionsmodell mit einem logistischen Regressionsmodell unter Verwendung derselben Trainingsdaten vergleicht:

Lineare Regression vs. logistische Regression

Die Sigmoid-Funktion

Der Grund, warum das logistische Regressionsmodell eine Biegung in seiner Kurve aufweist, liegt darin, dass es nicht unter Verwendung einer linearen Gleichung berechnet wird. Stattdessen werden logistische Regressionsmodelle mithilfe der Sigmoid-Funktion erstellt (wegen ihrer Verwendung in der logistischen Regression auch als logistische Funktion bezeichnet).

Sie müssen sich die Sigmoid-Funktion nicht merken, um beim maschinellen Lernen erfolgreich zu sein. Vor diesem Hintergrund ist es hilfreich, ein gewisses Verständnis für das Erscheinungsbild zu haben.

Die Gleichung ist unten gezeigt:

Die Sigmoid-Gleichung

Das Hauptmerkmal der Sigmoid-Funktion, das es zu verstehen gilt, ist folgendes: Unabhängig davon, welchen Wert Sie übergeben, wird immer eine Ausgabe zwischen 0 und 1 generiert.

Verwenden logistischer Regressionsmodelle, um Vorhersagen zu treffen

Um das lineare Regressionsmodell für Vorhersagen zu verwenden, müssen Sie im Allgemeinen einen Grenzwert angeben. Dieser Grenzpunkt ist typischerweise 0.5.

Verwenden wir unser Beispiel für die Krebsdiagnose aus unserem früheren Bild, um dieses Prinzip in der Praxis zu sehen. Wenn das logistische Regressionsmodell einen Wert unter 0,5 ausgibt, wird der Datenpunkt als nicht maligner Tumor kategorisiert. In ähnlicher Weise würde der Tumor als bösartig eingestuft, wenn die Sigmoid-Funktion einen Wert über 0,5 ausgibt.

Verwenden einer Verwirrungsmatrix zum Messen der logistischen Regressionsleistung

Eine Verwirrungsmatrix kann als Werkzeug zum Vergleichen von echten Positiven, wahren Negativen, falschen Positiven und falschen Negativen beim maschinellen Lernen verwendet werden.

Verwirrungsmatrizen sind besonders nützlich, wenn sie zur Messung der Leistung logistischer Regressionsmodelle verwendet werden. Hier ist ein Beispiel, wie wir eine Verwirrungsmatrix verwenden könnten:

Eine beispielhafte Verwirrungsmatrix

Eine Verwirrungsmatrix ist nützlich, um zu beurteilen, ob Ihr Modell in einem bestimmten Quadranten der Verwirrungsmatrix besonders schwach ist. Beispielsweise kann es eine ungewöhnlich hohe Anzahl von Fehlalarmen geben.

In bestimmten Anwendungen kann es auch hilfreich sein, sicherzustellen, dass Ihr Modell in einer besonders gefährlichen Zone der Verwirrungsmatrix eine gute Leistung erbringt.

In diesem Krebsbeispiel möchten Sie beispielsweise sehr sicher sein, dass Ihr Modell keine sehr hohe Rate an falsch negativen Ergebnissen aufweist, da dies darauf hinweist, dass jemand einen bösartigen Tumor hat, den Sie fälschlicherweise als nicht bösartig eingestuft haben.

Abschnitt Zusammenfassung

In diesem Abschnitt hatten Sie Ihre erste Erfahrung mit Modellen des logistischen Regressions-Maschinellen Lernens.

Hier ist eine kurze Zusammenfassung dessen, was Sie über logistische Regression gelernt haben:

  • Die Arten von Klassifizierungsproblemen, die zur Lösung mit logistischen Regressionsmodellen geeignet sind
  • Dass die Logistikfunktion (auch Sigmoid-Funktion genannt) immer einen Wert zwischen 0 und 1 ausgibt
  • Verwendung von Grenzpunkten, um Vorhersagen mithilfe eines logistischen Regressionsmodells für maschinelles Lernen zu treffen
  • Warum Verwirrungsmatrizen nützlich sind, um die Leistung logistischer Regressionsmodelle zu messen

K-Nächste Nachbarn

Der K-Nearest Neighbour-Algorithmus kann Ihnen bei der Lösung von Klassifizierungsproblemen helfen, bei denen es mehr als zwei Kategorien gibt.

Was ist der K-Nearest Neighbors-Algorithmus?

Der K-Nächste-Nachbarn-Algorithmus ist ein Klassifizierungsalgorithmus, der auf einem einfachen Prinzip basiert. Tatsächlich ist das Prinzip so einfach, dass es am besten anhand eines Beispiels verstanden werden kann.

Stellen Sie sich vor, Sie hätten Daten zu Größe und Gewicht von Fußballspielern und Basketballspielern. Der K-Nächsten-Nachbarn-Algorithmus kann verwendet werden, um vorherzusagen, ob ein neuer Athlet entweder ein Fußballspieler oder ein Basketballspieler ist.

Zu diesem Zweck identifiziert der K-Nächsten-Nachbarn-Algorithmus die KDatenpunkte, die der neuen Beobachtung am nächsten liegen.

Das folgende Bild veranschaulicht dies mit einem K-Wert von 3:

Eine Visualisierung von k nächsten Nachbarn

In diesem Bild sind die Fußballspieler als blaue Datenpunkte und die Basketballspieler als orangefarbene Punkte gekennzeichnet. Der Datenpunkt, den wir klassifizieren möchten, ist als grün gekennzeichnet.

Da die Mehrheit (2 von 3) der Datenpunkte der Schränke zu den neuen Datenpunkten blaue Fußballspieler sind, sagt der K-Nächste-Nachbarn-Algorithmus voraus, dass der neue Datenpunkt auch ein Fußballspieler ist.

Die Schritte zum Erstellen eines K-Nearest Neighbors-Algorithmus

Die allgemeinen Schritte zum Erstellen eines Algorithmus für K-nächste Nachbarn sind:

  1. Speichern Sie alle Daten
  2. Berechnen Sie den euklidischen Abstand vom neuen Datenpunkt xzu allen anderen Punkten im Datensatz
  3. Sortieren Sie die Punkte im Datensatz in der Reihenfolge der zunehmenden Entfernung von x
  4. Vorhersage mit derselben Kategorie wie die Mehrheit der KDatenpunkte, die am nächsten liegenx

Die Bedeutung von K in einem K-Nearest Neighbors-Algorithmus

Obwohl dies von Anfang an nicht offensichtlich ist, ändert das Ändern des Werts Kin einem Algorithmus für K-nächste Nachbarn, welcher Kategorie ein neuer Punkt zugewiesen wird.

Insbesondere führt ein sehr niedriger KWert dazu, dass Ihr Modell Ihre Trainingsdaten perfekt vorhersagt und Ihre Testdaten schlecht vorhersagt. Wenn Sie einen zu hohen KWert haben, wird Ihr Modell unnötig komplex.

Die folgende Visualisierung veranschaulicht dies hervorragend:

K-Wert und Fehlerraten

Die Vor- und Nachteile des K-Nearest Neighbors-Algorithmus

Um diese Einführung in den Algorithmus der K-nächsten Nachbarn abzuschließen, wollte ich kurz einige Vor- und Nachteile der Verwendung dieses Modells erörtern.

Hier sind einige Hauptvorteile des Algorithmus für K-nächste Nachbarn:

  • Der Algorithmus ist einfach und leicht zu verstehen
  • Es ist trivial, das Modell auf neue Trainingsdaten zu trainieren
  • Es funktioniert mit einer beliebigen Anzahl von Kategorien in einem Klassifizierungsproblem
  • Es ist einfach, dem Datensatz weitere Daten hinzuzufügen
  • Das Modell akzeptiert nur zwei Parameter: Kund die Entfernungsmetrik, die Sie verwenden möchten (normalerweise euklidische Entfernung)

In ähnlicher Weise sind hier einige der Hauptnachteile des Algorithmus aufgeführt:

  • Das Erstellen von Vorhersagen ist mit einem hohen Rechenaufwand verbunden, da Sie den gesamten Datensatz sortieren müssen
  • Es funktioniert nicht gut mit kategorialen Funktionen

Abschnitt Zusammenfassung

Hier ist eine kurze Zusammenfassung dessen, was Sie gerade über den Algorithmus für k-nächste Nachbarn gelernt haben:

  • Ein Beispiel für ein Klassifizierungsproblem (Fußballspieler gegen Basketballspieler), das der Algorithmus für K-nächste Nachbarn lösen könnte
  • Wie die K-nächsten Nachbarn den euklidischen Abstand der benachbarten Datenpunkte verwenden, um vorherzusagen, zu welcher Kategorie ein neuer Datenpunkt gehört
  • Warum der Wert von KDingen für Vorhersagen wichtig ist
  • Die Vor- und Nachteile der Verwendung des K-Nearest Neighbour-Algorithmus

Entscheidungsbäume und zufällige Wälder

Entscheidungsbäume und Zufallswälder sind Beispiele für Baummethoden.

Insbesondere sind Entscheidungsbäume maschinelle Lernmodelle, mit denen Vorhersagen getroffen werden, indem alle Funktionen in einem Datensatz einzeln durchlaufen werden. Zufällige Gesamtstrukturen sind Ensembles von Entscheidungsbäumen, die zufällige Reihenfolgen der Features in den Datensätzen verwendet haben.

Was sind Baummethoden?

Bevor wir uns mit den theoretischen Grundlagen der Baummethoden beim maschinellen Lernen befassen, ist es hilfreich, mit einem Beispiel zu beginnen.

Stellen Sie sich vor, Sie spielen jeden Montag Basketball. Außerdem lädst du immer denselben Freund ein, mit dir zu spielen.

Manchmal kommt der Freund tatsächlich. Manchmal tun sie es nicht.

Die Entscheidung, ob Sie kommen oder nicht, hängt von zahlreichen Faktoren ab, wie Wetter, Temperatur, Wind und Müdigkeit. Sie bemerken diese Funktionen und verfolgen sie zusammen mit der Entscheidung Ihres Freundes, ob Sie spielen möchten oder nicht.

Sie können diese Daten verwenden, um vorherzusagen, ob Ihr Freund zum Basketballspielen auftaucht oder nicht. Eine Technik, die Sie verwenden könnten, ist ein Entscheidungsbaum. So würde dieser Entscheidungsbaum aussehen:

Ein Beispiel für einen Entscheidungsbaum

Jeder Entscheidungsbaum hat zwei Arten von Elementen:

  • Nodes: Orte, an denen sich der Baum gemäß dem Wert eines Attributs teilt
  • Edges: das Ergebnis einer Aufteilung auf den nächsten Knoten

Sie können im Bild oben sehen , dass es Knoten für outlook, humidityund windy. Für jeden potenziellen Wert jedes dieser Attribute gibt es eine Kante.

Hier sind zwei weitere Teile der Entscheidungsbaum-Terminologie, die Sie verstehen sollten, bevor Sie fortfahren:

  • Root: Der Knoten, der die erste Aufteilung durchführt
  • Leaves: Endknoten, die das Endergebnis vorhersagen

Sie haben jetzt ein grundlegendes Verständnis dafür, was Entscheidungsbäume sind. Im nächsten Abschnitt erfahren Sie, wie Sie Entscheidungsbäume von Grund auf neu erstellen.

So erstellen Sie Entscheidungsbäume von Grund auf neu

Das Erstellen von Entscheidungsbäumen ist schwieriger als Sie sich vorstellen können. Dies liegt daran, dass die Entscheidung, nach welchen Funktionen Ihre Daten aufgeteilt werden sollen (ein Thema, das zu den Bereichen Entropie und Informationsgewinn gehört), ein mathematisch komplexes Problem ist.

Um dies zu beheben, verwenden Praktiker des maschinellen Lernens normalerweise viele Entscheidungsbäume unter Verwendung einer zufälligen Stichprobe von Merkmalen, die als Aufteilung ausgewählt wurden.

Anders gesagt, für jeden einzelnen Baum wird bei jeder einzelnen Teilung eine neue zufällige Stichprobe von Merkmalen ausgewählt. Diese Technik nennt man zufällige Wälder .

Im Allgemeinen wählten die Praktiker typischerweise die Größe der Zufallsstichprobe von Merkmalen (bezeichnet m) als Quadratwurzel der Anzahl der Gesamtmerkmale im Datensatz (bezeichnet p). Um es kurz zu machen, mist die Quadratwurzel von p, und dann wird zufällig ein bestimmtes Merkmal ausgewählt m.

Wenn dies momentan keinen Sinn ergibt, machen Sie sich keine Sorgen. Es wird klarer, wenn Sie schließlich Ihr erstes zufälliges Waldmodell erstellen.

Die Vorteile der Verwendung zufälliger Wälder

Stellen Sie sich vor, Sie arbeiten mit einem Datensatz, der eine sehr starke Funktion aufweist. Anders gesagt, der Datensatz weist ein Merkmal auf, das das Endergebnis viel besser vorhersagt als die anderen Merkmale im Datensatz.

Wenn Sie Ihre Entscheidungsbäume manuell erstellen, ist es sinnvoll, diese Funktion als oberste Aufteilung des Entscheidungsbaums zu verwenden. Dies bedeutet, dass Sie mehrere Bäume haben, deren Vorhersagen stark korrelieren.

Wir möchten dies vermeiden, da die Ermittlung des Durchschnitts stark korrelierter Variablen die Varianz nicht wesentlich verringert. Durch zufällige Auswahl von Merkmalen für jeden Baum in einer zufälligen Gesamtstruktur werden die Bäume dekorreliert und die Varianz des resultierenden Modells wird verringert. Diese Dekorrelation ist der Hauptvorteil der Verwendung zufälliger Wälder gegenüber handgefertigten Entscheidungsbäumen

Abschnitt Zusammenfassung

Hier ist eine kurze Zusammenfassung dessen, was Sie in diesem Artikel über Entscheidungsbäume und zufällige Wälder gelernt haben:

  • Ein Beispiel für ein Problem, das Sie mithilfe von Entscheidungsbäumen vorhersagen können
  • Die Elemente eines Entscheidungsbaums: nodes, edges, roots, undleaves
  • Durch die Verwendung zufälliger Stichproben von Entscheidungsbaumfunktionen können wir eine zufällige Gesamtstruktur erstellen
  • Warum die Verwendung zufälliger Gesamtstrukturen zum Dekorrelieren von Variablen hilfreich sein kann, um die Varianz Ihres endgültigen Modells zu verringern

Support-Vektor-Maschinen

Support-Vektor-Maschinen sind Klassifizierungsalgorithmen (obwohl sie technisch gesehen auch zur Lösung von Regressionsproblemen verwendet werden können), die einen Datensatz in Kategorien unterteilen, indem sie die größte Lücke zwischen den Kategorien aufteilen. Dieses Konzept wird in Kürze durch Visualisierungen verdeutlicht.

Was sind Support-Vektor-Maschinen?

Support Vector Machines - kurz SVMs - sind überwachte maschinelle Lernmodelle mit zugehörigen Lernalgorithmen, die Daten analysieren und Muster erkennen.

Support-Vektor-Maschinen können sowohl für Klassifizierungsprobleme als auch für Regressionsprobleme verwendet werden. In diesem Artikel werden wir uns speziell mit der Verwendung von Support-Vektor-Maschinen zur Lösung von Klassifizierungsproblemen befassen.

Wie funktionieren Support Vector Machines?

Lassen Sie uns untersuchen, wie Support-Vektor-Maschinen wirklich funktionieren.

Anhand einer Reihe von Trainingsbeispielen, von denen jedes für die Zugehörigkeit zu einer von zwei Kategorien gekennzeichnet ist, erstellt ein Support-Vektor-Maschinentrainingsalgorithmus ein Modell. Dieses Modell ordnet neue Beispiele einer der beiden Kategorien zu. Dies macht die Unterstützungsvektormaschine zu einem nicht-probabilistischen binären linearen Klassifikator.

Die SVM verwendet Geometrie, um kategoriale Vorhersagen zu treffen.

Insbesondere bildet ein SVM-Modell die Datenpunkte als Punkte im Raum ab und unterteilt die einzelnen Kategorien so, dass sie durch eine möglichst große offene Lücke geteilt werden. Es wird vorausgesagt, dass neue Datenpunkte zu einer Kategorie gehören, basierend darauf, zu welcher Seite der Lücke sie gehören.

Hier ist eine Beispielvisualisierung, die Ihnen helfen kann, die Intuition hinter Support-Vektor-Maschinen zu verstehen:

Wie Sie sehen können, wird ein neuer Datenpunkt, der auf die linke Seite der grünen Linie fällt, mit der roten Kategorie gekennzeichnet. Wenn ein neuer Datenpunkt auf die rechte Seite der grünen Linie fällt, wird er als zur blauen Kategorie gehörend gekennzeichnet.

Diese grüne Linie wird als Hyperebene bezeichnet. Dies ist ein wichtiges Vokabular für die Unterstützung von Vektormaschinenalgorithmen.

Schauen wir uns eine andere visuelle Darstellung einer Support-Vektor-Maschine an:

In diesem Diagramm wird die Hyperebene als optimale Hyperebene bezeichnet . Die Support-Vektor-Maschinentheorie definiert die optimale Hyperebene als diejenige, die den Abstand zwischen den nächstgelegenen Datenpunkten aus jeder Kategorie maximiert.

Wie Sie sehen können, berührt die Randlinie tatsächlich drei Datenpunkte - zwei aus der roten Kategorie und einen aus der blauen Kategorie. Diese Datenpunkte, die die Randlinien berühren, werden als Unterstützungsvektoren bezeichnet und sind der Ort, von dem Unterstützungsvektormaschinen ihren Namen erhalten.

Abschnitt Zusammenfassung

Hier ist eine kurze Zusammenfassung dessen, was Sie gerade über Support-Vektor-Maschinen gelernt haben:

  • Diese Support-Vektor-Maschinen sind ein Beispiel für einen überwachten Algorithmus für maschinelles Lernen
  • Diese Support-Vektor-Maschinen können verwendet werden, um sowohl Klassifizierungs- als auch Regressionsprobleme zu lösen
  • Wie Support-Vektor-Maschinen Datenpunkte mithilfe einer Hyperebene kategorisieren, die den Abstand zwischen Kategorien in einem Datensatz maximiert
  • Dass die Datenpunkte, die Randlinien in einer Unterstützungsvektormaschine berühren, als Unterstützungsvektoren bezeichnet werden . An diesen Datenpunkten leiten Support-Vektor-Maschinen ihren Namen ab.

K-Means Clustering

K-means Clustering ist ein Algorithmus für maschinelles Lernen, mit dem Sie Segmente ähnlicher Daten innerhalb eines Datensatzes identifizieren können.

Was ist K-Means Clustering?

K-means Clustering ist ein unbeaufsichtigter Algorithmus für maschinelles Lernen.

Dies bedeutet, dass unbeschriftete Daten erfasst werden und versucht wird, ähnliche Beobachtungscluster in Ihren Daten zusammenzufassen.

K-Mittel-Clustering-Algorithmen sind sehr nützlich für die Lösung realer Probleme. Hier einige Anwendungsfälle für dieses Modell des maschinellen Lernens:

  • Kundensegmentierung für Marketingteams
  • Dokumentklassifizierung
  • Optimierung der Lieferroute für Unternehmen wie Amazon, UPS oder FedEx
  • Kriminalitätszentren innerhalb einer Stadt identifizieren und darauf reagieren
  • Professionelle Sportanalyse
  • Vorhersage und Verhinderung von Cyberkriminalität

Das Hauptziel eines K-Mittel-Clustering-Algorithmus besteht darin, einen Datensatz in verschiedene Gruppen zu unterteilen, so dass die Beobachtungen innerhalb jeder Gruppe einander ähnlich sind.

Hier ist eine visuelle Darstellung, wie dies in der Praxis aussieht:

Eine Visualisierung eines K bedeutet Clustering-Algorithmus

Wir werden die Mathematik hinter einem K-Mittel-Clustering im nächsten Abschnitt dieses Tutorials untersuchen.

Wie funktionieren K-Means-Clustering-Algorithmen?

Der erste Schritt beim Ausführen eines K-Means-Clustering-Algorithmus besteht darin, die Anzahl der Cluster auszuwählen, in die Sie Ihre Daten aufteilen möchten. Diese Anzahl von Clustern ist der KWert, auf den im Namen des Algorithmus verwiesen wird.

Die Auswahl des KWerts innerhalb eines K-Mittel-Clustering-Algorithmus ist eine wichtige Wahl. Wir werden Kspäter in diesem Artikel mehr darüber sprechen, wie Sie einen geeigneten Wert auswählen können.

Als nächstes müssen Sie jeden Punkt in Ihrem Datensatz zufällig einem zufälligen Cluster zuweisen. Dies gibt unsere anfängliche Zuweisung an, für die Sie dann die folgende Iteration ausführen, bis sich die Cluster nicht mehr ändern:

  • Berechnen Sie den Schwerpunkt jedes Clusters, indem Sie den mittleren Punktvektor innerhalb dieses Clusters verwenden
  • Ordnen Sie jeden Datenpunkt dem Cluster mit dem nächstgelegenen Schwerpunkt neu zu

Hier ist eine Animation, wie dies in der Praxis für einen K-Mittel-Clustering-Algorithmus mit einem KWert von funktioniert 3. Sie können den Schwerpunkt jedes Clusters sehen, der durch ein schwarzes +Zeichen dargestellt wird.

Eine Visualisierung eines K bedeutet Clustering-Algorithmus

Wie Sie sehen, wird diese Iteration fortgesetzt, bis sich die Cluster nicht mehr ändern. Dies bedeutet, dass Datenpunkte nicht mehr neuen Clustern zugewiesen werden.

Die Auswahl eines geeigneten K-Werts für K bedeutet Clustering-Algorithmen

Die Auswahl eines geeigneten KWerts für einen K-Mittel-Clustering-Algorithmus ist eigentlich ziemlich schwierig. Es gibt keine „richtige“ Antwort für die Auswahl des „besten“ KWerts.

Eine Methode, die Praktiker des maschinellen Lernens häufig anwenden, wird als Ellbogenmethode bezeichnet .

Um die Ellbogenmethode zu verwenden, müssen Sie zunächst die Summe der quadratischen Fehler (SSE) für Ihren K-Means-Clustering-Algorithmus für eine Gruppe von KWerten berechnen. SSE in einem K bedeutet, dass der Clustering-Algorithmus als die Summe des quadratischen Abstands zwischen jedem Datenpunkt in einem Cluster und dem Schwerpunkt dieses Clusters definiert ist.

Als Beispiel für diesen Schritt könnten Sie die SSE für berechnen KWerte von 2, 4, 6, 8, und 10.

Als Nächstes möchten Sie ein Diagramm der SSE für diese verschiedenen KWerte erstellen. Sie werden sehen, dass der Fehler mit zunehmendem KWert abnimmt .

Dies ist sinnvoll: Je mehr Kategorien Sie in einem Datensatz erstellen, desto wahrscheinlicher ist es, dass sich jeder Datenpunkt nahe der Mitte seines spezifischen Clusters befindet.

Vor diesem Hintergrund besteht die Idee hinter der Ellbogenmethode darin, einen Wert zu wählen, Kbei dem die SSE ihre Abnahmerate abrupt verlangsamt. Diese abrupte Abnahme erzeugt eine elbowin der Grafik.

Als Beispiel ist hier ein Diagramm von SSE gegen K. In diesem Fall würde die Ellbogenmethode vorschlagen, einen KWert von ungefähr zu verwenden 6.

Eine Visualisierung eines K bedeutet Clustering-Algorithmus

Wichtig 6ist nur eine Schätzung für einen guten KNutzungswert. KIn einem K-Mittel-Clustering-Algorithmus gibt es niemals einen „besten“ Wert. Wie bei vielen Dingen im Bereich des maschinellen Lernens ist dies eine stark situationsabhängige Entscheidung.

Abschnitt Zusammenfassung

Hier ist eine kurze Zusammenfassung dessen, was Sie in diesem Artikel gelernt haben:

  • Beispiele für unbeaufsichtigte maschinelle Lernprobleme, die der K-Means-Clustering-Algorithmus lösen kann
  • Die Grundprinzipien eines K-Mittel-Clustering-Algorithmus
  • Funktionsweise des K-Means-Clustering-Algorithmus
  • Verwendung der Ellbogenmethode zur Auswahl eines geeigneten Werts Kin einem K-Mittel-Clustering-Modell

Hauptkomponentenanalyse

Die Hauptkomponentenanalyse wird verwendet, um einen Datensatz mit vielen Funktionen in einen transformierten Datensatz mit weniger Merkmalen umzuwandeln, wobei jedes neue Merkmal eine lineare Kombination der bereits vorhandenen Merkmale ist. Dieser transformierte Datensatz zielt darauf ab, den größten Teil der Varianz des ursprünglichen Datensatzes viel einfacher zu erklären.

Was ist Hauptkomponentenanalyse?

Die Hauptkomponentenanalyse ist eine maschinelle Lerntechnik, mit der die Wechselbeziehungen zwischen Variablensätzen untersucht werden.

Anders gesagt, untersucht die Hauptkomponentenanalyse Variablensätze, um die zugrunde liegende Struktur dieser Variablen zu identifizieren.

Die Hauptkomponentenanalyse wird manchmal als Faktoranalyse bezeichnet .

Basierend auf dieser Beschreibung könnten Sie denken, dass die Hauptkomponentenanalyse der linearen Regression ziemlich ähnlich ist.

Das ist nicht der Fall. Tatsächlich weisen diese beiden Techniken einige wichtige Unterschiede auf.

Die Unterschiede zwischen linearer Regression und Hauptkomponentenanalyse

Die lineare Regression bestimmt eine Linie mit der besten Anpassung durch einen Datensatz. Die Hauptkomponentenanalyse bestimmt mehrere orthogonale Linien, die am besten zum Datensatz passen.

Wenn Sie mit dem Begriff orthogonal nicht vertraut sind , bedeutet dies nur, dass die Linien im rechten Winkel (90 Grad) zueinander stehen - wie Nord, Ost, Süd und West auf einer Karte.

Betrachten wir ein Beispiel, um Ihnen zu helfen, dies besser zu verstehen.

Eine Hauptkomponentenanalyse

Schauen Sie sich die Achsenbeschriftungen in diesem Bild an.

In diesem Bild zeigt die Hauptkomponente der x-Achse 73% der Varianz im Datensatz. Die Hauptkomponente der y-Achse erklärt etwa 23% der Varianz im Datensatz.

Dies bedeutet, dass 4% der Varianz im Datensatz ungeklärt bleiben. Sie können diese Anzahl weiter reduzieren, indem Sie Ihrer Analyse weitere Hauptkomponenten hinzufügen.

Abschnitt Zusammenfassung

Hier ist eine kurze Zusammenfassung dessen, was Sie in diesem Tutorial über die Hauptkomponentenanalyse gelernt haben:

  • Diese Hauptkomponentenanalyse versucht, orthogonale Faktoren zu finden, die die Variabilität in einem Datensatz bestimmen
  • Die Unterschiede zwischen Hauptkomponentenanalyse und linearer Regression
  • Wie die orthogonalen Hauptkomponenten aussehen, wenn sie in einem Datensatz visualisiert werden
  • Das Hinzufügen weiterer Hauptkomponenten kann Ihnen helfen, die Varianz in einem Datensatz besser zu erklären