Machine Learning bei Spotify: Wie personalisierte Playlists entstehen

Der bekannte Musik-Streaming-Dienst Spotify setzt stark auf maschinelles Lernen, um den Wünschen seiner Kundinnen und Kunden gerecht zu werden. Im Artikel „Spotify’s Discover Weekly: How machine learning finds your new music“geht die Software-Entwicklern Sophia Ciocca auf die zugrundeliegende Technik bei Spotifys Empfehlungen ein, die für die Kundinnen und Kunden wie Magie wirken.

„Machine Learning bei Spotify: Wie personalisierte Playlists entstehen“ weiterlesen

Buchempfehlungen: Python lernen auf Deutsch

In der folgenden Liste sind eine Vielzahl Bücher versammelt, die beim Lernen von Python hilfreich sind. Das Besondere an dieser Liste ist, dass die Bücher deutschsprachig sind.

Routineaufgaben mit Python automatisieren: Praktische Programmierlösungen für Einsteiger

Dieses Buch eignet sich perfekt für Einsteiger, denn man kann schon nach kurzer Lektüre erste Erfolge feiern, so dass die Motivation hoch bleibt, das Buch bis zum Ende durchzuarbeiten. Die verschiedenen Schritt-für-Schritt-Anleitungen lassen sich gut befolgen.
Von der dpunkt.verlag GmbH | Preis: 29,90 EUR

Link zum Buch bei Amazon

Python Hacking

Dieses Buch widmet sich eher an fortgeschrittene Anwender, aber auch die Einsteiger werden im ersten Kapitel abgeholt, denn darin geht es um die Einrichtung von Python und um erste Schritte in der Sprache. In den folgenden Kapiteln allerdings lernen die Leserinnen und Leser das Hacken mit Python: Portscanner schreiben, SSH-Botnetz mit Python aufbauen, PDF-Metadaten mit PyPDF analysieren und Tweets mit Python analysieren sind nur einige Beispiele aus dem Buch.
Aus dem Franzis Verlag | Preis: 19,99 EUR

Link zum Buch bei Amazon

Python Programmieren Für Anfänger: Der schnelle Einstieg

Dieses Buch ist nur für den Kindle erhältlich und kommt mit einem unschlagbaren Preis. Dennoch erhalten Leserinnen und Leser zu gängigen Programmierpraktiken am Beispiel von Python eine gute Einführung.
Preis: 7,99 EUR

Link zum Buch bei Amazon

Python 3: Lernen und professionell anwenden: Das umfassende Praxisbuch

„Umfassend“ trifft dieses Buch sehr gut, denn neben Einsteigerthemen wie Datentypen, Kontrollstrukturen, Funktionen, Dictionaries, Klassen, Objekte, Vererbung, Polymorphie etc. kommen auch deutlich fortgeschrittenere Punkte wie wissenschaftliche Projekte mithilfe der Bibliothek „NumPy“ und auch Themen in Richtung Machine Learning wie Datenvisualisierung und Messwerterfassung auf den Tisch. Weitere Beispiele gehen sogar bis zur parallelen Programmierung mit Pipes, Queues und Pools.
Von der mitp Verlags GmbH & Co. KG | Preis: 29,99

Link zum Buch bei Amazon

Python 3: Das umfassende Handbuch: Sprachgrundlagen, Objektorientierung, Modularisierung

Auch dieses Buch führt das Wörtchen „umfassend“ im Titel und enttäuscht nicht. Nach einer Einführung in Python bietet es eine Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen, wie beispielsweise GUI-Programmierung, wissenschaftliches Rechnen, Anbindung an C oder auch Webentwicklung mit dem Framework Django.
Aus dem Rheinwerk Computing Verlag | Preis: 44,90 EUR

Link zum Buch bei Amazon

Python kinderleicht!: Einfach programmieren lernen – nicht nur für Kids

Auch wenn sich „Python kinderleicht“ in erster Linie an Kinder wendet, haben natürlich auch Erwachsene etwas vom Buch. Schön sind hierbei die blumigen Beispiele mit Monstern, Geheimagenten oder Raben. Mit Programmier-Rätseln am jeweiligen Kapitelende wird das Gelernte geübt. Zielgruppe sind eindeutig Einsteigerinnen und Einsteiger.
Von der dpunkt.verlag GmbH | Preis: 26,90 EUR

Link zum Buch bei Amazon

Raspberry Pi programmieren mit Python

Gerade der Mini-Computer Raspberry Pi ermöglicht den Einstieg in die Programmierung schon für wenig Geld. Da trifft es sich gut, dass es eine dedizierte Einführung in die Programmierung mit Python auf dem Raspberry Pi gibt. In Schritt-für-Schritt-Anleitungen werden die wichtigsten Themen und alle Python-Funktionen erläutert, die bei der Programmierung des Raspberry Pi eine Rolle spielen.
Von der mitp Verlags GmbH & Co. KG | Preis: 29,99 EUR

Link zum Buch bei Amazon

Python Crashkurs: Eine praktische, projektbasierte Programmiereinführung

