Skip to main content Skip to search Skip to main navigation
Webshop relaunch: We kindly ask existing customers (except lecturers) to re-register once. Thank you very much!

Maschinelles Lernen

Product information "Maschinelles Lernen"

Maschinelles Lernen ist ein interdisziplinäres Fach, das die Bereiche Informatik, Mathematik und das jeweilige Anwendungsgebiet zusammenführt. In diesem Buch werden alle drei Teilgebiete gleichermaßen berücksichtigt:

- Algorithmen des maschinellen Lernens verwenden und verstehen, wie und warum sie funktionieren.
- Kickstart zur Verwendung von Python 3 und seinem Ökosystem im Umfeld des maschinellen Lernens.
- Verschiedene Methoden des überwachten, unüberwachten und bestärkenden Lernens, u.a. Random Forest, DBSCAN und Q-Learning.

Die Algorithmen werden zum besseren Verständnis und praktischen Einsatz anschaulich mittels NumPy und SciPy umgesetzt. Für die Support Vector Machines und das Deep Learning wird auf scikit-learn bzw. Keras zurückgegriffen.

Die dritte Auflage wurde für die Keras/Tensorflow-Version 2 sowie Python 3.7 überarbeitet, mehrere Kapitel insbesondere zum bestärkten Lernen wurde aktualisiert und folgende Themen wurden unter anderem neu aufgenommen:

- Deep Q-Learning

- Class Activation Maps und Grad-CAM

- Pandas-Integration und -Einführung

- OpenAI Gym integriert

Das Buch ist ideal für Studierende der Informatik, Mechatronik, Elektrotechnik und der angewandten Statistik/Data Science sowie für Ingenieure und Informatiker in der Praxis. Vorausgesetzt werden Kenntnisse in objektorientierter Programmierung und Basiswissen der Hochschulmathematik. Die nötige Mathematik wird eingebettet im Buch präsentiert und die Theorie direkt in Python-Code umgesetzt.

Average rating of 4.6 out of 5 stars

13 reviews


2 - 10 of 13 reviews

Review with rating of 4 out of 5 stars

Olaf S. on 22.05.2023

Mit kleineren Abstrichen empfehlenswert!

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.

Review with rating of 4 out of 5 stars

Florian Büttner on 21.05.2023

Breiter Überblick und solider Einstieg in das Thema, aber Durchhaltewillen erforderlich

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.

Review with rating of 3.5 out of 5 stars

Bernhard Hamann on 22.04.2023

Stärken und Schwächen

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«.

Jörg Frochte

Dr. rer. nat. Jörg Frochte ist seit 2010 Professor für Angewandte Informatik an der Hochschule Bochum. Seine Interessen in Forschung und Lehre liegen im Bereich des maschinellen Lernens und Data Mining. Seit 2024 ist er Vizepräsident der HS für Forschung, Digitalisierung & Internationalisierung.

You may use the cover files free of charge to promote the book.