Machine Learning – Die Möglichkeit zur Vorhersage

Wie angekündigt in «Message from a Digital Native», folgt nun ein Blogbeitrag zum Thema Maschine Learning, denn es reichte mir nicht, den Begriff immer und überall zu hören und lesen zu können. Ich wollte endlich wissen, wie das wirklich funktioniert, wenn man einem Computer beibringt, Bilder zu erkennen, auf denen ein Hund oder eine Katze ist. Wie geht das genau? Wie erkläre ich dem Computer die Unterschiede, bzw. wie programmiere ich diese Lernanweisungen?

Diese Fragen wollte ich beantworten können und schrieb mich für den Kurs «Machine Learning with R – An Introduction» ein. Dass man von dieser Anmeldung nicht mehr zurücktreten kann – eine neue Regelung im Doktoratsstudium –, wurde mir erst später bewusst. Ich musste den Kurs also um jeden Preis bestehen.

Das zum Kurs passende Buch unseres Dozenten, ein sogenannter «data scientist» an der University of Michigan, fand ich online und begann darin zu stöbern: «If science fiction stories are to be believed, the invention of artificial intelligence inevitably leads to apocalyptic wars between machines and their makers. In the early stages, computers are taught to play simple games of tic-tac-toe and chess. Later, machines are given control of traffic lights and communications, followed by military drones and missiles. The machines‘ evolution takes an ominous turn once the computers become sentient and learn how to teach themselves. Having no more need for human programmers, humankind is then «deleted». Thankfully, at the time of this writing, machines still require user input.»[1] Als grosser Fan der Serie «Person of Interest», welche von einem ähnlichen Szenario handelt, hat mich Brett Lanz mit seinen einleitenden Worten begeistert, auch wenn das Buch dann nach und nach komplexer und ‘nerdiger’ wurde.

Ich lud mir das Programm «R» gemäss den Anweisungen im Buch runter und kopierte einige Quelltexte hinein – es schien zu funktionieren. Glücklicherweise erhielten wir vorab den gesamten Code zum Buch bereits als Quelltext in R, und so konnte auch ich dem Unterricht einigermassen folgen. Der Kurs dauerte eine Woche, und wir erfuhren, wie Maschinen wirklich lernen, welche Daten sie dazu benötigen und wie diese Daten aufbereitet sein müssen. Tatsächlich bilden die Daten das Kernstück von Machine Learning. Sind die Daten nämlich uneinheitlich oder unvollständig, dann kommt – ich glaube, Sie können sich es bereits denken – genau: Error!

Doch das Programmieren der verschiedenen Modelle ist nicht ganz ohne Aufwand zu bewältigen. Auch wenn es wohl mit dem im Buch vorgeschlagenen Beispiel funktioniert, heisst das noch lange nicht, dass der Code dann ebenso auf meine Daten angewendet werden kann. Mein Takeaway: Es braucht ein scharfes Auge und viel Experimentierfreude, um so ein Modell zu programmieren. Je nach Modell sind übrigens auch unterschiedliche Daten nötig bzw. sind unterschiedliche Modelle für gewisse Daten besser oder weniger gut geeignet.

So gestaltete sich auch unser Abschlussprojekt, welches wir in der Gruppe erarbeiten durften, als ziemliche Herausforderung. Wir beschlossen, einen riesigen Datensatz an Bewertungen von Kochrezepten mit Machine Learning zu analysieren. Konkret fragten wir: Welche Zutaten führen eher dazu, dass ein Rezept mit gut oder sehr gut bewertet wird? Ferner wollten wir herausfinden, welches der im Kurs erlernten Machine Learning Modelle sich am besten eignet, diese Daten zu analysieren. Nachfolgend also, wie wir vorgingen.

Damit eine Maschine lernt, teilt man den Datensatz in zwei Teile, wovon die ersten 30% der Daten nur zum Trainieren der Maschine gedacht sind. Das Modell lernt anhand der Trainingsdaten, wie sich diese verhalten, und wendet die Erkenntnisse daraus auf die übrigen 70% der Daten an. In unserem Projekt erkannte eines der Modelle, dass immer, wenn Zucker als Zutat verwendet wurde, das Rezept mindestens mit gut bewertet wird. Diese aus den Trainingsdaten gewonnene Feststellung verwendet das Modell anschliessend, um Prognosen über die Bewertungen der übrigen Rezepte anzustellen. Nur nebenbei: Ich hätte schon hier merken müssen, dass etwas nicht stimmen kann, denn nicht alle Kuchenrezepte habe ich – trotz Zucker! – bisher wirklich als lecker empfunden.

Soweit, so gut. Sie erahnen es sicher schon: Leider muss ich berichten, dass wir zwar alles korrekt angewendet haben, aber am Ende trotzdem keine sehr verlässlichen Prognosen erstellen konnten – unabhängig davon, welches Modell wir wählten. Von K nearest Neighbours über Decision Trees – welchen wir sogar geboostet haben – über ein Random Forest Modell, nichts funktionierte zuverlässig. Dennoch bestanden wir den Kurs erfolgreich, weil wir lernten, dass es im Umgang mit Daten genauso wichtig ist zu erkennen, wenn das Resultat schlecht ist. Ganz nach dem Motto: Operation gelungen, Patient gestorben!

Ich bin trotz des nicht erfolgreichen Ausgangs unseres Projekts weiterhin fasziniert und stelle fest, dass gewisse Anwendungsmöglichkeiten von Machine Learning tatsächlich alltagstauglich sind. Beherrscht man dieses Gebiet und hat gute Daten, kann man künftige Resultate tatsächlich mit einer gewissen Wahrscheinlichkeit vorhersagen. Ein bekanntes Beispiel ist die Analyse von menschlichen Zellen, bei denen ein Computercode anhand von relevanten Kriterien mit einer sehr hohen Wahrscheinlichkeit bestimmen kann, ob die Zelle einen bösartigen Krebs entwickelt oder nicht.

Executive School Studiengang:
Open Programmes

KI (Künstliche Intelligenz)- Projekte erfolgreich managen

Vom Datenrohstoff zur wertschöpfenden automatisierten Musterkennung

Solange die Maschinen also noch nicht im Stile Hollywoods Überhand nehmen, können wir noch lange von den unendlichen Möglichkeiten von Machine Learning profitieren.

[1] Brett Lantz, Machine Learning with R, 2nd Edition, 2015.

 

Dieser Artikel ist die Fortsetzung von: 

Message from a Digital Native

 

Picture by AlexRaths on iStock

 

Newsletter Signup

Please wait...

Thank you for signing up!