Dieses Buch ist zweigeteilt: In der ersten Hälfte geht es um grundlegende Programmierkonzepte wie Listen, Wörterbücher, Klassen und Schleifen. Sauberer und lesbarer Code steht im Mittelpunkt. In der zweiten Hälfte geht es in die Praxis mit drei lehrreichen Projekten.
Von der dpunkt.verlag GmbH
Link zum Buch bei Amazon Preis: 32,90 EUR (Taschenbuch)

Link zum Buch bei Amazon Preis: 25,99 EUR (Kindle)

Python programmieren lernen: Der spielerische Einstieg mit Minecraft

Mit Minecraft und Python das Programmieren zu erlernen, wäre mein Traum gewesen. In jedem Kapitel wendet man das Erlernte direkt in Minecraft an. Zum Beispiel mit Variablen beim Teleportieren, Strings beim Chatten mit Mitspielern und mit if-Anweisungen und while-Schleifen eigene kleine Spiele in Minecraft schreiben. Mit Funktionen erbaut man Bauwerke und Städte auf Knopfdruck. Sogar objektorientierte Programmierung kommt zu guter Letzt auch vor.
Von der dpunkt.verlag GmbH | Preis: 24,90 EUR

Link zum Buch bei Amazon

Programmieren lernen mit Python

Wer Projekte hat, die noch mit Python 2 geschrieben wurden und diese nun auf Python 3 gehoben werden sollen, ist bei diesem Buch richtig. Das gute Stück ist zwar schon älter, geht aber gerade deshalb auf den Übergang zwischen den beiden relevanten Python-Generationen ein. Grundlegende Programmierkonzepten, Funktionen, Syntax und Semantik, Rekursion und Datenstrukturen bis hin zum objektorientierten Design gehören zum Themenspektrum. Zum Ende jedes Kapitels gehört das wichtige Thema Debugging, die Technik zum Aufspüren und Vermeiden von Fehlern. Das hebt dieses Buch aus der Menge heraus.
Von der O’Reilly Verlag GmbH & Co. KG | Preis: 24,90 EUR

Link zum Buch bei Amazon

Objektorientierte Programmierung mit Python 3

Mit Python kann man modernes Programmieren lernen, behauptet dieses Buch und es hat recht. Hier lernt man die Programmentwicklung mit Python und die Anwendung von Konzepten der objektorientierten Programmierung. Die Gestaltung grafischer Benutzeroberflächen, Internetprogrammierung und auch automatisiertes Testen kommen hier vor. Die Kapitel enthalten Übungsaufgaben mit Musterlösungen.
Aus der Verlagsgruppe Hüthig-Jehle-Rehm | Preis: 39,99 EUR

Link zum Buch bei Amazon

Daten visualisieren: Python Chart Galerie

Die Programmiersprache unserer Wahl ist derzeit Python, denn die Sprache zeigt sich als sehr fruchtbar, wenn es um Machine Learning geht. Da liegt es nahe, auch die Visualisierung der verarbeiteten Daten in Python vorzunehmen.

Auf der Seite Python Chart Galerie findet man eine Sammlung von Darstellungsmöglichkeiten inklusive Code-Beispielen, die sehr ansprechende Lösungen zeigen. Die für die Visualisierung verwendeten Bibliotheken sind Seaborn und matPlotLib.

So stellt die genannte Seite einen tollen Ort zum Nachschlagen der Charting-Möglichkeiten dar. Aufgrund der mitgelieferten Code-Beispiele kommt man schnell zum Ziel, wenn es um das Darstellen der vorhandenen Daten geht.

Apple ruft Machine-Learning-Blog ins Leben

Neben den anderen US-Tech-Konzernen schien Apple bezüglich Machine Learning immer ein Schattendasein zu fristen, zumindest wirkte es so. Der Grund lag eher darin, dass Amazon, Facebook, Google und Microsoft mit ihren Versuchen und Erfolgen sehr öffentlich umgehen, während Apple im Verborgenen arbeitet und erst an die Öffentlichkeit geht, wenn sie von ihrem Produkt überzeugt sind.

Hinsichtlich Machine Learning ruft Apple nun eine bemerkenswerte Neuheit ins Leben und veröffentlicht auf einem eigenen Blog namens Apple Machine Learning Journal Beiträge zu Themen wie maschineller Text-, Bild-, Stimmen- und Spracherkennung. Die englischsprachigen Artikel gehen angenehm in die Tiefe und behandeln Ansätze wie Neuronale Netze, gehen aber auch in interdisziplinäre Gebiete wie beispielsweise linguistische Modelle.

Was ist der Turing-Test?

Der Turing-Test ist eine Idee des britischen Mathematikers und Informatikers Alan Turing. 1950 formulierte er eine Möglichkeit, festzustellen, ob eine Maschine genauso gut denken kann, wie ein Mensch.

Testaufbau

Der Test hat folgende Aufstellung: Ein Mensch sitzt vor einem Bildschirm und einer Tastatur. Er oder sie hat keinen sinnlichen Kontakt zu seinem oder ihrem Gesprächspartnerin oder Gesprächspartner. Dabei kann der Gesprächspartner ein Mensch oder eine Maschine sein.

