ML-Algorithmen Beispiele

Beispiele für ML-Algorithmen

Maschinelles Lernen gehört zum Feld der künstlichen Intelligenz und hat einfache und regelbasierte Systeme in den meisten Bereichen schon lange abgelöst. Nahezu alle der heutigen Produkte, die auf KI basieren, nutzen das eine oder andere ML-Modell. In diesem Post schauen wir uns verschiedene Typen von ML-Algorithmen anhand von echten Use Cases an. Dabei sind diese in drei Hauptbereiche unterteilt: Überwachtes Lernen, Unüberwachtes Lernen und Verstärkungslernen.

Überwachtes Lernen

Überwachtes Lernen (engl. „supervised learning“) ist der Ansatz im Machine Learning, bei dem ein Modell aus „gelabelten Trainingsdaten“ lernt. Das bedeutet, dass jeder Fall im Trainingsdatensatz aus einem oder mehreren Prädiktoren und einem dazugehörigen Zielwert (dem Label) besteht. Ziel ist es, eine Funktion zu erlernen, die Inputs (Prädiktoren) angemessen auf Outputs (Zielwerte) abbildet. Mit angemessen meine ich, dass das Modell anschließend auf neue Daten gut angewendet werden kann, also gut generalisiert.

Vorhersage von Verkaufszahlen

Verkaufszahlen können mit einer linearen Regression vorhergesagt werden. Lineare Regression ist eine statistische Methode, die die Beziehung zwischen einer abhängigen Variablen (y) und einer oder mehreren unabhängigen Variablen (X) modelliert. Bezogen auf überwachtes Lernen wird LR oft verwendet, um eine Prognose für zukünftige Werte zu erstellen. Ein gutes Beispiel dafür ist die Vorhersage von Verkaufszahlen, basierend auf verschiedenen Prädiktoren wie Saison, Feiertagen, Werbeaktionen, Vorwochenumsatz usw. Die lineare Regression lernt aus diesen historischen Daten, um die Verkaufszahlen z.B. morgen vorherzusagen.

Erkennung von Spam-E-Mails

Ob E-Mails Spam sind oder nicht, lässt sich unter anderem mit Naive Bayes-Klassifikatoren herausfinden. Naive Bayes sind probabilistische Algorithmen, die auf dem Bayes-Theorem basieren. Sie haben sich als wirksam erwiesen u.a. für Textklassifikationsprobleme. Bei der Erkennung von Spam-E-Mails lernt ein Naiver Bayes-Klassifikator, welche Wörter oder Phrasen wahrscheinlich in Spam-E-Mails, aber nicht in „guten“ E-Mails auftauchen. Es entsteht ein Modell, das genutzt werden kann, um die Spam-Wahrscheinlichkeit für eine neue E-Mail zu berechnen.

Gesichtserkennung

Viele Formen der Bilderkennung basieren auf Convolutional Neural Networks (CNNs). Diese CNNs sind eine bestimmte Art von tiefen neuronalen Netzen, die speziell für die Verarbeitung von Bildern entwickelt wurden. Denn sie können durch das Verknüpfen grundlegender visueller Merkmale komplexe Muster erkennen. In der Gesichtserkennung beispielsweise lernt ein CNN für Gesichter charakteristische Merkmale zu extrahieren. Dadurch kann es dann unterscheiden, ob ein gegebenes Bild ein Gesicht enthält oder nicht.

Proteinstrukturvorhersage

In der Bioinformatik wurden Support Vector Machines (SVMs) für die Proteinstrukturvorhersage eingesetzt. SVMs sind leistungsfähige ML-Algorithmen, die gut für Klassifikations- und Regressionsprobleme mit hohen Dimensionen und kleineren Datensätzen geeignet sind. Sie werden z.B. dort eingesetzt, wo sie komplexe Muster in biologischen Daten erkennen können. So könnten SVMs verwendet werden, um auf der Grundlage von Aminosäuresequenzen vorherzusagen, welche Struktur ein Protein annehmen wird.

