Erinnern Sie sich an das No Free Lunch Theorem? Nein, es geht (noch) nicht ums Essen. Aber wenn Sie hungrig sind, sollten Sie einen Snack zu sich nehmen, bevor Sie diesen Beitrag lesen – ich möchte nicht, dass Sie Ihre Tastatur vollsabbern.

Ich möchte Sie daran erinnern, dass kein Algorithmus für alle möglichen Situationen optimal ist. Algorithmen des maschinellen Lernens sind empfindliche Instrumente, die man auf der Grundlage der Problemmenge abstimmt, insbesondere beim überwachten maschinellen Lernen.

Heute werden wir sehen, wie gängige Klassifizierungsalgorithmen funktionieren und uns zum Beispiel dabei helfen, wunderbare, saftige Tomaten auszusuchen und zu sortieren.

Wie Klassifizierung funktioniert

Wir sagen jeden Tag voraus, ob eine Sache einer bestimmten Klasse zugeordnet werden kann. Ein Beispiel: Die Klassifizierung hilft uns, Entscheidungen zu treffen, wenn wir im Supermarkt Tomaten pflücken („grün“, „perfekt“, „verdorben“). In der Sprache des maschinellen Lernens ordnen wir jeder Tomate, die wir in den Händen halten, ein Etikett einer der Klassen zu.

Die Effizienz Ihres Tomatenpflück-Wettbewerbs (manche würden es ein Klassifizierungsmodell nennen) hängt von der Genauigkeit seiner Ergebnisse ab. Je öfter Sie selbst in den Supermarkt gehen (anstatt Ihre Eltern oder Ihren Lebensgefährten zu schicken), desto besser werden Sie darin, frische und leckere Tomaten auszusuchen.

Computer sind genau dasselbe! Damit ein Klassifizierungsmodell lernen kann, Ergebnisse genau vorherzusagen, braucht es viele Trainingsbeispiele.

4 Arten der Klassifizierung

4 Arten von Klassifizierungsaufgaben beim maschinellen Lernen

Binär

Binäre Klassifizierung bedeutet, dass es zwei Klassen gibt, die sich als wahr und falsch zueinander verhalten. Stellen Sie sich vor, Sie haben eine große Kiste mit gelben und roten Tomaten vor sich stehen. Ihr schickes italienisches Pasta-Rezept besagt aber, dass Sie nur die roten brauchen.

Was tun Sie? Natürlich verwenden Sie die Etikettenkodierung und weisen in diesem Fall „rot“ eine 1 und „nicht rot“ eine 0 zu. Das Sortieren von Tomaten war noch nie so einfach.

Binäre Klassifizierung

Multiklasse

Was sehen Sie auf diesem Foto?

Tomaten

Rote Beefsteak-Tomaten. Kirschtomaten. Cocktailtomaten. Heirloom-Tomaten.

Hier gibt es kein Schwarz und Weiß, „normal“ und „abnormal“ wie in der binären Klassifizierung. Wir heißen alle Arten von wunderbarem Gemüse (oder Beeren) auf unserem Tisch willkommen.

Was Sie wahrscheinlich nicht wissen, wenn Sie kein Fan von Tomaten beim Kochen sind, ist, dass nicht alle Tomaten gleich gut für dasselbe Gericht sind. Rote Beefsteak-Tomaten sind perfekt für Salsa, aber man kann sie nicht einlegen. Kirschtomaten eignen sich für Salate, aber nicht für Nudeln. Es ist also wichtig zu wissen, womit man es zu tun hat.

Mehrklassen-Klassifikation hilft uns, alle Tomaten aus der Kiste zu sortieren, unabhängig davon, wie viele Klassen es gibt.

Mehrklassen-Klassifikation

Multilabel

Multilabel-Klassifikation wird angewendet, wenn eine Eingabe zu mehr als einer Klasse gehören kann, wie eine Person, die Bürger zweier Länder ist.

Um mit dieser Art von Klassifizierung zu arbeiten, müssen Sie ein Modell erstellen, das mehrere Ausgaben vorhersagen kann.

Sie benötigen eine Multi-Label-Klassifizierung für die Objekterkennung in Fotos. Zum Beispiel, wenn Sie nicht nur Tomaten, sondern auch verschiedene andere Arten von Objekten im selben Bild identifizieren müssen: Äpfel, Zucchini, Zwiebeln usw.

Wichtiger Hinweis für alle Tomatenliebhaber: Man kann nicht einfach einen binären oder Multiklassen-Klassifizierungsalgorithmus nehmen und ihn direkt auf die Multi-Label-Klassifizierung anwenden. Aber Sie können Folgendes verwenden:

Multilabel-Klassifizierung

