Buchbesprechung: Machine learning kompakt
Hinweis: Frau Carina Weisweiler vom mitp-Verlag war so freundlich mir ein kostenloses Rezensionsexemplar dieses Buches zur Verfügung zu stellen. Darüber hinaus habe ich keinerlei Geschäftsbeziehung mit dem Verlag oder mit dem Autor des Buches.
'MACHINE LEARNING KOMPAKT - ALLES, WAS SIE WISSEN MÜSSEN' von Autor Andriy Burkov (1. Auflage 2019) ist die deutsche Übersetzung der amerikanischen Originaltitels "The Hundred-Page Machine Learning Book". Die deutsche Übersetzung von Knut Lorenzen kommt auf 187 Seiten ohne dem Stichwortverzeichnis.
Auf den ersten Blick
Was zuerst auffällt: für so ein umfassendes Thema wie Machine-Learning wirkt das Buch (physikalisch gesehen) ziemlich dünn. Das ist auch durchaus beabsichtigt, der amerikanische Originaltitel betont die Kompaktheit mit nur 100 Seiten. Diese hundert Seiten haben es dafür in sich, das Buch liest sich keinesfalls flüssig. Es ist vielmehr wie eine mathematische Formelsammlung oder ein hundertseitiger Schummelzettel zu verstehen, eine Übersicht über die wichtigsten Begriffe und Algorithmen beim Machine-Learning, erklärt mit Formeln wie in einem Mathematikbuch der Oberstufe.
Besonderheiten
Der Autor ist offenbar (wie ich) ein Fan von Dokuwiki und betreibt ein eigenes (Doku)wiki zum Buch, im (Papier)-Buch gibt es Links zu den Dokuwiki Seiten in Form schicker QR-Codes.
Wiki zum Buch
Im -frei zugänglichen- Wiki zum Buch gibt es u.a. kleine Linksammlungen zu einzelnen Kapiteln, wie etwa "further reading" Listen mit Buchtiteln / Websites zu einzelnen Themen. Außerdem gibt es im Wiki sämtliche Schwarz-Weiß Grafiken des Buches in Farbe, teilweise sogar als Animation.
Und das allerbeste:
Im Wiki gibt es immer noch die einzelnen Kapiteln verlinkt als "Draft", daher Vorabversion, (in englischer Sprache) inklusive der dazugehörigen Diskussion mit Korrekturlesern. Das heißt man kann eine (frühe) Version der einzelnen Kapiteln gratis online lesen, ohne das Buch kaufen zu müssen.
Abgerundet wird der "rund um das Buch Service" des Autors mit einer Mailing-Liste und einer Github-Seite zum Buch welche Python/Matplotlib-Code zum erstellen der Grafiken im Buch enthält.
Das Wiki zum Buch ist nicht perfekt, der Autor hat z.B. die Option "prettify Links" nicht aktiviert, die Wiki Seite ist http anstatt https und die einzelnen Wikiseiten welche oft nur einen einzigen "further reading" link enthalten wären möglicherweise in einem öffentlich Github-repository besser aufgehoben.
Nichtsdestotrotz, mir imponiert sehr dass der der Autor persönlich ein Wiki und eine Mailingliste betriebt und dies nicht an einen Verlag auslagert.
Inhalt
Das Buch gibt eine Übersicht über viele Techniken, Algorithmen und Begriffe des Machine-Learnings. Es ist kein 'Machine Learning für Dummies' Buch, der Leser wird nicht an der Hand genommen und behutsam von Beispiel zu Beispiel geführt - der Leser wird vielmehr umstandslos ins Wasser gestoßen, erfährt ein paar Fakten und Theorie zum erklärten Machine-Learning Modell und dieser Vorgang wird mit dem nächsten Begriff wiederholt.
Der Autor schreibt treffend: "Was wir im Mathematikunterricht in der Schule gelernt ... und gleich darauf wieder vergessen haben":
Es gibt im Buch eine Einführung in die in Folge verwendeten mathematischen Begriffe und Verfahren (Standardabweichung etc.), diese ist knapp gehalten und versteht sich nicht als Mathematikbuch sondern als Erinnerung an schon-einmal-anderswo Gelerntes. Es gibt im Buch -platzbedingt- auch keinerlei Einführung ins Programmieren, es kommt auch -bis auf 2 kleine Ausnahmen- im ganzen Buch kein Python-Code vor.
Die Leistung des Autors liegt darin ein Buch über Machine-Learning geschrieben zu haben welches unabhängig von verwendeter Programmiersprache oder Machine-Learning Bibliothek funktioniert. Das ist einerseits manchmal etwas anstrengend zu lesen - ich persönlich hätte mir oft mit ein paar erklärenden Zeilen Python-code leichter getan als mit der mathematischen Beschreibung eines Modells - andererseits ist es langfristig wertvoll weil die grundlegenden Alogrithmen und Verfahren von Machine-Learning Modellen sich nicht so schnell ändern werden wie die oft kurzlebigen Versionen einer Programmiersprache oder einer Machine-Learning Bibliothek. Das Buch erklärt weniger das "How to" als vielmehr das "Warum" der einzelnen Machine-Lerning Verfahren.
Für die theoretischen Grundbegriffe (z.B. Problem der Überanpassung eines Modells) bekommt man beim Lesen ein sehr gutes Gefühl, nicht nur wegen der im Buch enthaltenen Diagramme sondern vor allem durch Wiederholung in den verschiedenen Unterkapiteln.
Für die konkrete Umsetzung der einzelnen Machine-Learning Verfahren in die Praxis muss der Leser auf spezialisierte Literatur oder die Dokumentation von Machine-Learning Bibliotheken zurückgreifen. Das Buch erklärt dafür den theoretischen Background welcher in den konkreten "How-To" Tutorials oft entweder vorausgesetzt oder ignoriert wird.
Im letzten Kapitel "Schlussbemerkungen" beschreibt der Autor mit ein paar Sätzen jene Modelle für die er im Buch keinen Platz gefunden hat "weil das Buch sonst tausend anstatt hundert Seiten haben müsste". Unter anderem werden hier die genetischen Algorithmen kurs erwähnt.
Fazit
Man sollte dieses Buch danach beurteilen, was es ist und nicht danach, was es gar nicht zu sein versucht:
Dieses Buch ist ein auf das Allerwesentlichste reduziertes Nachschlag- und Übersichtswerk, es ist keine "Schritt-für-Schritt" Anleitung. Die Leistung des Autors liegt darin, alle -aus seiner Sicht unnötigen- Details weggelassen zu haben welche anderswo besser erklärt werden und sich auf Theorie und Vergleich der einzelnen Machine-Learning Modelle und ihrer Stärken und Schwächen zu konzentrieren.
Dies rechtfertigt meiner Meinung nach auf den Preis des Buches.
Es empfiehlt sich, vor dem Kauf auf die Wikiseiten des Autors zu schauen, in die "Draft" Kaptiel hineinzuschmökern und herauszufinden ob einem der Stil zusagt und ob man angesichts der größtenteils englischsprachigen Dokumentation der Machine-Learning Bibliotheken nicht gleich zum englischen Original greift oder ob man einen Vorteil aus der (sehr ordentlichen) deutschen Übersetzung ziehen kann.
Auf der Homepage zum Buch vom MITP-Verlag gibt es nicht nur eine kostenlose deutschsprachige Leseprobe sondern auch -sehr wichtig- einen Link zu "Errata" mit (hurra!) korrigierten mathematischen Formeln.
Links:
- Andriy Burkov: https://github.com/aburkov
- MITP-Verlag: https://www.mitp.de/
- Buch-Homepage: https://www.mitp.de/IT-WEB/KI-Data-Science/Machine-Learning-kompakt.html
- Amazon-Partner-Link: https://amzn.to/3wnMUAh
- Data:
- Broschiert : 200 Seiten
- ISBN-10 : 3958459951
- ISBN-13 : 978-3958459953
- Abmessungen : 17.2 x 1.2 x 23.8 cm