Machine Learning - kurz & gut -  Chi Nhan Nguyen,  Oliver Zeigermann

Machine Learning - kurz & gut (eBook)

Eine Einführung mit Python, Pandas und Scikit-Learn
eBook Download: EPUB
2021 | 2. Auflage
216 Seiten
O'Reilly Verlag
978-3-96010-512-1 (ISBN)
Systemvoraussetzungen
14,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Der kompakte Schnelleinstieg in Machine Learning und Deep Learning - Die Neuauflage des Bestsellers wurde ergänzt durch die Themen Unsupervised Learning und Reinforcement Learning - Anhand konkreter Datensätzen lernen Sie einen typischen Workflow kennen: vom Datenimport über Datenbereinigung, Datenanalyse bis hin zur Datenvisualisierung - Nicht nur für zukünftige Data Scientists und ML-Profis geeignet, sondern auch für Interessierte, die nur am Rande mit ML zu tun haben, wie z.B. Softwareentwickler*innen Machine Learning erreicht heute beinahe alle Bereiche der Technik und der Gesellschaft. Dieses Buch bietet Interessierten, die einen technischen Hintergrund haben, die schnellstmögliche Einführung in das umfangreiche Themengebiet des maschinellen Lernens und der statistischen Datenanalyse. Dabei werden alle wesentlichen Themen abgedeckt und mit praktischen Beispielen in Python, Pandas, TensorFlow und Keras illustriert. Nach der Lektu?re dieses Buchs haben Sie einen Überblick u?ber das gesamte Thema und können Ansätze einordnen und bewerten. Das Buch vermittelt Ihnen eine solide Grundlage, um Ihre ersten eigenen Machine-Learning-Modelle zu trainieren und vertiefende Literatur zu verstehen. Die aktualisierte 2. Auflage behandelt jetzt auch Unsupervised Learning und Reinforcement Learning.

Nach seiner Diplom- und Doktorarbeit an der Universität Hamburg im Bereich Hochenergiephysik am Teilchenbeschleuniger HERA/DESY arbeitete Chi Nhan Nguyen mehrere Jahre als wissenschaftlicher Mitarbeiter im akademischen Ausland. Seine Stationen waren dabei u.a. das Fermilab, die Texas A&M University, der Teilchenbeschleuniger LHC am CERN und die Columbia University. Seit 2013 arbeitet er als Datenwissenschaftler und Berater fu?r die S&P Consult im Bereich der Optimierung von Sanierungsstrategien fu?r Versorgungsnetzwerke auf Basis von stochastischen Alterungsmodellen. Oliver Zeigermann ist Entwickler, Architekt, Berater und Coach aus Hamburg. Über die letzten Jahrzehnte hat er Software in vielen unterschiedlichen Sprachen und Technologien entwickelt. In den letzten Jahren ist er tiefer in die Analyse und Verarbeitung von Daten eingestiegen.

Nach seiner Diplom- und Doktorarbeit an der Universität Hamburg im Bereich Hochenergiephysik am Teilchenbeschleuniger HERA/DESY arbeitete Chi Nhan Nguyen mehrere Jahre als wissenschaftlicher Mitarbeiter im akademischen Ausland. Seine Stationen waren dabei u.a. das Fermilab, die Texas A&M University, der Teilchenbeschleuniger LHC am CERN und die Columbia University. Seit 2013 arbeitet er als Datenwissenschaftler und Berater für die S&P Consult im Bereich der Optimierung von Sanierungsstrategien für Versorgungsnetzwerke auf Basis von stochastischen Alterungsmodellen. Oliver Zeigermann ist Entwickler, Architekt, Berater und Coach aus Hamburg. Über die letzten Jahrzehnte hat er Software in vielen unterschiedlichen Sprachen und Technologien entwickelt. In den letzten Jahren ist er tiefer in die Analyse und Verarbeitung von Daten eingestiegen.

KAPITEL 1


Einführung


In diesem Buch führen wir dich in das Thema Machine Learning ein. Wir setzen keine Kenntnisse voraus und beginnen tatsächlich bei null. Das Buch ist für alle Anwender mit einem technischen Hintergrund gedacht, die in das Thema Machine Learning einsteigen möchten. Wenn du also Programmierer, Ingenieur, Naturwissenschaftler, technischer Journalist oder etwas Ähnliches bist, ist dies hier dein Buch.

Alle Codebeispiele werden wir in Python 3 angegeben – Python-Kenntnisse sind jedoch nicht zwingend erforderlich, denn wir werden die notwendigen Grundlagen Stück für Stück in entsprechend gekennzeichneten Kästen vermitteln. Diese kannst du überspringen, falls du Python bereits beherrschst. Wenn du dir nur einen generellen Überblick verschaffen willst, ist es auch möglich, die Programmierbeispiele komplett zu überspringen, einen tieferen Einblick bekommst du aber nur mit ihrer Hilfe. Um den Programmierbeispielen folgen zu können, solltest du eine Programmiersprache mit objektorientierten Eigenschaften beherrschen – welche, ist egal.