Sie können auch versuchen, einen separaten Algorithmus für jede Klasse zu verwenden, um die Etiketten für jede Kategorie vorherzusagen.

Unausgewogene Klassifizierung

Wir arbeiten mit unausgewogener Klassifizierung, wenn die Beispiele in jeder Klasse ungleich verteilt sind.

Unausgewogene Klassifizierung wird für Betrugserkennungssoftware und medizinische Diagnose verwendet. Ein Beispiel für eine unausgewogene Klassifizierung ist das Auffinden seltener und exquisiter biologisch angebauter Tomaten, die versehentlich in einem großen Stapel von Supermarkttomaten verschüttet wurden, wie Gints, unser großartiger Redakteur, erklärt (wenn Sie weitere Beispiele kennen, twittern Sie sie uns).

Unausgewogene Klassifizierung

Ich empfehle dir, den fantastischen Blog von Machine Learning Mastery zu besuchen, wo du über die verschiedenen Arten der Klassifizierung lesen und viele weitere Materialien zum maschinellen Lernen studieren kannst.

Schritte zur Erstellung eines Klassifizierungsmodells

Wenn Sie wissen, mit welcher Art von Klassifizierungsaufgabe Sie es zu tun haben, ist es an der Zeit, ein Modell zu erstellen.

  1. Wählen Sie den Klassifikator. Sie müssen einen der ML-Algorithmen auswählen, den Sie auf Ihre Daten anwenden wollen.
  2. Trainieren Sie ihn. Sie müssen einen Trainingsdatensatz mit beschrifteten Ergebnissen vorbereiten (je mehr Beispiele, desto besser).
  3. Vorhersage der Ausgabe. Verwenden Sie das Modell, um einige Ergebnisse zu erhalten.
  4. Evaluieren Sie das Klassifizierungsmodell. Es ist eine gute Idee, einen Validierungssatz von Daten vorzubereiten, die Sie beim Training nicht verwendet haben, um die Ergebnisse zu überprüfen.

Werfen wir nun einen Blick auf die am häufigsten verwendeten Klassifizierungsalgorithmen.

Die beliebtesten Klassifizierungsalgorithmen

Gebräuchliche Klassifizierungsalgorithmen

Scikit-Learn ist eine der besten ML-Bibliotheken für Python. Wenn Sie also Ihr eigenes Modell erstellen wollen, sollten Sie sich diese Bibliothek ansehen. Sie bietet Zugang zu weit verbreiteten Klassifikatoren.

Logistische Regression

Logistische Regression wird für die binäre Klassifizierung verwendet.

Dieser Algorithmus verwendet eine logistische Funktion, um die Wahrscheinlichkeit des Eintretens eines Ergebnisses zu modellieren. Er ist besonders nützlich, wenn man verstehen will, wie mehrere unabhängige Variablen eine einzelne Ergebnisvariable beeinflussen.

Beispielfrage: Führen die Niederschlagsmenge und die Bodenzusammensetzung zum Gedeihen oder zum vorzeitigen Absterben einer Tomate?

Die logistische Regression hat ihre Grenzen; alle Prädiktoren sollten unabhängig sein, und es sollten keine fehlenden Werte vorhanden sein. Dieser Algorithmus versagt, wenn es keine lineare Trennung der Werte gibt.

Naive Bayes

Der Naive Bayes-Algorithmus basiert auf dem Bayes-Theorem. Sie können diesen Algorithmus für binäre und Mehrklassen-Klassifikation anwenden und Daten auf der Grundlage historischer Ergebnisse klassifizieren.

Beispielaufgabe: Ich muss faule Tomaten anhand ihres Aussehens von frischen Tomaten unterscheiden.

Die Vorteile von Naive Bayes sind, dass diese Algorithmen schnell zu erstellen sind: Sie benötigen keine umfangreiche Trainingsmenge und sind auch im Vergleich zu anderen Methoden schnell. Da die Leistung der Bayes’schen Algorithmen jedoch von der Genauigkeit ihrer starken Annahmen abhängt, können die Ergebnisse möglicherweise sehr schlecht ausfallen.

Mit Hilfe des Bayes’schen Theorems lässt sich feststellen, wie sich das Auftreten eines Ereignisses auf die Wahrscheinlichkeit eines anderen Ereignisses auswirkt.

k-Nächste Nachbarn

kNN steht für „k-nächster Nachbar“ und ist einer der einfachsten Klassifizierungsalgorithmen.

Der Algorithmus ordnet Objekte der Klasse zu, zu der die meisten ihrer nächsten Nachbarn im mehrdimensionalen Merkmalsraum gehören. Die Zahl k ist die Anzahl der benachbarten Objekte im Merkmalsraum, die mit dem klassifizierten Objekt verglichen werden.