Unüberwachtes Lernen

Unüberwachtes Lernen („unsupervised learning“) unterscheidet sich vom überwachten Lernen darin, dass es keine Zielwerte, also Labels, gibt. Deswegen ist das Ziel dieser ML-Algorithmen, grundsätzlich Muster, Strukturen oder Zusammenhänge in den Daten zu entdecken. Unüberwachtes Lernen wird oft für Aufgaben wie Clustering, Anomalieerkennung, Dimensionalitätsreduktion und Datenkompression verwendet.

Kunden-Segmentierung

Für das Segmentieren des eigenen Kundenstamms lässt sich der k-Means-Clustering-Algorithmus einsetzen. Basierend auf den Merkmalen der Kunden, wie z.B. Kaufverhalten, Alter oder Standort, teilt der K-Means-Algorithmus die Kunden in Gruppen ein, die ähnliche Merkmale aufweisen. Man muss betonen, dass so zwar Gruppen entstehen, diese aber keine Namen erhalten. Wenn es erforderlich ist, die Cluster zu benennen, ist also Fachwissen gefragt. Die Segmentierung durch einen Clustering-Algorithmus kann dazu beitragen, das Marketing oder den Kundenservice zu personalisieren und effektiver zu gestalten.

Anomalie-Erkennung in Transaktionsdaten

Es gibt verschiedene Anstäze für das Erkennen von Anomalien in Daten; einer davon ist der Isolation Forest. Es ist ein Algorithmus zur Anomalieerkennung, der besonders gut für hochdimensionale Datensätze geeignet ist. Isolation Forest kann z.B. verwendet werden, um betrügerische Transaktionen in Kreditkartendaten zu erkennen. Der Algorithmus lernt, was „normale“ Transaktionen ausmacht, und kann dann Transaktionen identifizieren, die sich stark von der Norm unterscheiden.

Textgenerierung

Ein Thema, das gerade viel Aufmerksamkeit bekommt, ist die Textgenerierung durch GPT-Modelle wie ChatGPT. GPT bedeutet „generative pre-trained transformer“ und ist somit ein Transformer-Modell, welches in die Kategorie Deep Learning gehört. Solche Modelle lernen aus großen Mengen an Textdaten, ohne dass dabei spezifische Labels benötigt werden. Denn durch das Lernen der Beziehungen zwischen Wörtern und Sätzen in den Daten können sie neue Texte erzeugen. Und diese Texte sind dann bzgl. Sprache, Stil und Inhalt ähnlich den Trainingsdaten.

Dimensionalitätsreduktion

Es gibt verschiedene Verfahren, um hochdimensionale Daten zu reduzieren. Eine davon ist Principal Component Analysis (PCA), auf Deutsch „Hauptkomponentenanalyse“. PCA ist eine Methode der Dimensionalitätsreduktion, die oft beim Preprocessing von Daten verwendet wird. Ein Datensatz mit vielen Spalten kann so auf wenige Spalten reduziert werden, ohne dabei viel Informationsgehalt zu verlieren. Dies kann für spätere Anwendungen dazu beitragen, Overfitting zu reduzieren und die Effizienz von ML-Algorithmen zu verbessern.

Verstärkungslernen

Verstärkungslernen (engl. „reinforcement learning“) sind ML-Algorithmen, die auf der Grundidee der Interaktion zwischen einem Agenten und seiner Umgebung basieren. Der Agent unternimmt Aktionen, die Umgebung gibt Feedback in Form von Belohnungen oder Strafen, und der Agent passt sein Verhalten an, um die kumulativen Belohnungen zu maximieren. Verstärkungslernen findet Anwendung in verschiedenen Bereichen wie z.B. Robotik, Steuerungssysteme, oder auch in der Entwicklung von ChatGPT.

Robotersteuerung in dynamischen Umgebungen

