Читать книгу Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow - Aurélien Géron - Страница 5
Inhalt
ОглавлениеTeil IDie Grundlagen des Machine Learning
1Die Machine-Learning-Umgebung
Warum wird Machine Learning verwendet?
Unterschiedliche Machine-Learning-Systeme
Überwachtes/unüberwachtes Lernen
Instanzbasiertes versus modellbasiertes Lernen
Die wichtigsten Herausforderungen beim Machine Learning
Unzureichende Menge an Trainingsdaten
Nicht repräsentative Trainingsdaten
Overfitting der Trainingsdaten
Underfitting der Trainingsdaten
Hyperparameter anpassen und Modellauswahl
2Ein Machine-Learning-Projekt von A bis Z
Wirf einen kurzen Blick auf die Datenstruktur
Erkunde und visualisiere die Daten, um Erkenntnisse zu gewinnen
Visualisieren geografischer Daten
Experimentieren mit Kombinationen von Merkmalen
Bereite die Daten für Machine-Learning-Algorithmen vor
Bearbeiten von Text und kategorischen Merkmalen
Wähle ein Modell aus und trainiere es
Trainieren und Auswerten auf dem Trainingsdatensatz
Bessere Auswertung mittels Kreuzvalidierung
Analysiere die besten Modelle und ihre Fehler
Evaluiere das System auf dem Testdatensatz
Nimm das System in Betrieb, überwache und warte es
Trainieren eines binären Klassifikators
Messen der Genauigkeit über Kreuzvalidierung
Die Wechselbeziehung zwischen Relevanz und Sensitivität
Klassifikatoren mit mehreren Kategorien
Klassifikation mit mehreren Labels
Klassifikation mit mehreren Ausgaben
Stochastisches Gradientenverfahren
Mini-Batch-Gradientenverfahren
Regularisierte lineare Modelle
Abschätzen von Wahrscheinlichkeiten
Lineare Klassifikation mit SVMs
Nichtlineare SVM-Klassifikation
Entscheidungsfunktion und Vorhersagen
Zielfunktionen beim Trainieren
Trainieren und Visualisieren eines Entscheidungsbaums
Schätzen von Wahrscheinlichkeiten für Kategorien
Gini-Unreinheit oder Entropie?
Hyperparameter zur Regularisierung
7Ensemble Learning und Random Forests
Abstimmverfahren unter Klassifikatoren
Bagging und Pasting in Scikit-Learn
Zufällige Patches und Subräume
Die wichtigsten Ansätze zur Dimensionsreduktion
Hauptkomponentenzerlegung (PCA)
Die Projektion auf d Dimensionen
Auswählen der richtigen Anzahl Dimensionen
PCA als Komprimierungsverfahren
Auswahl eines Kernels und Optimierung der Hyperparameter
Weitere Techniken zur Dimensionsreduktion
9Techniken des unüberwachten Lernens
Bildsegmentierung per Clustering
Vorverarbeitung per Clustering
Clustering für teilüberwachtes Lernen einsetzen
Anomalieerkennung mit gaußschen Mischverteilungsmodellen
Die Anzahl an Clustern auswählen
Bayessche gaußsche Mischverteilungsmodelle
Andere Algorithmen zur Anomalie- und Novelty-Erkennung
Teil IINeuronale Netze und Deep Learning
10Einführung in künstliche neuronale Netze mit Keras
Von biologischen zu künstlichen Neuronen
Logische Berechnungen mit Neuronen
Mehrschichtiges Perzeptron und Backpropagation
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
TensorBoard zur Visualisierung verwenden
Feinabstimmung der Hyperparameter eines neuronalen Netzes
Anzahl Neuronen pro verborgene Schicht
Lernrate, Batchgröße und andere Hyperparameter
11Trainieren von Deep-Learning-Netzen
Das Problem schwindender/explodierender Gradienten
Initialisierung nach Glorot und He
Nicht sättigende Aktivierungsfunktionen
Wiederverwenden vortrainierter Schichten
Vortrainieren anhand einer Hilfsaufgabe
Beschleunigter Gradient nach Nesterov
Vermeiden von Overfitting durch Regularisierung
Zusammenfassung und praktische Tipps
12Eigene Modelle und Training mit TensorFlow
Ein kurzer Überblick über TensorFlow
TensorFlow wie NumPy einsetzen
Modelle und Trainingsalgorithmen anpassen
Modelle mit eigenen Komponenten sichern und laden
Eigene Aktivierungsfunktionen, Initialisierer, Regularisierer und Constraints
Verlustfunktionen und Metriken auf Modell-Interna basieren lassen
Gradienten per Autodiff berechnen
Funktionen und Graphen in TensorFlow
13Daten mit TensorFlow laden und vorverarbeiten
Datasets mit tf.keras verwenden
Eine kurze Einführung in Protocol Buffer
Listen von Listen mit dem SequenceExample-Protobuf verarbeiten
Die Eingabemerkmale vorverarbeiten
Kategorische Merkmale mit One-Hot-Vektoren codieren
Kategorische Merkmale mit Embeddings codieren
Vorverarbeitungsschichten von Keras
Das TensorFlow-Datasets-(TFDS-)Projekt
14Deep Computer Vision mit Convolutional Neural Networks
Der Aufbau des visuellen Cortex
Ein ResNet-34-CNN mit Keras implementieren
Vortrainierte Modelle aus Keras einsetzen
Vortrainierte Modelle für das Transfer Learning
Klassifikation und Lokalisierung
15Verarbeiten von Sequenzen mit RNNs und CNNs
Rekurrente Neuronen und Schichten
Ein einfaches RNN implementieren
Mehrere Zeitschritte vorhersagen
Gegen instabile Gradienten kämpfen
Das Problem des Kurzzeitgedächtnisses
16Natürliche Sprachverarbeitung mit RNNs und Attention
Shakespearesche Texte mit einem Character-RNN erzeugen
Den Trainingsdatensatz erstellen
Wie ein sequenzieller Datensatz aufgeteilt wird
Den sequenziellen Datensatz in mehrere Fenster unterteilen
Das Char-RNN-Modell bauen und trainieren
Einen gefälschten Shakespeare-Text erzeugen
Vortrainierte Embeddings wiederverwenden
Ein Encoder-Decoder-Netzwerk für die neuronale maschinelle Übersetzung
Attention Is All You Need: Die Transformer-Architektur
Aktuelle Entwicklungen bei Sprachmodellen
17Representation Learning und Generative Learning mit Autoencodern und GANs
Effiziente Repräsentation von Daten
Hauptkomponentenzerlegung mit einem untervollständigen linearen Autoencoder
Einen Stacked Autoencoder mit Keras implementieren
Visualisieren der Rekonstruktionen
Den Fashion-MNIST-Datensatz visualisieren
Unüberwachtes Vortrainieren mit Stacked Autoencoder
Trainieren mehrerer Autoencoder nacheinander
Generative Adversarial Networks
Schwierigkeiten beim Trainieren von GANs
Lernen zum Optimieren von Belohnungen
Auswerten von Aktionen: Das Credit-Assignment-Problem
Approximatives Q-Learning und Deep-Q-Learning
Deep-Q-Learning implementieren
Priorisiertes Experience Replay
Umgebungswrapper und Atari-Vorverarbeitung
Replay Buffer und Beobachter erstellen
Überblick über beliebte RL-Algorithmen
19TensorFlow-Modelle skalierbar trainieren und deployen
Ein TensorFlow-Modell ausführen
Einen Vorhersageservice auf der GCP AI Platform erstellen
Den Vorhersageservice verwenden
Ein Modell auf ein Mobile oder Embedded Device deployen
Mit GPUs die Berechnungen beschleunigen
Eine mit GPU ausgestattete virtuelle Maschine einsetzen
Operationen und Variablen auf Devices verteilen
Paralleles Ausführen auf mehreren Devices
Modelle auf mehreren Devices trainieren
Mit der Distribution Strategies API auf mehreren Devices trainieren
Ein Modell in einem TensorFlow-Cluster trainieren
Große Trainingsjobs auf der Google Cloud AI Platform ausführen
Black Box Hyperparameter Tuning auf der AI Platform
ALösungen zu den Übungsaufgaben
BCheckliste für Machine-Learning-Projekte