Wie du dieses Buch lesen kannst


Dieses Buch ist kein Nachschlagewerk. Du kannst es gut von vorn bis hinten durchlesen. Dann dient es dir als Einführung in das Thema Machine Learning.

Das Buch ist in drei Teile aufgeteilt. Teil 1 bildet mit den Kapiteln 1 bis 3 die Einleitung in das Thema. Die Kapitel 4 bis 6 liefern als Teil 2 einen strukturierten Aufbau der Grundlagen. Im dritten Teil mit den Kapiteln 7 bis 9 lernst du anhand von Anwendungsbeispielen fortgeschrittene Techniken wie neuronale Netze, Autoencoder und Deep Reinforcement Learning kennen.

Du kannst alle Codebeispiele direkt nachvollziehen und brauchst dann dementsprechend länger. Du kannst aber auch bestimmte Kapitel auslassen, wenn du dich nicht so sehr für das darin behandelte Thema interessierst. In jedem Fall solltest du den Schnelldurchlauf in Kapitel 2, Quick-Start, und das Kapitel 4, Supervised Learning, komplett lesen. Diese Kapitel enthalten die Kernthemen dieses Buchs.

In Kapitel 4 werden wir uns durch die einzelnen klassischen Strategien des Supervised Learning hindurcharbeiten und dabei deren Unterschiede, Stärken und Schwächen kennenlernen. In Kapitel 2 findest du einen Schnelldurchlauf durch alle Stationen dieses Buchs.

Die beiden Kapitel 5, Feature-Auswahl, und 6, Modellvalidierung, gehen etwas mehr in die Tiefe und beantworten Fragen, die eventuell in Kapitel 4 offengeblieben sind. Sie enthalten Formeln und erfordern ein wenig mathematisches Interesse und Verständnis.

Kapitel 3, Datenimport und -vorbereitung, liegt uns persönlich besonders am Herzen. Oft fehlt dieser Teil in einführenden Büchern, da er als etwas mühsam und spaßfrei angesehen wird. Wir glauben, dass sogar die Vorbereitung der Daten spannend sein kann. Zudem sind gute Daten in der Regel die Voraussetzung für einen erfolgreichen Machine-Learning-Prozess. In diesem Kapitel schaffen wir zudem die technischen Grundlagen für den Umgang mit Python und seinen Bibliotheken.

Kapitel 7, Neuronale Netze und Deep Learning, handelt vom Deep Learning mit neuronalen Netzen, dem zurzeit heißesten Thema im Bereich Machine Learning. Dies ist ebenso eine Strategie des Supervised Learning, ist aber in vielen Punkten anders als die zuvor in Kapitel 4 behandelten Strategien. Daher haben wir diesem Thema ein eigenes Kapitel spendiert. Hier wenden wir auch alles bisher Gelernte in einer praktischen Anwendung an, indem wir versuchen, Geschwindigkeitsbeschränkungen auf Verkehrsschildern zu erkennen.

In Kapitel 8, Unsupervised Learning mit Autoencodern und Kapitel 9, Deep Reinforcement Learning gehen wir weiter auf dem Pfad der neuronalen Netze, und du erfährst, wie man diese für unüberwachtes und verstärkendes Lernen einsetzen kann.

Arten von Machine Learning – ein Überblick


Stell dir ein System vor, das sagen soll, ob auf einem Bild ein Hund zu sehen ist oder nicht. So etwas könntest du programmatisch mit Methoden der Bildverarbeitung umsetzen. Dazu könntest du einen Satz von Regeln anlegen, anhand derer das System entscheidet, ob es einen Hund gibt oder eben nicht. Solche Systeme sind nicht nur schwer zu entwickeln, es wird wahrscheinlich viele Hunde auch gar nicht erkennen oder in manchen Bildern fälschlicherweise Hunde vermuten. Was macht man da? Man fügt neue Regeln hinzu, und andere verfeinert man manuell.

Mit einem Machine-Learning-Ansatz würde das ganz anders laufen. Du müsstest ein System konfigurieren und mit entsprechenden Hundebildern (und Bildern ohne Hund) in einer Lernphase trainieren. Das System lernt dann im Idealfall selbst die Regeln, die du sonst als Programmierer hättest explizit aufzählen müssen.

