Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow, 2nd Edition

Eine Reihe technischer Durchbrüche beim Deep Learning haben das gesamte Gebiet des maschinellen Lernens in den letzten Jahren beflügelt. Inzwischen können sogar Programmierer, die kaum etwas über diese Technologie wissen, mit einfachen, effizienten Werkzeugen Machine-Learning-Programme implementiere...

Descripción completa

Detalles Bibliográficos
Otros Autores: Géron, Aurélien, author (author), Demmig, Thomas (-), Rother, Kristian
Formato: Libro electrónico
Idioma:Inglés
Publicado: dpunkt 2020.
Edición:2nd edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631014106719
Tabla de Contenidos:
  • Intro
  • Inhalt
  • Vorwort
  • Teil I: Die Grundlagen des Machine Learning
  • Kapitel 1: Die Machine-Learning-Umgebung
  • Was ist Machine Learning?
  • Warum wird Machine Learning verwendet?
  • Anwendungsbeispiel
  • Unterschiedliche Machine-Learning-Systeme
  • Überwachtes/unüberwachtes Lernen
  • 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
  • Kapitel 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
  • Erstelle eine Arbeitsumgebung
  • 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
  • Eigene Transformer
  • Skalieren von Merkmalen
  • 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
  • Kapitel 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
  • Kapitel 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
  • Early Stopping
  • Logistische Regression
  • Abschätzen von Wahrscheinlichkeiten
  • Trainieren und Kostenfunktion
  • Entscheidungsgrenzen
  • Softmax-Regression
  • Übungen
  • Kapitel 5: Support Vector Machines
  • Lineare Klassifikation mit SVMs
  • Soft-Margin-Klassifikation
  • Nichtlineare SVM-Klassifikation
  • Polynomieller Kernel
  • Ähnlichkeitsbasierte Merkmale
  • Der gaußsche RBF-Kernel
  • Komplexität der Berechnung
  • SVM-Regression
  • Hinter den Kulissen
  • Entscheidungsfunktion und Vorhersagen
  • Zielfunktionen beim Trainieren
  • Quadratische Programme
  • Das duale Problem
  • Kernel-SVM
  • Online-SVMs
  • Übungen
  • Kapitel 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
  • Instabilität
  • Übungen
  • Kapitel 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
  • Stacking
  • Übungen
  • Kapitel 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
  • Kernel-PCA
  • Auswahl eines Kernels und Optimierung der Hyperparameter
  • LLE
  • Weitere Techniken zur Dimensionsreduktion
  • Übungen
  • Kapitel 9: Techniken des unüberwachten Lernens
  • Clustering
  • K-Means
  • Grenzen von K-Means
  • Bildsegmentierung per Clustering
  • Vorverarbeitung 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
  • Kapitel 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
  • TensorFlow 2 installieren
  • 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
  • Kapitel 11: Trainieren von Deep-Learning-Netzen
  • Das Problem schwindender/explodierender Gradienten
  • Initialisierung nach Glorot und He
  • Nicht sättigende Aktivierungsfunktionen
  • Batchnormalisierung
  • Gradient Clipping
  • Wiederverwenden vortrainierter Schichten
  • Transfer Learning mit Keras
  • Unüberwachtes Vortrainieren
  • Vortrainieren anhand einer Hilfsaufgabe
  • Schnellere Optimierer
  • Momentum Optimization
  • Beschleunigter Gradient nach Nesterov
  • AdaGrad
  • RMSProp
  • Adam-Optimierung
  • Scheduling der Lernrate
  • Vermeiden von Overfitting durch Regularisierung
  • ℓ1- und ℓ2-Regularisierung
  • Drop-out
  • Monte-Carlo-(MC-)-Drop-out
  • Max-Norm-Regularisierung
  • Zusammenfassung und praktische Tipps
  • Übungen
  • Kapitel 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 Modell-Interna basieren lassen
  • Gradienten per Autodiff berechnen
  • Eigene Trainingsschleifen
  • Funktionen und Graphen in TensorFlow.
  • AutoGraph und Tracing
  • Regeln für TF Functions
  • Übungen
  • Kapitel 13: Daten mit TensorFlow laden und vorverarbeiten
  • Die 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
  • Die Eingabemerkmale vorverarbeiten
  • Kategorische Merkmale mit One-Hot-Vektoren codieren
  • Kategorische Merkmale mit Embeddings codieren
  • Vorverarbeitungsschichten von Keras
  • TF Transform
  • Das TensorFlow-Datasets-(TFDS-)Projekt
  • Übungen
  • Kapitel 14: Deep Computer Vision mit Convolutional Neural Networks
  • Der Aufbau des visuellen Cortex
  • Convolutional Layers
  • Filter
  • Stapeln mehrerer Feature Maps
  • Implementierung in TensorFlow
  • Speicherbedarf
  • Pooling Layers
  • Implementierung in TensorFlow
  • Architekturen von CNNs
  • LeNet-5
  • AlexNet
  • GoogLeNet
  • VGGNet
  • ResNet
  • Xception
  • SENet
  • 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 (YOLO)
  • Semantische Segmentierung
  • Übungen
  • Kapitel 15: Verarbeiten von Sequenzen mit RNNs und CNNs
  • Rekurrente Neuronen und Schichten
  • Gedächtniszellen
  • Ein- und Ausgabesequenzen
  • RNNs trainieren
  • Eine Zeitserie vorhersagen
  • Grundlegende Metriken
  • Ein einfaches RNN implementieren
  • Deep RNNs
  • Mehrere Zeitschritte vorhersagen
  • Arbeit mit langen Sequenzen
  • Gegen instabile Gradienten kämpfen
  • Das Problem des Kurzzeitgedächtnisses
  • Übungen.
  • Kapitel 16: Natürliche Sprachverarbeitung mit RNNs und Attention.