Nun kommunizieren die beiden Gesprächspartner über Bildschirm und Tastatur. Ist einer der beiden Gesprächspartner eine Maschine und der Mensch kann nach einer längeren Zeit der Kommunikation nicht mit Sicherheit sagen kann, ob es sich beim Gegenüber um einen Menschen oder eine Maschine handelt, hat die Maschine den Turing-Test bestanden.

Was sind praktische Probleme von Machine Learning?

Ein gutes Ergebnis auf Basis von Machine-Learning-Modellen steht und fällt mit der Qualität der zur Verfügung stehenden Daten. Im Folgenden finden sich einige praktische Probleme, die im Alltag beim Einsatz von Machine Learning auftreten.

Unvollständige Daten

Es ist weder ungewöhnlich noch unwahrscheinlich, dass bei einer Menge von tausenden Datenerhebungen einige Werte fehlen oder offensichtlich fehlerhaft sind. Beispielsweise lassen manche Teilnehmerinnen und Teilnehmer einer Befragung das Feld für das „Einkommen“ oder das „Alter“ leer. Oder es gibt Missverständnisse beim Ausfüllen eines Befragungsbogens, so dass im Feld „Alter“ beispielsweise „Hannover“ steht, weil die befragte Person beim Ausfüllen in der Zeile verrutscht ist. „Was sind praktische Probleme von Machine Learning?“ weiterlesen

Was sind grundsätzliche Probleme von Machine Learning?

Schauen wir uns einmal das Diagramm oben an.

Die Zahl der Störche steigt, die Zahl der geborenen Kinder ebenfalls. In manchen Jahren fällt die Zahl der gesichteten Störche allerdings und die Zahl der geborenen Kinder sinkt in diesen Zeiträumen proportional.

Schaut man sich die Daten an, so ist alles korrekt: Die Zahlen stimmen, die Zuordnung zu den Jahren ist auch richtig. Kein Zweifel: Unser Diagramm zeigt deutlich einen Zusammenhang zwischen der Zahl der Geburten und der Anzahl der Störche. Stimmt es also doch? Bringen Störche die Kinder? Natürlich nicht. „Was sind grundsätzliche Probleme von Machine Learning?“ weiterlesen

Statistische Auswertung: Manipulieren nach Zahlen

„Politicians use statistics in the same way that a drunk uses lamp-posts—for support rather than illumination.“ (Andrew Lang, schottischer Schriftsteller)

Im Dezember 2016 macht eine Studie namens Perils of Perception die Runde, in der die Diskrepanz zwischen Wahrnehmung und Realität zur Geltung kommt. In zwölf Ländern wurden von IPSOS MORI Menschen befragt, wie hoch sie den muslimischen Anteil der Menschen innerhalb der eigenen Bevölkerung schätzen. In allen Ländern wurde dieser Anteil ausnahmslos viel zu hoch eingeschätzt.

Dabei verschätzten sich die Menschen teilweise um den Faktor Vier: Beispielsweise denken die Franzosen, dass 32 % ihrer eigenen Bevölkerung islamischen Glaubens sind, tatsächlich sind es etwa 8 %. Teilweise verschätzen sich die Menschen sogar um den Faktor 17: So denken US-Amerikaner, dass 17 % der Bevölkerung Moslems sind, tatsächlich sind es nur 1 %. Aber die Darstellung der Ergebnisse ist problematisch. „Statistische Auswertung: Manipulieren nach Zahlen“ weiterlesen

Wozu braucht man Machine Learning?

Viele Herausforderungen sind zu komplex, um sie im Detail im Vorhinein zu programmieren. Menschen und Tiere vollbringen im Alltag Hunderte von Taten, ohne über diese nachzudenken: Gegenstände in ihrer Gänze erkennen, Sprache verstehen, Gefühle interpretieren und vieles mehr. Versucht man, diese so alltäglichen Tätigkeiten von einem Computer erledigen zu lassen, so stößt man mit dem herkömmlichen Ansatz, alle erdenklichen Situationen im Vorhinein zu bedenken und beispielsweise in einer Datenbank zu speichern, an eine nicht zu überwindende Grenze. Denkt man aber etwa an selbstfahrende Autos, so wird recht schnell klar, dass es unmöglich ist, jede Begebenheit unter allen erdenklichen Umständen an jedem Ort der Welt zu jeder Zeit vorauszudenken und dafür eine Lösung zu programmieren, so dass der Bord-Computer des Wagens im Eintreffen eines bestimmten Falles diesen identifizieren und aus der Datenbank abrufen kann. „Wozu braucht man Machine Learning?“ weiterlesen

Der allererste Erfolg beim Machine Learning mit Python

Nichts ist motivierender als ein allererster schneller Erfolg beim Erlernen einer neuen Sache und so ist es auch beim Machine Learning. Sind alle Voraussetzungen zum Start mit dem Erlernen von Machine Learning gegeben, können wir an einem ersten, einfachen Beispiel erfahren, was die Grundprinzipien des maschinellen Lernens sind. „Der allererste Erfolg beim Machine Learning mit Python“ weiterlesen