Von Machine Learning spricht man, wenn man einen Computer nicht direkt programmiert, sondern wenn diese Maschine bestimmte Fähigkeiten erlernt. In der klassischen Programmierung bringen wir ein Modell in ein Stück Code, mit dem wir eine Eingabe in eine Ausgabe wandeln. Im Machine Learning drehen wir das um und lassen die Maschine das Modell aus passenden Sätzen von Ein- und Ausgaben erlernen. Dies illustriert Abbildung 1-1. Ein solches Vorgehen nennt man auch Supervised Learning (überwachtes Lernen), da wir unser System aktiv durch zueinander passende Datensätze trainieren.

Abbildung 1-1: Maschinelles Lernen vs. klassische Programmierung

Supervised Learning

Man kann den Bereich Machine Learning anhand unterschiedlicher Ansätze unterteilen. Beim Supervised Learning (dem überwachten Lernen) trainierst du ein System mit Datensätzen aus Eingabe und erwarteter Ausgabe.

Für das Beispiel mit den Hundebildern musst du einen Satz von Bildern mit Hunden und ohne Hunde heraussuchen. Um den Trainingserfolg zu überprüfen, nimmst du einen anderen, bisher dem System nicht bekannten Teil der Bilder und lässt das System entscheiden, ob das Bild einen Hund enthält oder nicht. Da du für diese Bilder ja schon das richtige Ergebnis kennst, kannst du sehen, wie gut das System gelernt hat. Im Idealfall kann das System in dieser Testphase alle Bilder richtig zuordnen. Wo die Grenzen solcher Systeme gerade im Bereich Bilderkennung sind und was du machen kannst, falls das System nicht richtig lernt, thematisieren wir in einem praktischen Beispiel in Kapitel 7, Neuronale Netze und Deep Learning.

Klassifikation und Regression

So ein Beispiel nennt man auch eine Klassifikation. Das System lernt, Bilder in die beiden Klassen »Bild mit Hund« und »Bild ohne Hund« einzusortieren. Oft gibt es bei einer Klassifikation nur zwei Klassen, z.B. ob ein selbstfahrendes Auto in einer bestimmten Situation bremsen sollte oder nicht oder ob auf einem Ultraschallbild Krebs vermutet wird oder nicht. Häufig wird sich in einem solchen Fall nicht strikt für Ja oder Nein entschieden, stattdessen wird die Vorhersage mit einer Gewissheit versehen, meist einer Zahl zwischen 0 und 1.

Es gibt auch Klassifikationen, die zwischen einer ganzen Reihe von Klassen entscheiden, z.B. bei einer Handschriftenerkennung der Ziffern 0 bis 9, die bei Postsendungen zum Einsatz kommt. Hier haben wir zehn Klassen, nämlich für jede Ziffer von 0 bis 9 eine. Auch hier bekommen wir Wahrscheinlichkeiten pro Ziffer.

Der zweite Problembereich des Supervised Learning ist die Regression – also das Erlernen einer kontinuierlichen Funktion – anhand von Werten, die auf dieser Funktion liegen. Das wäre z.B. der Fall, wenn wir das Gewicht eines Hundes anhand bestimmter Parameter oder sogar eines Bilds des Tieres vorhersagen wollen.

Manchmal ist es gar nicht so einfach, den richtigen Ansatz für ein bestehendes Problem zu finden. Wenn die Ausgabe diskrete Werte sind (z.B. die Ziffern 0 bis 9), ist es wahrscheinlich ein Klassifikationsproblem. Hat man kontinuierliche Werte, wie bei dem Gewicht eines Hundes, ist es ein Regressionsproblem.

Unsupervised Learning

Beim Ansatz des Unsupervised Learning (des unüberwachten Lernens) sind keine Labels, also keine Vorgaben der richtigen Lösungen notwendig.

Clustering

Ein Beispiel sind sogenannte Clustering-Verfahren: Sie nehmen eine automatische Kategorisierung der Daten vor und sortieren sie in zusammenhängende Gruppen bzw. »Klumpen« oder »Haufen« (Cluster). Die Kategorisierung geschieht dabei anhand ähnlicher Eigenschaften. Nehmen wir als Beispiel an, dass wir von einer Gruppe von Hunden die Größe und das Gewicht kennen. Wir nehmen dazu ein Koordinatensystem mit einer x-Achse, auf der wir die Größe auftragen, und einer y-Achse für das...

Erscheint lt. Verlag 22.4.2021
Reihe/Serie kurz & gut
O'Reilly`s kurz & gut
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte AI • Algorithmen • Artificial Intelligence • Deep learning • KI • Künstliche Intelligenz • machine learning • Maschinelles Lernen • Neuronale Netze • Python • Reinforcement Learning • Statistische Datenanalyse • Unsupervised Learning
ISBN-10 3-96010-512-6 / 3960105126
ISBN-13 978-3-96010-512-1 / 9783960105121
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 10,7 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Entwicklung von GUIs für verschiedene Betriebssysteme

von Achim Lingott

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
39,99
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
44,90
Mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
29,99