
Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions


Persons
Content
- Cover
- Titel
- Impressum
- Inhalt
- Vorwort
- Teil I Die Grundlagen des Machine Learning
- 1 Die Machine-Learning-Umgebung
- Was ist Machine Learning?
- Warum wird Machine Learning verwendet?
- Anwendungsbeispiel
- Unterschiedliche Machine-Learning-Systeme
- Trainingsüberwachung
- Batch- und Online-Learning
- Instanzbasiertes versus modellbasiertes Lernen
- Die wichtigsten Herausforderungen beim Machine Learning
- Unzureichende Menge an Trainingsdaten
- Nicht repräsentative Trainingsdaten
- Minderwertige Daten
- Irrelevante Merkmale
- Overfitting der Trainingsdaten
- Underfitting der Trainingsdaten
- Zusammenfassung
- Testen und Validieren
- Hyperparameter anpassen und Modellauswahl
- Datendiskrepanz
- Übungen
- 2 Ein Machine-Learning-Projekt von A bis Z
- Der Umgang mit realen Daten
- Betrachte das Gesamtbild
- Die Aufgabe abstecken
- Wähle ein Qualitätsmaß aus
- Überprüfe die Annahmen
- Beschaffe die Daten
- Die Codebeispiele mit Google Colab ausführen
- Ihre Codeänderungen und Daten sichern
- Interaktivität - mächtig, aber gefährlich
- Code im Buch versus Notebook-Code
- Die Daten herunterladen
- Wirf einen kurzen Blick auf die Datenstruktur
- Erstelle einen Testdatensatz
- Erkunde und visualisiere die Daten, um Erkenntnisse zu gewinnen
- Visualisieren geografischer Daten
- Suche nach Korrelationen
- Experimentieren mit Kombinationen von Merkmalen
- Bereite die Daten für Machine-Learning-Algorithmen vor
- Aufbereiten der Daten
- Bearbeiten von Text und kategorischen Merkmalen
- Skalieren und Transformieren von Merkmalen
- Eigene Transformer
- Pipelines zur Transformation
- Wähle ein Modell aus und trainiere es
- Trainieren und auswerten auf dem Trainingsdatensatz
- Bessere Auswertung mittels Kreuzvalidierung
- Optimiere das Modell
- Gittersuche
- Zufällige Suche
- Ensemble-Methoden
- Analysiere die besten Modelle und ihre Fehler
- Evaluiere das System auf dem Testdatensatz
- Nimm das System in Betrieb, überwache und warte es
- Probieren Sie es aus!
- Übungen
- 3 Klassifikation
- MNIST
- Trainieren eines binären Klassifikators
- Qualitätsmaße
- Messen der Genauigkeit über Kreuzvalidierung
- Konfusionsmatrix
- Relevanz und Sensitivität
- Die Wechselbeziehung zwischen Relevanz und Sensitivität
- Die ROC-Kurve
- Klassifikatoren mit mehreren Kategorien
- Fehleranalyse
- Klassifikation mit mehreren Labels
- Klassifikation mit mehreren Ausgaben
- Übungen
- 4 Trainieren von Modellen
- Lineare Regression
- Die Normalengleichung
- Komplexität der Berechnung
- Das Gradientenverfahren
- Batch-Gradientenverfahren
- Stochastisches Gradientenverfahren
- Mini-Batch-Gradientenverfahren
- Polynomielle Regression
- Lernkurven
- Regularisierte lineare Modelle
- Ridge-Regression
- Lasso-Regression
- Elastic-Net-Regression
- Early Stopping
- Logistische Regression
- Abschätzen von Wahrscheinlichkeiten
- Trainieren und Kostenfunktion
- Entscheidungsgrenzen
- Softmax-Regression
- Übungen
- 5 Support Vector Machines
- Lineare Klassifikation mit SVMs
- Soft-Margin-Klassifikation
- Nichtlineare SVM-Klassifikation
- Polynomieller Kernel
- Ähnlichkeitsbasierte Merkmale
- Der gaußsche RBF-Kernel
- SVM-Klassen und Komplexität der Berechnung
- SVM-Regression
- Hinter den Kulissen linearer SVM-Klassifikatoren
- Das duale Problem
- Kernel-SVM
- Übungen
- 6 Entscheidungsbäume
- Trainieren und Visualisieren eines Entscheidungsbaums
- Vorhersagen treffen
- Schätzen von Wahrscheinlichkeiten für Kategorien
- Der CART-Trainingsalgorithmus
- Komplexität der Berechnung
- Gini-Unreinheit oder Entropie?
- Hyperparameter zur Regularisierung
- Regression
- Empfindlichkeit für die Ausrichtung der Achsen
- Entscheidungsbäume haben eine größere Varianz
- Übungen
- 7 Ensemble Learning und Random Forests
- Abstimmverfahren unter Klassifikatoren
- Bagging und Pasting
- Bagging und Pasting in Scikit-Learn
- Out-of-Bag-Evaluation
- Zufällige Patches und Subräume
- Random Forests
- Extra-Trees
- Wichtigkeit von Merkmalen
- Boosting
- AdaBoost
- Gradient Boosting
- Histogrammbasiertes Gradient Boosting
- Stacking
- Übungen
- 8 Dimensionsreduktion
- Der Fluch der Dimensionalität
- Die wichtigsten Ansätze zur Dimensionsreduktion
- Projektion
- Manifold Learning
- Hauptkomponentenzerlegung (PCA)
- Erhalten der Varianz
- Hauptkomponenten
- Die Projektion auf d Dimensionen
- Verwenden von Scikit-Learn
- Der Anteil erklärter Varianz
- Auswählen der richtigen Anzahl Dimensionen
- PCA als Komprimierungsverfahren
- Randomisierte PCA
- Inkrementelle PCA
- Zufallsprojektion
- LLE
- Weitere Techniken zur Dimensionsreduktion
- Übungen
- 9 Techniken des unüberwachten Lernens
- Clustering-Algorithmen: k-Means und DBSCAN
- k-Means
- Grenzen von k-Means
- Bildsegmentierung per Clustering
- Clustering für teilüberwachtes Lernen einsetzen
- DBSCAN
- Andere Clustering-Algorithmen
- Gaußsche Mischverteilung
- Anomalieerkennung mit gaußschen Mischverteilungsmodellen
- Die Anzahl an Clustern auswählen
- Bayessche gaußsche Mischverteilungsmodelle
- Andere Algorithmen zur Anomalie- und Novelty-Erkennung
- Übungen
- Teil II Neuronale Netze und Deep Learning
- 10 Einführung in künstliche neuronale Netze mit Keras
- Von biologischen zu künstlichen Neuronen
- Biologische Neuronen
- Logische Berechnungen mit Neuronen
- Das Perzeptron
- Mehrschichtiges Perzeptron und Backpropagation
- Regressions-MLPs
- Klassifikations-MLPs
- MLPs mit Keras implementieren
- Einen Bildklassifikator mit der Sequential API erstellen
- Ein Regressions-MLP mit der Sequential API erstellen
- Komplexe Modelle mit der Functional API bauen
- Dynamische Modelle mit der Subclassing API bauen
- Ein Modell sichern und wiederherstellen
- Callbacks
- TensorBoard zur Visualisierung verwenden
- Feinabstimmung der Hyperparameter eines neuronalen Netzes
- Anzahl verborgener Schichten
- Anzahl Neuronen pro verborgene Schicht
- Lernrate, Batchgröße und andere Hyperparameter
- Übungen
- 11 Trainieren von Deep-Learning-Netzen
- Das Problem schwindender/explodierender Gradienten
- Initialisierung nach Glorot und He
- Bessere Aktivierungsfunktionen
- Batchnormalisierung
- Gradient Clipping
- Wiederverwenden vortrainierter Schichten
- Transfer Learning mit Keras
- Unüberwachtes Vortrainieren
- Vortrainieren anhand einer Hilfsaufgabe
- Schnellere Optimierer
- Momentum
- Beschleunigter Gradient nach Nesterov
- AdaGrad
- RMSProp
- Adam
- Scheduling der Lernrate
- Vermeiden von Overfitting durch Regularisierung
- l1- und l2-Regularisierung
- Drop-out
- Monte-Carlo-(MC-)Drop-out
- Max-Norm-Regularisierung
- Zusammenfassung und praktische Tipps
- Übungen
- 12 Eigene Modelle und Training mit TensorFlow
- Ein kurzer Überblick über TensorFlow
- TensorFlow wie NumPy einsetzen
- Tensoren und Operationen
- Tensoren und NumPy
- Typumwandlung
- Variablen
- Andere Datenstrukturen
- Modelle und Trainingsalgorithmen anpassen
- Eigene Verlustfunktion
- Modelle mit eigenen Komponenten sichern und laden
- Eigene Aktivierungsfunktionen, Initialisierer, Regularisierer und Constraints
- Eigene Metriken
- Eigene Schichten
- Eigene Modelle
- Verlustfunktionen und Metriken auf Modellinterna basieren lassen
- Gradienten per Autodiff berechnen
- Eigene Trainingsschleifen
- Funktionen und Graphen in TensorFlow
- AutoGraph und Tracing
- Regeln für TF Functions
- Übungen
- 13 Daten mit TensorFlow laden und vorverarbeiten
- Die tf.data-API
- Transformationen verketten
- Daten durchmischen
- Daten vorverarbeiten
- Alles zusammenbringen
- Prefetching
- Datasets mit tf.keras verwenden
- Das TFRecord-Format
- Komprimierte TFRecord-Dateien
- Eine kurze Einführung in Protocol Buffer
- TensorFlow-Protobufs
- Examples laden und parsen
- Listen von Listen mit dem SequenceExample-Protobuf verarbeiten
- Vorverarbeitungsschichten von Keras
- Die Normalization-Schicht
- Die Discretization-Schicht
- Die CategoryEncoding-Schicht
- Die StringLookup-Schicht
- Die Hashing-Schicht
- Kategorische Merkmale mit Embeddings codieren
- Vorverarbeitung von Text
- Vortrainierte Sprachmodellkomponenten verwenden
- Vorverarbeitungsschichten für Bilder
- Das TensorFlow-Datasets-Projekt
- Übungen
- 14 Deep Computer Vision mit Convolutional Neural Networks
- Der Aufbau des visuellen Cortex
- Convolutional Layers
- Filter
- Stapeln mehrerer Feature Maps
- Convolutional Layer mit Keras implementieren
- Speicherbedarf
- Pooling Layers
- Pooling Layer mit Keras implementieren
- Architekturen von CNNs
- LeNet-5
- AlexNet
- GoogLeNet
- VGGNet
- ResNet
- Xception
- SENet
- Weitere erwähnenswerte Architektur
- Die richtige CNN-Architektur wählen
- Ein ResNet-34-CNN mit Keras implementieren
- Vortrainierte Modelle aus Keras einsetzen
- Vortrainierte Modelle für das Transfer Learning
- Klassifikation und Lokalisierung
- Objekterkennung
- Fully Convolutional Networks
- You Only Look Once
- Objektverfolgung
- Semantische Segmentierung
- Übungen
- 15 Verarbeiten von Sequenzen mit RNNs und CNNs
- Rekurrente Neuronen und Schichten
- Gedächtniszellen
- Ein- und Ausgabesequenzen
- RNNs trainieren
- Eine Zeitserie vorhersagen
- Die ARMA-Modellfamilie
- Die Daten für Machine-Learning-Modelle vorbereiten
- Vorhersage mit einem linearen Modell
- Vorhersage mit einem einfachen RNN
- Vorhersage mit einem Deep RNN
- Multivariate Zeitserien vorhersagen
- Mehrere Zeitschritte vorhersagen
- Mit einem Sequence-to-Sequence-Modell vorhersagen
- Arbeit mit langen Sequenzen
- Gegen instabile Gradienten kämpfen
- Das Problem des Kurzzeitgedächtnisses
- Übungen
- 16 Verarbeitung natürlicher Sprache mit RNNs und Attention
- Shakespearesche Texte mit einem Character-RNN erzeugen
- Den Trainingsdatensatz erstellen
- Das Char-RNN-Modell bauen und trainieren
- Einen gefälschten Shakespeare-Text erzeugen
- Zustandsbehaftetes RNN
- Sentimentanalyse
- Maskieren
- Vortrainierte Embeddings wiederverwenden
- Ein Encoder-Decoder-Netzwerk für die neuronale maschinelle Übersetzung
- Bidirektionale RNNs
- Beam Search
- Attention-Mechanismen
- Attention Is All You Need: die Transformer-Architektur
- Eine Lawine an Transformer-Modellen
- Vision Transformers
- Die Transformers-Bibliothek von Hugging Face
- Übungen
- 17 Autoencoder, GANs und Diffusionsmodelle
- Effiziente Repräsentation von Daten
- Hauptkomponentenzerlegung mit einem untervollständigen linearen Autoencoder
- Stacked Autoencoder
- Einen Stacked Autoencoder mit Keras implementieren
- Visualisieren der Rekonstruktionen
- Den Fashion-MNIST-Datensatz visualisieren
- Unüberwachtes Vortrainieren mit Stacked Autoencoder
- Kopplung von Gewichten
- Trainieren mehrerer Autoencoder nacheinander
- Convolutional Autoencoder
- Denoising Autoencoders
- Sparse Autoencoders
- Variational Autoencoders
- Fashion-MNIST-Bilder erzeugen
- Generative Adversarial Networks
- Schwierigkeiten beim Trainieren von GANs
- Deep Convolutional GANs
- Progressive wachsende GANs
- StyleGANs
- Diffusionsmodelle
- Übungen
- 18 Reinforcement Learning
- Lernen zum Optimieren von Belohnungen
- Suche nach Policies
- Einführung in OpenAI Gym
- Neuronale Netze als Policies
- Auswerten von Aktionen: das Credit-Assignment-Problem
- Policy-Gradienten
- Markov-Entscheidungsprozesse
- Temporal Difference Learning
- Q-Learning
- Erkundungspolicies
- Approximatives Q-Learning und Deep-Q-Learning
- Deep-Q-Learning implementieren
- Deep-Q-Learning-Varianten
- Feste Q-Wert-Ziele
- Double DQN
- Priorisiertes Experience Replay
- Dueling DQN
- Überblick über beliebte RL-Algorithmen
- Übungen
- 19 TensorFlow-Modelle skalierbar trainieren und deployen
- Ein TensorFlow-Modell ausführen
- TensorFlow Serving verwenden
- Einen Vorhersageservice auf Vertex AI erstellen
- Batch-Vorhersagejobs auf Vertex AI ausführen
- Ein Modell auf ein Mobile oder Embedded Device deployen
- Ein Modell auf einer Webseite laufen lassen
- Mit GPUs die Berechnungen beschleunigen
- Sich eine eigene GPU zulegen
- Das GPU-RAM verwalten
- Operationen und Variablen auf Devices verteilen
- Paralleles Ausführen auf mehreren Devices
- Modelle auf mehreren Devices trainieren
- Parallelisierte Modelle
- Parallelisierte Daten
- Mit der Distribution Strategies API auf mehreren Devices trainieren
- Ein Modell in einem TensorFlow-Cluster trainieren
- Große Trainingsjobs auf Vertex AI ausführen
- Hyperparameter auf Vertex AI optimieren
- Hyperparameter mit Keras Tuner auf Vertex AI optimieren
- Übungen
- Vielen Dank!
- A Checkliste für Machine-Learning-Projekte
- B Autodiff
- C Spezielle Datenstrukturen
- D TensorFlow-Graphen
- Fußnoten
- Index
- Über den Autor
- Über die Übersetzer
- Kolophon
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.