In diesem Blog wird die Lernerfahrung beschrieben aus dem Online-Kurs „Machine Learning A-Z™: Hands-On Python & R In Data Science”. Ich gehe in diesem Blog der Frage nach, inwieweit sich dieser Kurs für IT Projektleiter und Product Owner eignet, um ein besseres Verständnis für Maschinenlernen / Künstliche Intelligenz zu bekommen – und zwar ohne tiefere Vorkenntnisse. Denn: Maschinenlernen bzw. Künstliche Intelligenz wird in der Softwareentwicklung eine wachsende Bedeutung einnehmen; in absehbarer Zeit dürfte es nur noch wenige Softwareprojekte geben, die gänzlich ohne Maschinenlernen auskommen. In den Worten von Google-Chef Sundar Pichai: „Wir werden uns von einer Mobile-first-Welt in eine KI-first-Welt bewegen“, wo der Computer ein mit Künstlicher Intelligenz (KI) ausgestatteter Sprachassistent sein wird.

In dieser Artikelserie zum udemy Academy-Kurs vermittele ich einige ausgewählte, wesentliche Knowledge Nuggets, die ein gutes Verständnis von der inhaltlichen Ausrichtung des Online-Kurses und gleichzeitig einige wesentliche Lerninhalte vermitteln. Dieser Überblick ist ein Appetizer und soll den Online-Kurs selbstverständlich nicht ersetzen.

Hier geht’s zu den ersten vier Teilen der Serie:

Maschinenlernen / Künstliche Intelligenz – Apriori als Methode des Association Rule Learning

Der fünfte Teil des Online-Kurses zum Maschinenlernen widmet sich einem mathematischen Verfahren, das eingesetzt werden kann, um etwa Empfehlungen für Käufer in einem Online-Shop zu machen („Käufer, die dieses Produkt gekauft haben, interessierten sich auch für …“): Association Rule Learning. Man kann davon ausgehen, dass Amazon oder Zalando noch ausgefeiltere Verfahren einsetzen, aber das nachfolgende Verfahren ist in jedem Fall ein guter Startpunkt.

Association Rule Learning beantwortet die Frage: Wenn ein Kunde bereits das Produkt A (das Primärprodukt – Beispiel: Eine Gartenschere, in nachfolgender Abbildung die „grünen“ Figuren) gekauft hat, wie hoch ist die Wahrscheinlichkeit, dass er sich auch das Produkt B (Produktempfehlung – Beispiel: Einen Gartenschlauch, in nachfolgender Abbildung die „rot eingekreisten“ Figuren) kauft.

Maschinenlernen: Association Rule LearningAbbildung: Wichtige Verhältniskennzahlen beim Association Rule Learning

Die statistische Methode des Apriori erfordert hierbei die Ermittlung von drei zentralen Verhältniskennzahlen. Die erste ist der Support. Wie viele Personen kaufen überhaupt den Gartenschlauch, also das Produkt, das (möglicherweise) als Produktempfehlung vorgeschlagene wird? Für unser Beispiel gilt: 10 von 100, also: 10 Prozent. Die zweite wichtige Kennzahl in diesem Maschinenlernverfahren ist die Confidence: Welcher Anteil der Käufer von Produkt „Gartenschere“ (Primärprodukt) kaufen dann das Produkt „Gartenschlauch“ (Produktempfehlung). Hier gilt: 7 von 40, also 17,5 Prozent.

Und schließlich der sogenannte Lift: Wir wissen, dass 10% der Nutzer den Gartenschlauch (Produktempfehlung) kauft. Wenn ein Nutzer bereits die Gartenschere (Primärprodukt) kauft, liegt diese bedingte Wahrscheinlichkeit höher, nämlich bei 17,5%. Der Lift ermittelt nun die Verbesserung der Vorhersagewahrscheinlichkeit unter der Bedingung, dass bereits ein bestimmtes Produkt vorab gekauft wurde. Die Berechnung erfolgt ganz einfach: Confidence dividiert durch Support, also: Confidence / Support. Für unser Beispiel also: 17,5% / 10%, ergibt 1,75. Tatsächlich ist das kein besonders hoher Wert.

Klarer wird die Relevanz dieser Kennzahlen im Anwendungsbeispiel. Im Kurs zum Maschinenlernen wird ein umfangreicher Datensatz mit den Warenkörben von 7.500 Einkäufern eines Supermarktes bereitgestellt, und zwar die Warenkörbe einer ganzen Woche:

Maschinenlernen: Association Rule Learning – Umsetzung in Python, Schritt 1Abbildung: Datensatz für praktische Umsetzung des Association Rule Learning in Python

Bei der Parametrisierung (in Python) werden nun folgende Schwellwerte gesetzt, und zwar für die gerade eingeführten Kennzahlen: Die minimale Confidence wird auf 20% gesetzt (setzt man die Confidence zu hoch an, erhält man im Ergebnis nur Produkte wie „Wasser“ und „Brot“, und nicht jene Produktkombinationen, die interessante Korrelationen aufweisen). Der minimale Lift wiederum wird auf den Faktor 3 gesetzt, um eine möglichst hohe Korrelation zwischen den beiden Produkten sicherzustellen.

Maschinenlernen: Association Rule Learning – Umsetzung in Python, Schritt 1Abbildung: Datensatz für praktische Umsetzung des Association Rule Learning in Python

Im Ergebnis erhält man eine Liste mit jenen Produktkombinationen, welche die gewünschte Korrelation aufweist. Zu jeder Produktkombination sind die ermittelten statistischen Ergebnisse zu den Kennzahlen Confidence und Lift mit ausgegeben.

Maschinenlernen / Künstliche Intelligenz – Eclat als Methode des Association Rule Learning

Wenn man einmal das Apriori Modell verstanden hat, lässt sich das Eclat-Modell sehr einfach nachvollziehen. Denn das Eclat-Modell ist eine vereinfachte – um nicht zu sagen: triviale – Variante von Apriori. In diesem Modell ist lediglich die Ermittlung einer Kennzahl erforderlich, nämlich der (bereits eingeführte) Support: Wie oft taucht eine bestimmte Produktkombination in den relevanten Datensätzen auf. Das ist so einfach, der Kurs zum Maschinelernen verzichtet hier sogar darauf, hierzu ein Anwendungsbeispiel in Python umzusetzen …

Hier geht’s zum Erfahrungsbericht für Teil 6. Dabei geht es um Reinforcement Learning, deren Grundprinzip auch eingesetzt wird, um etwa Roboterhunden das Laufen beizubringen.

Sebastian Zang
Author

Der Autor ist Manager in der Softwareindustrie mit internationaler Expertise: Prokurist bei einem der großen Beratungshäuser - Verantwortung für den Aufbau eines IT Entwicklungszentrums am Offshore-Standort Bangalore - Director M&A bei einem Softwarehaus in Berlin.