inkl. MwSt., ggf. zzgl. Versandkosten
ready to ship
Maschinelles Lernen
Grundlagen und Algorithmen in Python
Von: Jörg Frochte
Titel:
Maschinelles Lernen
Grundlagen und Algorithmen in Python
Autor: Jörg Frochte
Herausgeber: Carl Hanser Verlag
Mehrteiliges Produkt, mit Beigabe
3., überarbeitete und erweiterte Auflage
Sprache: deutsch
Auflage: Verlag Hanser, Carl
Preis: 39,99€
ISBN: 9783446461444
Das Buch "Maschinelles Lernen: Grundlagen und Algorithmen in Python" von Jörg Frochte, herausgegeben vom Carl Hanser Verlag, ist ein umfassender Leitfaden für alle, die in die faszinierende Welt des maschinellen Lernens eintauchen möchten. Es richtet sich sowohl an Einsteiger als auch an fortgeschrittene Leser und bietet eine detaillierte Einführung in die grundlegenden Konzepte und Algorithmen des maschinellen Lernens, verbunden mit praktischen Implementierungen in Python. In diesem Aufsatz werden die Struktur des Buches, die behandelten Inhalte, die didaktischen Methoden und der Nutzen des Buches für angehende Data Scientists und Entwickler analysiert.
Jörg Frochte hat das Ziel, den Lesern eine solide Grundlage im Bereich des maschinellen Lernens zu vermitteln und ihnen die notwendigen Werkzeuge an die Hand zu geben, um eigene ML-Modelle zu entwickeln. Das Buch ist klar strukturiert und führt die Leser Schritt für Schritt durch die verschiedenen Aspekte des maschinellen Lernens. Es ist in mehrere Kapitel unterteilt, die logisch aufeinander aufbauen:
1. Einführung in das maschinelle Lernen
Überblick über die Grundlagen und Bedeutung des maschinellen Lernens
Einführung in die verschiedenen Arten des maschinellen Lernens (überwachtes, unüberwachtes und bestärkendes Lernen)
Einblick in typische Anwendungsbereiche
2. Grundlagen der Programmierung mit Python
Einführung in Python als Programmiersprache für maschinelles Lernen
Vorstellung der wichtigsten Bibliotheken (NumPy, Pandas, Matplotlib)
Grundlagen der Datenvorverarbeitung und -analyse
3. Überwachtes Lernen
Einführung in lineare Regression und Klassifikation
Entscheidungsbäume, Random Forests und Support Vector Machines
Evaluierung von Modellen und Hyperparameteroptimierung
4. Unüberwachtes Lernen
Clusteranalyse mit K-Means und hierarchischem Clustering
Dimensionsreduktion mit PCA und t-SNE
Anomalieerkennung und Assoziationsregeln
5. Bestärkendes Lernen
Grundlagen und Konzepte des bestärkenden Lernens
Einführung in Q-Learning und Deep Q-Learning
Praxisbeispiele und Implementierungen
6. Neuronale Netze und Deep Learning
Einführung in neuronale Netze und deren Architektur
Vorstellung von Deep Learning und Convolutional Neural Networks (CNNs)
Praxisbeispiele und Implementierungen mit TensorFlow und Keras
Jörg Frochte nutzt verschiedene didaktische Methoden, um das Lernen zu erleichtern und die Leser zu motivieren:
Praktische Beispiele und Übungen: Jedes Kapitel enthält zahlreiche praktische Beispiele und Übungen, die es den Lesern ermöglichen, das Gelernte sofort anzuwenden und eigene Projekte zu entwickeln.
Schritt-für-Schritt-Anleitungen: Die detaillierten Anleitungen sorgen dafür, dass die Leser die beschriebenen Schritte leicht nachvollziehen und umsetzen können.
Visuelle Unterstützung: Zahlreiche Diagramme und Grafiken helfen dabei, die Konzepte zu veranschaulichen und das Verständnis der komplexen Themen zu erleichtern.
Zusammenfassungen und Quizfragen: Am Ende jedes Kapitels werden die wichtigsten Punkte zusammengefasst und durch Quizfragen gefestigt, um das Verständnis zu überprüfen.
Das Buch bietet eine fundierte Einführung in das maschinelle Lernen und ist so gestaltet, dass es sowohl für Anfänger als auch für fortgeschrittene Leser geeignet ist:
Grundlagen des maschinellen Lernens: Frochte legt besonderen Wert darauf, die grundlegenden Konzepte verständlich zu erklären, sodass auch Einsteiger schnell die ersten Erfolge erzielen können.
Python und ML-Bibliotheken: Die Einführung in Python und die wichtigsten ML-Bibliotheken ermöglicht es den Lesern, die Theorie in die Praxis umzusetzen und eigene Modelle zu entwickeln.
Praktische Anwendung: Durch die praxisorientierten Beispiele und Projekte lernen die Leser nicht nur die Theorie, sondern auch die praktische Anwendung der ML-Algorithmen in realen Projekten.
"Maschinelles Lernen: Grundlagen und Algorithmen in Python" ist ein wertvolles Werkzeug für alle, die sich für das maschinelle Lernen interessieren. Es bietet:
Für Anfänger: Eine klare und verständliche Einführung in die Welt des maschinellen Lernens, die den Einstieg erleichtert und erste Erfolge ermöglicht.
Für Fortgeschrittene: Detaillierte Anleitungen und fortgeschrittene Themen, die das Verständnis vertiefen und die Entwickler herausfordern, ihre Kenntnisse zu erweitern.
Für Lehrkräfte und Ausbilder: Eine wertvolle Ressource, um Studenten und Kursteilnehmern die Grundlagen und fortgeschrittenen Konzepte des maschinellen Lernens zu vermitteln.
"Maschinelles Lernen: Grundlagen und Algorithmen in Python" von Jörg Frochte ist ein hervorragend konzipiertes Buch, das sowohl Anfänger als auch Fortgeschrittene in die Welt des maschinellen Lernens einführt. Mit klaren Erklärungen, praxisorientierten Beispielen und zahlreichen visuellen Hilfsmitteln gelingt es Frochte, die komplexen Themen des maschinellen Lernens verständlich und zugänglich zu machen. Das Buch ist eine wertvolle Ressource für alle, die ihre eigenen ML-Modelle entwickeln möchten, und zeigt eindrucksvoll, wie viel Potenzial und Anwendungsmöglichkeiten das maschinelle Lernen bietet. Insgesamt bietet dieses Werk eine solide Grundlage für die weitere Vertiefung und Anwendung des Gelernten im beruflichen und akademischen Umfeld.
Rezension von: Die Magie der Bücher
Ich wollte mir mal einen Überblick über das Thema erarbeiten und fand mit diesem Buch eine wundervolle Vorlage. Für mich liest es sich sehr flüssig. Besonders hilfreich waren für mich die ersten Kapitel mit der Auffrischung der mathematischen Grundlagen. Direkt im Anschluß geht es zu den diversen Modellen. Für mich sehr spannend, allerdings bin ich bisher noch nicht ganz durch. Soviel spannende Themen und so wenig Zeit :-)
Der Autor versteht es didaktische sehr gut Grundlagen samt Beispielen für die Thematik Maschinelles Lernen zu vermitteln. Gute mathematische Kenntnisse sind meines Erachtens aber notwendig um wirklich praktisch damit zuarbeiten. Unbestreitbar ist es aber ein sehr gutes und didaktisch gut aufbereitetes Kompendium zum Thema.
Die vielen Beispiele machen die Thematik auch für " Laien" verständlich und verleiten einem zum Weiterlesen; damit wird vieles verständlicher was derzeit zum Thema geschrieben und diskutiert wird.
Ich halte es für ein sehr gutes Einstiegsbuch und wenn die entsprechenden mathematischen Kenntnisse und gute Kenntnisse von Programmiersprachen vorhanden sind wird eine Nutzung als Übungsbuch sehr gut möglich sein, nicht nur im universitären Bereich sondern auch im Berufsalltag.
Das Buch bietet auf gut 600 Seiten einen ausführlichen Einstieg in die Welt des
maschinellen Lernens. Der Autor beschränkt sich dabei nicht nur auf das
Trendthema der künstlichen Neuronalen Netze und des "Deep Learnings", sondern
geht auch auf andere Methoden wie Entscheidungsbäume und
Support-Vector-Machines ein. Neben der ausführlichen Beschreibung und
Herleitung der Algorithmen, enthält das Buch zudem eine kurze statistische
Einführung.
Insgesamt überwiegt in dem Buch der algorithmische Ansatz, wobei auch die
Implementierung ausführlich vorgestellt wird. Als Leser sollte man daher schon
gewisse Programmierkenntnisse besitzen. Das Buch enthält zwar auch eine kurze
Einführung in Python und die verwendeten Bibliotheken (insbesonders numpy), wer
aber bisher noch gar nicht mit ihnen gearbeitet hat, wird sicherlich gerade zu
Beginn Schwierigkeiten haben, alle Beispiele nachzuvollziehen. Hier
bietet es sich an, parallel immer wieder in der Dokumentation von numpy
nachzulesen, bis die sehr kompakte Syntax dieser Bibliothek verinnerlicht
wurde.
Wie alle Bücher zum maschinellen Lernen, steht auch dieses vor der
Schwierigkeit zwischen dem mathematisch, theoretischen Teil und der praktischen
Anwendung ein sinnvolles Gleichgewicht zu schaffen. Da dieses Buch den Anspruch
erhebt, auch im universitären Kontext als Lehrbuch genutzt werden zu können,
nimmt der theoretische Teil in ihm etwas mehr Raum ein, als es in vielen
anderen Einführungen der Fall ist. Dies halte ich aber durchaus für eine
Stärke, weil es dadurch mehr Tiefe besitzt, als reine
Implementierungsanleitungen.
Positiv sei auch noch der angenehme Stil des Autors genannt. Er hebt dieses
Buch positiv von vielen anderen Fachbüchern aus der Softwareentwicklung ab.
Seinen Gedanken und der Vorstellung der Implementierung kann gut gefolgt werden
und auch die schwierigeren mathischen Zusammenhänge werden sinnvoll dargelegt.
Das Werk „Maschinelles Lernen – Grundlagen und Algorithmen in Python“ erläutert die Grundlagen des Maschinellen Lernens und zeigt deren praktische Anwendung mit Hilfe der Programmiersprache Python.
Das Buch vermerkt explizit, dass es kein Lehrbuch über Python ist. Für Pythonanfänger ist es empfehlenswert, einen Pythonkurs zu belegen oder ein Pythonlehrbuch durchzuarbeiten, bevor die Codebespiele der Algorithmen im Buch angegangen werden.
Meine Ausgangsbasis zum Lesen des Buches sind einerseits gute Grundkenntnissen in der Programmiersprache Python und andererseits Mathematikkenntnisse, insbesondere der Linearen Algebra, die schon lange Jahre zum Studium zurückliegen und daher etwas eingerostet sind. Das Buch ist mit dieser Basis gut verständlich, wenn man etwas mehr Zeit zum Durchdenken der Techniken und Verfahren investiert.
Dieses Werk mit rund 600 Seiten ist durch den lockeren Schreibstil des Autors, vor allem in den ersten Kapiteln, sehr gut und mit lockerem Vergnügen lesbar. Nach ca. einem Drittel des Buches wird es zunehmend mathematisch, was zumindest mein persönliches Lesetempo drosselte, um die Grundlagen und die Algorithmen auch tatsächlich zu verstehen.
Die im Buch verwendeten Algorithmen sind als digitales Zusatzmaterial für alle Kapitel des Buches als Download verfügbar. Das erleichtert das Nachvollziehen und vor allem das Experimentieren mit den Algorithmen ungemein. Sehr hilfreich für das Experimentieren sind weiters die im Zusatzmaterial vorhandenen Beispieldaten im CSV-Format.
Das Buch “Maschinelles Lernen“ ist ein Werk, das nicht nur gelesen sondern durchgearbeitet werden will. Dann ist es sowohl als Begleitung zum Studium aber auch für den Praktiker, der sich einen fundierten Ein- und Überblick über die Themen des maschinellen Lernens verschaffen will, sehr gut geeignet.
Als ich dieses Buch in die Hand nahm, hatte ich keinerlei Erfahrungen mit dem Thema "Maschinelles Lernen". Dieses praxisorientierte Lehrbuch für Maschinelles Lernen, erwies sich als eine ausgezeichnete Wahl, um meine Reise in diese faszinierende Welt zu beginnen. Der Autor versteht es, bereits in seiner Einleitung das Thema interessant und fesselnd anzukündigen. Dadurch wird das Weiterlesen angeregt und es entstehen einige Ideen zur weiteren Recherche.
Obwohl ich anfangs befürchtete, dass mir komplexe mathematische Konzepte den Zugang erschweren könnten, wurde ich positiv überrascht. Der Autor vermittelt die Inhalte auf annähernd verständliche Weise und nimmt sich die Zeit, die mathematischen Grundlagen zu erläutern, ohne dass es überfordernd wird (bezogen auf das Buch und dessen inhaltliche Auseinandersetzung! – Es gibt hier lediglich einen kurzen mathematischen Auszug, welcher dem Verständnis des Buches dient und durch ergänzendes Wissen oder weiterführender Literatur vertieft werden sollte! Eine solide mathematische Ausbildung und der Wille auf eigene weitere Recherchearbeit ist von Vorteil). Dabei wird der Fokus nicht nur auf trockene Theorie gelegt, sondern auch auf die praktische Umsetzung anhand von konkreten Algorithmen.
Wer zudem, wie ich, noch nicht mit Python in Berührung gekommen ist, findet ein Kapitel für die ersten grundlegenden Schritte, die nötig sind, um den Beispielen im Buch zu folgen. Das Buch berücksichtigt somit Leserinnen und Leser, die bisher keine Programmiererfahrung mit Python haben, und erleichtert den Einstieg in die praktische Umsetzung der Algorithmen. Die Grundlagen in Python in diesem Buch empfand ich jedoch als etwas dünn. Für Leserinnen und Leser ohne Programmiererfahrung erforderte es möglicherweise zusätzliche Recherche, um sich mit den Python-Grundlagen vertraut zu machen. Dennoch möchte ich betonen, dass der Autor keinerlei Anspruch auf das Tutorium der Programmierung erhebt (Zitat "Python alleine füllt dicke Bücher und die Kombination aus NumPy, SciPy und Matplotlib als Zusatz oft ein weiteres"). Die Erklärung des Codes war für mich teilweise zu knapp gehalten, was das Verständnis erschwerte. Das Buch konzentriert sich vielmehr darauf, die Konzepte des Maschinellen Lernens zu vermitteln und praxisorientierte Einblicke zu gewähren. Die Schritt-für-Schritt-Anleitung half mir jedoch, mich mit der Programmiersprache vertraut zu machen und gab mir das Vertrauen, die Codebeispiele im Buch zu verstehen und sogar eigene kleine Anpassungen vorzunehmen (Rechner mit Python IDE und Buch in Kombination durchzuarbeiten ist äußerst hilfreich und trägt maßgeblich zum Verständnis bei).
Besonders wertvoll empfand ich, dass der Autor nicht nur auf die Technik eingeht, sondern auch auf die Stärken und Schwächen der einzelnen Algorithmen. Dadurch konnte ich ein besseres Verständnis dafür entwickeln, welche Herangehensweise für verschiedene Anwendungen am besten geeignet ist.
In der Rezension möchte ich auch einige Kritikpunkte ansprechen, die meiner Meinung nach wichtig sind, um eine umfassende Einschätzung des Buches zu geben. Obwohl das Buch insgesamt positive Aspekte bietet, gibt es einige Bereiche, in denen ich Verbesserungspotenzial sehe. Hier möchte ich auf einige dieser Punkte näher eingehen. Das Buch zeigt klar den Anspruch, viele Informationen auf begrenztem Platz zu vermitteln. Dennoch könnten die Struktur und der klare rote Faden besser ausgearbeitet sein, da es an manchen Stellen den Eindruck vermittelt, dass von allem etwas behandelt wird, aber letztlich an einigen Stellen zu wenig in die Tiefe geht und andere für mich interessante und wichtige Stellen nur grob überflogen werden. Ich hätte mir zudem an der ein oder anderen Stelle noch weitere Übungsmöglichkeiten (mit Musterlösung), Literaturhinweise oder Links zur Vertiefung gewünscht.
Insgesamt hat mir dieses Buch geholfen, das Thema Maschinelles Lernen nicht nur theoretisch zu erfassen, sondern auch ein Gefühl dafür zu bekommen, wie es in der Praxis angewendet wird. Für die Einarbeitung in die Thematik des maschinellen Lernens bietet dieses Buch sicher eine solide Grundlage und erste Anlaufstelle. Es war der ideale Einstieg für mich, um mich mit diesem spannenden Gebiet vertraut zu machen. Egal ob für Neulinge wie mich oder besonders Leser mit Vorkenntnissen (besonders Ingenieure, Mathematiker und Informatiker werden dieses Buch schätzen) - dieses Buch bietet eine wertvolle Lernerfahrung für alle, die sich für Maschinelles Lernen interessieren. Die anschauliche Darstellung der Konzepte, gepaart mit praktischen Beispielen, hat meine Lernkurve erheblich beschleunigt und mein Interesse an diesem faszinierenden Gebiet weiter verstärkt. Trotz seines akademischen Anspruchs und einigen Verbesserungspotenzial, die m.E. noch etwas Feinschliff bedürfen, bereitet dieses praxisorientierte Lehrbuch viel Freude beim Lesen!
Das Buch ist ein praxisorientiertes Lehrbuch für Maschinelles Lernen. Es eignet sich sehr gut um verschiedene Algorithmen wie diese in Python vorhanden sind mit ihren Schwächen und Stärken kennenzulernen. Insbesondere vom hohen Wert ist das der Autor nicht die strickte Ausführung dieser Algorithmen vorführt sondern ihren mathematischen Hintergrund erläutert und wertvolle Hinweise für deren Einsatz gibt. Damit bekommt man ein Gefühl wie Maschinelles Lernen in der Praxis stattfindet.
Wer tiefer in dieser Materie einsteigen möchte muss dieses Buch ausarbeiten. Es beinhaltet eine unheimliche Menge an Informationen, die am besten durch das Ausführen und Nachvollziehen der in dem Buch erläuterten Beispielen sich einprägen kann. Am besten gefallen hat es mir, dass begleitend zu dem Buch es den Quellcode gibt den man von der eigenen Internet Adresse des Autors downloaden kann. Hinzu kommt die You-Tube-Serie mit Vorlesungen zu den einzelnen Kapiteln aus dem Buch. Durch die Kombination aus dem Vorgetragenen und dem Schriftlichen erzielt man ein optimales Lernergebnis.
Wer die Ausdauer erbringt die mehr als 600 Seiten zu lesen bekommt einen tiefen Einblick in dieser Thematik. Manche dieser Kapitel empfand ich als zu lang geschrieben und etwas ermüdend in einem durchzulesen. Der Einstieg in die Thematik findet nach einer Einführung in Python und Python Bibliotheken statt. Allerdings eignet sich diese Einführung als Wiederholung bereits erlangten Wissens aber nicht als notwendige Basis für die spätere Ausführung der Python Module. Die eigentlichen Kapitel zum Maschinellen Lernen sind ausführlich und verweisen auf umfangreiche und gute Referenzen. Ich kann daher das Buch für alle die Lösungsansätze für maschinelles Lernen auf Hochschulniveau kennenlernen oder einsetzen möchten wärmstens empfehlen. Es vermittelt ein gutes Fundament an Wissen und Quellen für das Thema Maschinelles Lernen mit Hilfe von Python Bibliotheken.
Ich habe bereits einige Texte zu maschinellem Lernen gelesen, diese waren aber immer sehr high level und gingen wenig in die Anwendung. Da ist dieses Buch sehr gut geeignet. Auf 600 Seiten wird eine große Breite von Themen durchgesprochen.
Es gibt in den ersten Kapiteln einen kurzen mathematischen Abriss, wer allerdings noch nie mit Statistik oder Vektorräumen zu tun hat, wird sich dort im Verständnis schwer tun. Formeln finden sich überall im Buch, sodass ich Interessenten, welche nur an einer verständlichen Beschreibung ohne Mathematik eher zu einem anderen Buch raten würde.
Ich habe dieses Buch gelesen, ohne die verwendeten Codebeispiele auszuführen. Auch wenn es möglich war, hilft es dem Verständnis ungemein, immer einen Rechner mit Python-Interpreter in der Nähe zu haben.
Empfehlen würde ich das Buch jedem, der sich mit dem Thema "Maschinelles Lernen" befassen möchte, aber eine solide mathematische Ausbildung mindestens auf grundständigem Universitätsniveau besitzt. Erfahrung in Python ist nicht notwendig, da es einerseits eine kurze Einführung gibt, andererseits auch die verwendeten Funktionen recht selbsterklärend sind.
Jörg Frochte möchte dem Leser einen umfassenden Überblick über maschinelles Lernen geben. Dies ist eine Herkules Aufgabe, angesichts der raschen Entwicklung und des stetigen Wachstums in diesem Bereich. Viele Bücher versuchen deshalb, sich auf bestimmte Werkzeuge oder Themen zu beschränken. Wie zum Beispiel auf Keras oder scikit-learn. Dem Autor ist es wichtig, dem Leser so viele Informationen wie möglich zu geben. Ihm gelingt es dadurch, dass er sehr kurze Einführungen und Beispiele liefert. Der Umgfang des Themas entwickelt sich jedoch so rasch, dass selbst ein über 600 Seiten starkes Buch es nicht schafft, alle Themen in voller Tiefe zu behandeln. Der Autor lässt den Leser aber nicht allein mit dem Problem, sondern gibt durch Internet-Links und Hinweise auf Bücher Empfehlungen, die dem Leser weiterhelfen. Angenehm fand ich es, dass er direkt in der Anleitung auf Beschränkungen hinweist und nicht vorgibt, sein Buch sei umfassend und vollkommen. Die Themen, die es nicht in sein Buch geschafft haben, benennt er und gibt Empfehlungen, mit welchen Themen sich der Leser nach der Lektüre des Buches beschäftigen sollte. Für die Einarbeitung in diese neusten Entwicklungen bietet dieses Buch eine solide Grundlage.
Als Programmiersprache verwendet er Python. Mir hat es sehr gefallen, dass er die Python-Distribution Anaconda und als IDE Spyder empfiehlt, um Neulingen eine schnelle Installation der notwendigen Umgebung zu ermöglichen. Mit Anaconda werden bereits alle notwendigen Pakete, wie zum Beipiel Matplotlib, installiert.
Andere Bücher setzen danach auf den von ihr genannten Umgebungen auf und der Lesefluss wird durch Screenshots gestört. In diesem Buch werden nur wichtige Teile des Programmcodes abgebildet und erklärt. Der gesamte Quellcode wird vom Autor bereit gestellt. Ich selber nutze Anaconda nicht, sondern meine eigene Installation und eine andere IDE. Den Beipielen konnte ich trotzdem sehr gut folgen.
Die didaktische Erfahrung des Autors macht sich im Aufbau des Buches angenehm bemerkbar. Alle Themen werden so einfach, wie möglich, besprochen und an Hand von Graphiken oder Beispielen veranschaulicht. Eine Einführung in Python beschränkt sich, auf das im weiteren Verlauf Notwendige. Pakete wie Pandas (Kapitel 9), werden nicht in dieser Einführung (Kapitel 3) besprochen, sondern erst, wenn sie thematisch benötigt werden. Man muss nicht im Buch vor- und zurückspringen. Der rote Faden und der Lesefluss bleiben erhalten. Dies gilt auch für die benötigte Mathematik. Es wird nur das Notwendige, so kurz und einfach wie möglich, besprochen. Möchte oder benötigt man eine umfangreichere Behandlung, dann folgt man der Buch Empfehlung im Literatur Anhang. Der Author benutzt Beispiel Daten, die mit den Tools (Entscheidungsbäume, Keras und so weiter) untersucht werden. Dabei werden die Ergebnisse der Tools verglichen und alle Vor- und Nachteile, benannt und veranschaulicht. Es werden Aufgaben gestellt, die zu einem tieferen Verständnis führen. Der Autor gibt dem Leser Empfehlungen aus seiner Erfahrung mit den Tools und aus der Praxis, die dem Leser beim eigenen Anwenden und experimentieren weiterhelfen.
Das Buch macht einen soliden Eindruck: mehr als 600 Seiten gesammeltes Wissen zu dem Thema maschinelles Lernen. Es ist zweifelsohne als Lehrbuch konzipiert und erfüllt diesen Zweck hervorragend. Das Thema maschinelles Lernen setzt einiges voraus: Mathematische Kenntnisse im Bereich lineare Algebra und Statistik sowie Erfahrungen in der Softwareentwicklung. Meiner Meinung nach werden sowohl Mathematiker als auch die Informatiker dieses Buch schätzen. In der Einführung wird der KDD-Prozess dargestellt und die Rolle des Maschinellen Lernens im KDD-Prozess. Es folgt eine Unterteilung des Maschinellen Lernens in Überwachtes Lernen, Unüberwachtes Lernen und Bestärkendes Lernen. Danach bekommt man eine Einführung in Python. Bevor ich das Buch gelesen habe, habe ich keine Berührungspunkte mit der Programmiersprache Python gehabt. Die Einführung im Kapitel 3 war für mich jedoch ausreichend, um die Beispiele im Buch nachvollziehen zu können. In weiteren Teilen des Buches werden unterschiedliche Verfahren für Überwachtes Lernen, Unüberwachtes Lernen und Bestärkendes Lernen vorgestellt. Ich würde das Buch sowohl zum Selbststudium, als auch als eine Begleitung im Studium, uneingeschränkt empfehlen.
Einführender Disclaimer: Das Buch wurde mir vom Verlag mit der Bitte um eine, diese Rezension gestellt.
Das Buch vermittelt einen fundierten Überblick über die verschiedenen Gebiete des maschinellen Lernens und bietet zahlreiche Beispiele, die auch auf einem handelsüblichen Laptop in akzeptabler Zeit ausgeführt werden können. Mir fehlten hier Hinweise auf die Namen der zugehörigen Dateien in dem zur Verfügung stehenden Paket der Code-Beispiele, welches ansonsten recht umfangreich ist und dem Leser alle benötigten Beispieldatensätze an die Hand gibt. Ebenfalls positiv: Die Beispiele hängen nicht übermäßig von Keras-APIs ab, sondern bauen stark auf den Grundlagen (Python mit NumPy, SciPy, Matplotlib) auf.
Entwickler bin ich ja und irgendwo ist auch noch das geforderte "Basiswissen der Hochschulmathematik" abrufbar, aber ich bin nicht erfahren in Python, somit waren die ersten Kapitel nicht optional. Hier hatte ich dann doch ein wenig zu kämpfen, weil die Sprache selbst zwar gut lesbar und die Darstellung im Buch verständlich ist, in diesem Teil des Buches wird aber auch gleich auf die später verwendeten Bibliotheken und die dort gängigen Idiome im Mix mit einem gar nicht so kleinen Quantum Mathematik hingearbeitet, hier wäre mir eine gemächlichere Vorgehensweise angenehmer gewesen.
Man darf allerdings nicht vergessen, dass das Buch Grundlagen vermitteln will und keine vertiefenden Themen abdeckt, der Umfang an Seiten würde sonst deutlich steigen. Auch deshalb hätte ich an einigen Stellen gerne mehr weiterführenden Literaturhinweise gesehen, doch insgesamt bin ich der Meinung, dass das Buch einen hervorragenden Einstieg in das Thema bietet und man es jedem empfehlen kann, der schnell selbst aktiv werden möchte, am besten mit dem Wissen der mathematischen Grundlagen, damit man sich auf
die Verfahren und deren Implementierung konzentrieren kann.
Das Buch gibt einen breiten und umfassenden Überblick über verschiedene wichtige Bereiche des Maschinellen Lernens. Die große Fachkompetenz des Autors ist in allen Kapiteln zu bemerken, sehr positiv fallen auch die vielen Hinweise auf weiterführende Literatur zu speziellen Themen und zu vertiefenden Darstellungen der mathematischen Grundlagen auf. Gleichwohl ist der Einstieg in das Buch ein wenig langatmig, insbesondere die Kapitel mit einer „Einführung“ in Python und NumPy sind meiner Meinung von einem eher überschaubaren Wert. Wer sich damit noch nicht auskennt, dem ist auch nach dem Lesen dieser Abschnitt nicht wirklich viel weitergeholfen, aber das weiß man erst hinterher. Daher vergeht eine gewisse Zeit, bis es dann endlich mit dem eigentlichen Thema losgeht. Für das detaillierte Nachvollziehen jeder Formel und jeder Zeile in den Listings ist daher auch ein gewisses Durchhaltevermögen erforderlich, insbesondere bei einem Einstieg als "Neuling" in das Thema. Kleine Ungenauigkeiten (z.B. erreicht man die auf Seite 96 genannten Werte für my und sigma nur mit einem random.seed(42) und nicht mit dem im Listing auf Seite 83 genannten Wert von 45; das Listing auf Seite 119 für den Plot der Histogramme ist unvollständig und lässt den Leser mit wenig Kenntnissen in matplotlib daher zunächst etwas ratlos zurück, etc.) sind bei dem Thema und Umfang Buches vermutlich nicht völlig zu vermeiden.
Der Verzicht auf die Einhaltung des Python Style Guides für den Quellcode erweist sich beim Durcharbeiten und Verstehen des Codes dann aber doch als wenig hilfreich, da die Verwendung von Groß- und Kleinschreibung recht beliebig erscheint. Auch sind Konventionen wie die Leerzeichen vor und nach (mathematischen) Operatoren nicht aus Selbstzweck heraus entstanden, sondern deren Einhaltung würde natürlich deutlich die Lesbarkeit des Codes erhöhen. Da das Buch im (Unter-) Titel Python als Programmiersprache ausdrücklich erwähnt wird, ist man als Leser hier in programmiertechnischer Sicht ein wenig enttäuscht, aber das hängt natürlich auch sehr vom persönlichen Background diesbezüglich ab.
Wenn man den bereits erwähnten Willen zum Durchhalten und die Motivation für Recherche auch über die in den einzelnen Kapiteln erläuterten Inhalte hinaus mitbringt, kann einem das Buch viele Grundlagen und erste Einblicke in Aspekte des Maschinellen Lernens vermitteln, die einigermaßen anschaulich anhand der Programmbeispiele nachvollzogen werden können.
Struktur und Stil
Der strukturelle Aufbau ist logisch und berücksichtigt die steigende Komplexität der angesprochenen Themen. Zu jedem Kapitel gibt es eine Einleitung. Visuelle Elemente, die den trockenen akademischen Stoff auflockern und lebendiger machen, sind leider selten vorhanden.
Der Leser bekommt den Inhalt in einem lockeren umgangssprachlichen Stil präsentiert, bedauerlicherweise mit Mängeln in Bezug auf die Lesbarkeit.
Stärken und Schwächen
- (+) Die eindrucksvolle Kompetenz des Autors in der Thematik
- (+) Die teilweise Nachvollziehbarkeit des Inhalts an Hand von Python-Code
- (+) Die umfangreichen Referenzen
- (-) Eine teilweise absolut schlechte Lesbarkeit durch:
- bis zu 20 und mehr DIN A4 Zeilen ohne Absatz, in der Einleitung und in weiteren Kapiteln
- (-) Python wird als »das Werkzeug« angepriesen, daher sollte auch ein sauberer Programmierstil (PEP8) als elementar wichtig angesehen werden
Persönliche Empfehlung
Wenn ich die Stärken und Schwächen abwäge, bleibt immer noch ein gutes Plus. Für die in dem Buch genannte Zielgruppe also eine positive Empfehlung. Wer das erforderliche Hochschulniveau (noch) nicht besitzt, sollte es sich überlegen, es gibt außerordentlich gute und verständliche YouTube-Videos für Einsteiger zum Thema »Maschinelles Lernen«.
Prof. Dr. Jörg Frochte lehrt und forscht seit 2010 an der Hochschule Bochum. Als Professor für Angewandte Informatik und Mathematik hält er hier Vorlesungen in Mathematik, Simulation&Modellbildung und maschinellem Lernen.
Prof. Dr. Jörg Frochte lehrt und forscht seit 2010 an der Hochschule Bochum. Als Professor für Angewandte Informatik und Mathematik hält er hier Vorlesungen in Mathematik, Simulation&Modellbildung und maschinellem Lernen.