Beispiel: Ich möchte die Art der Tomate aus den Arten der ihr ähnlichen Tomaten vorhersagen.

Um die Eingaben mithilfe von k-nächsten Nachbarn zu klassifizieren, müssen Sie eine Reihe von Aktionen durchführen:

  • Berechnen Sie den Abstand zu jedem der Objekte in der Trainingsstichprobe;
  • Wählen Sie k Objekte der Trainingsstichprobe aus, deren Abstand minimal ist;
  • Die Klasse des zu klassifizierenden Objekts ist die Klasse, die unter den k-nächsten Nachbarn am häufigsten vorkommt.

Entscheidungsbaum

Entscheidungsbäume sind wahrscheinlich die intuitivste Art, einen Entscheidungsprozess zu visualisieren. Um ein Klassenetikett einer Eingabe vorherzusagen, beginnen wir an der Wurzel des Baumes. Man muss den Möglichkeitsraum auf der Grundlage einer Entscheidungsregel, die man für jeden Knoten hat, in kleinere Teilmengen aufteilen.

Hier ist ein Beispiel:

Beispiel für einen Entscheidungsbaum

Man zerlegt den Möglichkeitsraum immer weiter, bis man das Ende des Baumes erreicht. Jeder Entscheidungsknoten hat zwei oder mehr Zweige. Die Blätter im obigen Modell enthalten die Entscheidung darüber, ob eine Person geeignet ist oder nicht.

Beispiel: Sie haben einen Korb mit verschiedenen Tomaten und möchten die richtige auswählen, um Ihr Gericht zu verfeinern.

Typen von Entscheidungsbäumen

Es gibt zwei Arten von Bäumen. Sie basieren auf der Art der Zielvariablen:

  • Entscheidungsbaum für kategorische Variablen.
  • Entscheidungsbaum für kontinuierliche Variablen.

Daher funktionieren Entscheidungsbäume sowohl mit numerischen als auch mit kategorischen Daten recht gut. Ein weiterer Vorteil der Verwendung von Entscheidungsbäumen ist, dass sie wenig Datenvorbereitung erfordern.

Entscheidungsbäume können jedoch zu kompliziert werden, was zu einer Überanpassung führt. Ein erheblicher Nachteil dieser Algorithmen ist, dass kleine Variationen in den Trainingsdaten sie instabil machen und zu völlig neuen Bäumen führen.

Random Forest

Random Forest-Klassifikatoren verwenden mehrere verschiedene Entscheidungsbäume auf verschiedenen Teilproben von Datensätzen. Das durchschnittliche Ergebnis wird als Vorhersage des Modells verwendet, was die Vorhersagegenauigkeit des Modells im Allgemeinen verbessert und einer Überanpassung entgegenwirkt.

Folglich können Random Forests zur Lösung komplexer Probleme des maschinellen Lernens verwendet werden, ohne die Genauigkeit der Ergebnisse zu beeinträchtigen. Allerdings benötigen sie mehr Zeit für die Bildung einer Vorhersage und sind schwieriger zu implementieren.

Lesen Sie mehr über die Funktionsweise von Random Forests im Blog Towards Data Science.

Support Vector Machine

Support Vector Machines verwenden eine Hyperebene in einem N-dimensionalen Raum, um die Datenpunkte zu klassifizieren. N ist dabei die Anzahl der Merkmale. Sie kann im Grunde jede beliebige Zahl sein, aber je größer sie ist, desto schwieriger wird es, ein Modell zu erstellen.

Man kann sich die Hyperebene als eine Linie vorstellen (für einen 2-dimensionalen Raum). Sobald man den 3-dimensionalen Raum überschreitet, wird es für uns schwierig, das Modell zu visualisieren.

Datenpunkte, die auf verschiedene Seiten der Hyperebene fallen, werden verschiedenen Klassen zugeordnet.

Beispiel: Ein automatisches System, das Tomaten anhand ihrer Form, ihres Gewichts und ihrer Farbe sortiert.

Die von uns gewählte Hyperebene wirkt sich direkt auf die Genauigkeit der Ergebnisse aus. Wir suchen also nach der Ebene, die den größten Abstand zwischen den Datenpunkten beider Klassen aufweist.

SVMs zeigen genaue Ergebnisse bei minimaler Rechenleistung, wenn man viele Merkmale hat.

Zusammenfassend

Wie Sie sehen, kann maschinelles Lernen so einfach sein wie das Auflesen von Gemüse im Laden. Aber es gibt viele Details, die Sie beachten müssen, wenn Sie es nicht vermasseln wollen. Bleiben Sie auf unserem Blog, Twitter und Medium dran, um mehr über maschinelles Lernen zu erfahren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.