Wie können Roboter in nicht-statischen Umgebungen vernünftig gesteuert werden? Eine Möglichkeit dafür ist Q-Learning. Es ist eine weit verbreitete Methode im Verstärkungslernen, die besonders nützlich ist, wenn der Zustandsraum der Umgebung groß oder kontinuierlich ist. Q-Learning verwendet eine Wertfunktion (die Q-Funktion), die den erwarteten zukünftigen Gewinn für eine gegebene Aktion in einem bestimmten Zustand schätzt. Durch wiederholtes Ausprobieren verschiedener Aktionen lernt der Agent die Q-Funktion. In einem Roboter-Szenario könnte Q-Learning dazu verwendet werden, einem Roboter beizubringen, wie er in einer dynamischen Umgebung navigiert.

Personalisierte Online-Werbung

Werbung ist mittlerweile nicht mehr statisch, sondern personalisiert. Auch hier kann man Verstärkungslernen einsetzen, unter anderem Multi-Armed Bandit-Algorithmen. Multi-Armed Bandit-Probleme sind klassische Probleme im Verstärkungslernen, die sich auf die Situation beziehen, in der ein Agent aus mehreren Optionen wählen muss. Jede dieser Optionen liefert dabei eine unsichere und potenziell variable Belohnung. Für personalisierte Online-Werbung könnten man solche Algorithmen verwenden, um zu lernen, welche Anzeigen für einzelne User am effektivsten sind (basierend auf früheren Interaktionen).

Optimierung von Lieferketten

Lieferkettenoptimierung ist ein komplexes Thema. Verstärkungslernen mit Monte Carlo Tree Search (MCTS) kann in diesem Bereich eingesetzt werden. MCTS ist nämlich besonders gut für Entscheidungsprobleme mit hohem Explorationsbedarf geeignet. MCTS verwendet die Monte Carlo-Methode zur Bewertung der Aktionen, indem sie zufällige Simulationen durchführt und dann eine Baumsuche („tree search“) verwendet, um die besten Aktionen zu ermitteln. In einem Lieferkettenszenario könnte MCTS dazu verwendet werden, optimale Strategien für Inventarmanagement oder Routenplanung zu finden.

Entwickeln von Spielstrategien

Verstärkungslernen hat vor einiger Zeit die Spielewelt erobert. AlphaZero, entwickelt von Google DeepMind, ist bekannt dafür, Weltklasseleistung in komplexen Spielen wie Schach, Shogi und Go zu erzielen. Er verwendet eine Kombination aus Monte Carlo Tree Search und einem neuronalen Netzwerk und lernt Spielstrategien durch Selbstspiel und Feedback basierend auf den Ergebnissen vergangener Spiele. Dabei muss kein vorheriges Wissen über optimale Spielstrategien programmiert werden; professionelle Schachzüge hat AlphaZero von selbst gelernt.

Fazit

Wir haben uns in diesem Post Beispiele für verschiedene ML-Algorithmen angeschaut: Überwachtes Lernen, unüberwachtes Lernen und Verstärkungslernen. Die Beispiele zeigen, wie vielfältig ML eingesetzt werden kann und wie komplex das Feld ist. Vielleicht wird auch nochmal deutlich, wie weit verbreitet KI bereits ist, auch wenn es manchmal gar nicht so offensichtlich erscheint. Darüber hinaus ist spannend zu beobachten, wie einige Algorithmen von neueren abgelöst werden, da diese präziser, robuster oder in anderen Hinsichten effizienter sind. Fest steht: Es gibt nicht das eine perfekte Modell, das alles kann, sondern man muss aus den verschiedenen ML-Algorithmen den richtigen Algorithmus auswählen.

Wenn du ein Wunschthema hast oder mir Feedback geben willst, schreibe gerne einen Kommentar oder schicke eine Mail an mail@thorejohannsen.de.

Ähnliche Beiträge

Schreibe einen Kommentar

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