Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn (eBook)

Das umfassende Praxis-Handbuch für Data Science, Deep Learning und Predictive Analytics
eBook Download: PDF
2021 | 3. Auflage
770 Seiten
MITP Verlags GmbH & Co. KG
978-3-7475-0214-3 (ISBN)

Lese- und Medienproben

Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn -  Sebastian Raschka,  Vahid Mirjalili
Systemvoraussetzungen
49,99 inkl. MwSt
(CHF 48,80)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen


  • Datenanalyse mit ausgereiften statistischen Modellen des Machine Learnings


  • Anwendung der wichtigsten Algorithmen und Python-Bibliotheken wie NumPy, SciPy, Scikit-learn, Keras, TensorFlow 2, Pandas und Matplotlib


  • Best Practices zur Optimierung Ihrer Machine-Learning-Algorithmen



Mit diesem Buch erhalten Sie eine umfassende Einführung in die Grundlagen und den effektiven Einsatz von Machine-Learning- und Deep-Learning-Algorithmen und wenden diese anhand zahlreicher Beispiele praktisch an. Dafür setzen Sie ein breites Spektrum leistungsfähiger Python-Bibliotheken ein, insbesondere Keras, TensorFlow 2 und Scikit-learn. Auch die für die praktische Anwendung unverzichtbaren mathematischen Konzepte werden verständlich und anhand zahlreicher Diagramme anschaulich erläutert.


Die dritte Auflage dieses Buchs wurde für TensorFlow 2 komplett aktualisiert und berücksichtigt die jüngsten Entwicklungen und Technologien, die für Machine Learning, Neuronale Netze und Deep Learning wichtig sind. Dazu zählen insbesondere die neuen Features der Keras-API, das Synthetisieren neuer Daten mit Generative Adversarial Networks (GANs) sowie die Entscheidungsfindung per Reinforcement Learning.


Ein sicherer Umgang mit Python wird vorausgesetzt.




Aus dem Inhalt:



  • Trainieren von Lernalgorithmen und Implementierung in Python

  • Gängige Klassifikationsalgorithmen wie Support Vector Machines (SVM), Entscheidungsbäume und Random Forest

  • Natural Language Processing zur Klassifizierung von Filmbewertungen

  • Clusteranalyse zum Auffinden verborgener Muster und Strukturen in Ihren Daten

  • Deep-Learning-Verfahren für die Bilderkennung

  • Datenkomprimierung durch Dimensionsreduktion

  • Training Neuronaler Netze und GANs mit TensorFlow 2

  • Kombination verschiedener Modelle für das Ensemble Learning

  • Einbettung von Machine-Learning-Modellen in Webanwendungen

  • Stimmungsanalyse in Social Networks

  • Modellierung sequenzieller Daten durch rekurrente Neuronale Netze

  • Reinforcement Learning und Implementierung von Q-Learning-Algorithmen

Cover 1
Unbenannt 5
Impressum 6
Inhaltsverzeichnis 7
Über die Autoren 19
Über die Korrektoren 21
Über den Fachkorrektor der deutschen Ausgabe 22
Einleitung 23
Kapitel 1: Wie Computer aus Daten lernen können 31
1.1 Intelligente Maschinen, die Daten in Wissen verwandeln 31
1.2 Die drei Arten des Machine Learnings 32
1.2.1 Mit überwachtem Lernen Vorhersagen treffen 33
1.2.2 Interaktive Aufgaben durch Reinforcement Learning lösen 36
1.2.3 Durch unüberwachtes Lernen verborgene Strukturen erkennen 37
1.3 Grundlegende Terminologie und Notation 38
1.3.1 Im Buch verwendete Notation und Konventionen 39
1.3.2 Terminologie 40
1.4 Entwicklung eines Systems für das Machine Learning 41
1.4.1 Vorverarbeitung: Daten in Form bringen 42
1.4.2 Trainieren und Auswählen eines Vorhersagemodells 42
1.4.3 Bewertung von Modellen und Vorhersage anhand unbekannter Dateninstanzen 43
1.5 Machine Learning mit Python 44
1.5.1 Python und Python-Pakete installieren 44
1.5.2 Verwendung der Python-Distribution Anaconda 45
1.5.3 Pakete für wissenschaftliches Rechnen, Data Science und Machine Learning 45
1.6 Zusammenfassung 46
Kapitel 2: Lernalgorithmen für die Klassifikation trainieren 47
2.1 Künstliche Neuronen: Ein kurzer Blick auf die Anfänge des Machine Learnings 47
2.1.1 Formale Definition eines künstlichen Neurons 48
2.1.2 Die Perzeptron-Lernregel 50
2.2 Implementierung eines Perzeptron-Lernalgorithmus in Python 53
2.2.1 Eine objektorientierte Perzeptron-API 53
2.2.2 Trainieren eines Perzeptron-Modells mit der Iris-Datensammlung 57
2.3 Adaptive lineare Neuronen und die Konvergenz des Lernens 63
2.3.1 Straffunktionen mit dem Gradientenabstiegsverfahren minimieren 64
2.3.2 Implementierung eines adaptiven linearen Neurons in Python 66
2.3.3 Verbesserung des Gradientenabstiegsverfahrens durch Merkmalstandardisierung 71
2.3.4 Large Scale Machine Learning und stochastisches Gradientenabstiegsverfahren 73
2.4 Zusammenfassung 79
Kapitel 3: Machine-Learning-Klassifikatoren mit scikit-learn verwenden 81
3.1 Auswahl eines Klassifikationsalgorithmus 81
3.2 Erste Schritte mit scikit-learn: Trainieren eines Perzeptrons 82
3.3 Klassenwahrscheinlichkeiten durch logistische Regression modellieren 88
3.3.1 Logistische Regression und bedingte Wahrscheinlichkeiten 89
3.3.2 Gewichte der logistischen Straffunktion ermitteln 93
3.3.3 Konvertieren einer Adaline-Implementierung in einen Algorithmus für eine logistische Regression 95
3.3.4 Trainieren eines logistischen Regressionsmodells mit scikit-learn 100
3.3.5 Überanpassung durch Regularisierung verhindern 103
3.4 Maximum-Margin-Klassifikation mit Support Vector Machines 106
3.4.1 Maximierung des Randbereichs 107
3.4.2 Handhabung des nicht linear trennbaren Falls mit Schlupfvariablen 108
3.4.3 Alternative Implementierungen in scikit-learn 110
3.5 Nichtlineare Aufgaben mit einer Kernel-SVM lösen 111
3.5.1 Kernel-Methoden für linear nicht trennbare Daten 111
3.5.2 Mit dem Kernel-Trick Hyperebenen in höherdimensionalen Räumen finden 113
3.6 Lernen mit Entscheidungsbäumen 117
3.6.1 Maximierung des Informationsgewinns: Daten ausreizen 118
3.6.2 Konstruktion eines Entscheidungsbaums 122
3.6.3 Mehrere Entscheidungsbäume zu einem Random Forest kombinieren 126
3.7 k-Nearest-Neighbors: Ein Lazy-Learning-Algorithmus 129
3.8 Zusammenfassung 132
Kapitel 4: Gut geeignete Trainingsdatenmengen: Datenvorverarbeitung 135
4.1 Umgang mit fehlenden Daten 135
4.1.1 Fehlende Werte in Tabellendaten 136
4.1.2 Instanzen oder Merkmale mit fehlenden Daten entfernen 137
4.1.3 Fehlende Werte ergänzen 138
4.1.4 Die Schätzer-API von scikit-learn 139
4.2 Handhabung kategorialer Daten 140
4.2.1 Codierung kategorialer Daten mit pandas 141
4.2.2 Zuweisung von ordinalen Merkmalen 141
4.2.3 Codierung der Klassenbezeichnungen 142
4.2.4 One-hot-Codierung der nominalen Merkmale 143
4.3 Aufteilung einer Datensammlung in Trainings- und Testdaten 147
4.4 Anpassung der Merkmale 150
4.5 Auswahl aussagekräftiger Merkmale 152
4.5.1 L1- und L2-Regularisierung als Straffunktionen 153
4.5.2 Geometrische Interpretation der L2-Regularisierung 153
4.5.3 Dünn besetzte Lösungen mit L1-Regularisierung 155
4.5.4 Algorithmen zur sequenziellen Auswahl von Merkmalen 159
4.6 Beurteilung der Bedeutung von Merkmalen mit Random Forests 166
4.7 Zusammenfassung 169
Kapitel 5: Datenkomprimierung durch Dimensionsreduktion 171
5.1 Unüberwachte Dimensionsreduktion durch Hauptkomponentenanalyse 171
5.1.1 Schritte bei der Hauptkomponentenanalyse 172
5.1.2 Schrittweise Extraktion der Hauptkomponenten 173
5.1.3 Totale Varianz und erklärte Varianz 176
5.1.4 Merkmalstransformation 178
5.1.5 Hauptkomponentenanalyse mit scikit-learn 181
5.2 Überwachte Datenkomprimierung durch lineare Diskriminanzanalyse 185
5.2.1 Hauptkomponentenanalyse kontra lineare Diskriminanzanalyse 185
5.2.2 Die interne Funktionsweise der linearen Diskriminanzanalyse 186
5.2.3 Berechnung der Streumatrizen 187
5.2.4 Auswahl linearer Diskriminanten für den neuen Merkmalsunterraum 189
5.2.5 Projektion in den neuen Merkmalsraum 192
5.2.6 LDA mit scikit-learn 193
5.3 Kernel-Hauptkomponentenanalyse für nichtlineare Zuordnungen verwenden 195
5.3.1 Kernel-Funktionen und der Kernel-Trick 196
5.3.2 Implementierung einer Kernel-Hauptkomponentenanalyse in Python 200
5.3.3 Projizieren neuer Datenpunkte 208
5.3.4 Kernel-Hauptkomponentenanalyse mit scikit-learn 212
5.4 Zusammenfassung 213
Kapitel 6: Bewährte Verfahren zur Modellbewertung und Hyperparameter-Optimierung 215
6.1 Arbeitsabläufe mit Pipelines optimieren 215
6.1.1 Die Wisconsin-Brustkrebs-Datensammlung 215
6.1.2 Transformer und Schätzer in einer Pipeline kombinieren 217
6.2 Beurteilung des Modells durch k-fache Kreuzvalidierung 219
6.2.1 Holdout-Methode 220
6.2.2 k-fache Kreuzvalidierung 221
6.3 Algorithmen mit Lern- und Validierungskurven debuggen 225
6.3.1 Probleme mit Bias und Varianz anhand von Lernkurven erkennen 226
6.3.2 Überanpassung und Unteranpassung anhand von Validierungskurven erkennen 229
6.4 Feinabstimmung eines Lernmodells durch Grid Search 231
6.4.1 Optimierung der Hyperparameter durch Grid Search 232
6.4.2 Algorithmenauswahl durch verschachtelte Kreuzvalidierung 234
6.5 Verschiedene Kriterien zur Leistungsbewertung 236
6.5.1 Interpretation einer Verwechslungsmatrix 236
6.5.2 Optimierung der Genauigkeit und der Trefferquote eines Klassifikationsmodells 238
6.5.3 Receiver-Operating-Characteristic-Diagramme 240
6.5.4 Bewertungskriterien für Mehrklassen-Klassifikationen 243
6.6 Handhabung unausgewogener Klassenverteilung 244
6.7 Zusammenfassung 247
Kapitel 7: Kombination verschiedener Modelle für das Ensemble Learning 249
7.1 Ensemble Learning 249
7.2 Klassifikatoren durch Mehrheitsentscheidung kombinieren 253
7.2.1 Implementierung eines einfachen Mehrheitsentscheidungs- Klassifikators 253
7.2.2 Vorhersagen nach dem Mehrheitsentscheidungsprinzip treffen 260
7.3 Bewertung und Abstimmung des Klassifikator-Ensembles 263
7.4 Bagging: Klassifikator-Ensembles anhand von Bootstrap-Stichproben entwickeln 270
7.4.1 Bagging kurz zusammengefasst 271
7.4.2 Klassifikation der Wein-Datensammlung durch Bagging 272
7.5 Schwache Klassifikatoren durch adaptives Boosting verbessern 276
7.5.1 Funktionsweise des Boostings 276
7.5.2 AdaBoost mit scikit-learn anwenden 280
7.6 Zusammenfassung 284
Kapitel 8: Machine Learning zur Analyse von Stimmungslagen nutzen 285
8.1 Die IMDb-Filmdatenbank 285
8.1.1 Herunterladen der Datensammlung 286
8.1.2 Vorverarbeiten der Filmbewertungsdaten 286
8.2 Das Bag-of-words-Modell 288
8.2.1 Wörter in Merkmalsvektoren umwandeln 289
8.2.2 Beurteilung der Wortrelevanz durch das Tf-idf-Maß 291
8.2.3 Textdaten bereinigen 293
8.2.4 Dokumente in Tokens zerlegen 295
8.3 Ein logistisches Regressionsmodell für die Dokumentklassifikation trainieren 297
8.4 Verarbeitung großer Datenmengen: Online-Algorithmen und Out-of-Core Learning 300
8.5 Topic Modeling mit latenter Dirichlet-Allokation 304
8.5.1 Aufteilung von Texten mit der LDA 305
8.5.2 LDA mit scikit-learn 305
8.6 Zusammenfassung 309
Kapitel 9: Einbettung eines Machine-Learning- Modells in eine Webanwendung 311
9.1 Serialisierung angepasster Schätzer mit scikit-learn 311
9.2 Einrichtung einer SQLite-Datenbank zum Speichern von Daten 315
9.3 Entwicklung einer Webanwendung mit Flask 317
9.3.1 Die erste Webanwendung mit Flask 318
9.3.2 Formularvalidierung und -ausgabe 320
9.4 Der Filmbewertungsklassifikator als Webanwendung 326
9.4.1 Dateien und Ordner – die Verzeichnisstruktur 328
9.4.2 Implementierung der Hauptanwendung app.py 328
9.4.3 Einrichtung des Bewertungsformulars 331
9.4.4 Eine Vorlage für die Ergebnisseite erstellen 332
9.5 Einrichtung der Webanwendung auf einem öffentlich zugänglichen Webserver 335
9.5.1 Erstellen eines Benutzerkontos bei PythonAnywhere 335
9.5.2 Hochladen der Filmbewertungsanwendung 336
9.5.3 Updaten des Filmbewertungsklassifikators 337
9.6 Zusammenfassung 340
Kapitel 10: Vorhersage stetiger Zielvariablen durch Regressionsanalyse 341
10.1 Lineare Regression 341
10.1.1 Ein einfaches lineares Regressionsmodell 342
10.1.2 Multiple lineare Regression 343
10.2 Die Boston-Housing-Datensammlung 344
10.2.1 Einlesen der Datenmenge in einen DataFrame 344
10.2.2 Visualisierung der wichtigen Eigenschaften einer Datenmenge 346
10.2.3 Zusammenhänge anhand der Korrelationsmatrix erkennen 348
10.3 Implementierung eines linearen Regressionsmodells mit der Methode der kleinsten Quadrate 350
10.3.1 Berechnung der Regressionsparameter mit dem Gradientenabstiegsverfahren 351
10.3.2 Schätzung der Koeffizienten eines Regressionsmodells mit scikit-learn 355
10.4 Anpassung eines robusten Regressionsmodells mit dem RANSAC-Algorithmus 357
10.5 Bewertung der Leistung linearer Regressionsmodelle 360
10.6 Regularisierungsverfahren für die Regression einsetzen 363
10.7 Polynomiale Regression: Umwandeln einer linearen Regression in eine Kurve 365
10.7.1 Hinzufügen polynomialer Terme mit scikit-learn 366
10.7.2 Modellierung nichtlinearer Zusammenhänge in der Boston-Housing-Datensammlung 368
10.8 Handhabung nichtlinearer Beziehungen mit Random Forests 371
10.8.1 Entscheidungsbaum-Regression 372
10.8.2 Random-Forest-Regression 373
10.9 Zusammenfassung 377
Kapitel 11: Verwendung von Daten ohne Label: Clusteranalyse 379
11.1 Gruppierung von Objekten nach Ähnlichkeit mit dem k-Means-Algorithmus 379
11.1.1 k-Means-Clustering mit scikit-learn 380
11.1.2 Der k-Means++-Algorithmus 385
11.1.3 »Crisp« und »soft« Clustering 386
11.1.4 Die optimale Anzahl der Cluster mit dem Ellenbogenkriterium ermitteln 388
11.1.5 Quantifizierung der Clustering-Güte mit Silhouettendiagrammen 390
11.2 Cluster als hierarchischen Baum organisieren 395
11.2.1 Gruppierung von Clustern 395
11.2.2 Hierarchisches Clustering mittels einer Distanzmatrix 397
11.2.3 Dendrogramme und Heatmaps verknüpfen 401
11.2.4 Agglomeratives Clustering mit scikit-learn 403
11.3 Bereiche hoher Dichte mit DBSCAN ermitteln 404
11.4 Zusammenfassung 409
Kapitel 12: Implementierung eines künstlichen neuronalen Netzes 411
12.1 Modellierung komplexer Funktionen mit künstlichen neuronalen Netzen 411
12.1.1 Einschichtige neuronale Netze 413
12.1.2 Mehrschichtige neuronale Netzarchitektur 415
12.1.3 Aktivierung eines neuronalen Netzes durch Vorwärtspropagation 418
12.2 Klassifikation handgeschriebener Ziffern 420
12.2.1 Die MNIST-Datensammlung 421
12.2.2 Implementierung eines mehrschichtigen Perzeptrons 428
12.3 Trainieren eines künstlichen neuronalen Netzes 440
12.3.1 Berechnung der logistischen Straffunktion 441
12.3.2 Ein Gespür für die Backpropagation entwickeln 443
12.3.3 Trainieren neuronaler Netze durch Backpropagation 445
12.4 Konvergenz in neuronalen Netzen 449
12.5 Abschließende Bemerkungen zur Implementierung neuronaler Netze 450
12.6 Zusammenfassung 450
Kapitel 13: Parallelisierung des Trainings neuronaler Netze mit TensorFlow 453
13.1 TensorFlow und Trainingsleistung 453
13.1.1 Herausforderungen 453
13.1.2 Was genau ist TensorFlow? 455
13.1.3 TensorFlow erlernen 456
13.2 Erste Schritte mit TensorFlow 457
13.2.1 TensorFlow installieren 457
13.2.2 Tensoren in TensorFlow erstellen 458
13.2.3 Datentyp und Format eines Tensors ändern 459
13.2.4 Anwendung mathematischer Operationen auf Tensoren 460
13.2.5 Tensoren aufteilen, stapeln und verknüpfen 462
13.3 Eingabe-Pipelines mit tf.data erstellen – die Dataset-API von TensorFlow 464
13.3.1 Ein TensorFlow-Dataset anhand vorhandener Tensoren erstellen 464
13.3.2 Zwei Tensoren zu einer Datenmenge vereinen 465
13.3.3 Durchmischen, Batch erstellen und wiederholen 467
13.3.4 Erstellen einer Datenmenge anhand lokal gespeicherter Dateien 470
13.3.5 Zugriff auf die Datenmengen der tensorflow_datasets-Bibliothek 474
13.4 Entwicklung eines NN-Modells mit TensorFlow 480
13.4.1 Die Keras-API (tf.keras) von TensorFlow 480
13.4.2 Entwicklung eines linearen Regressionsmodells 481
13.4.3 Trainieren des Modells mit den Methoden .compile() und .fit() 486
13.4.4 Entwicklung eines mehrschichtigen Perzeptrons zur Klassifikation der Iris-Datensammlung 487
13.4.5 Bewertung des trainierten Modells mit der Testdatenmenge 492
13.4.6 Das trainierte Modell speichern und einlesen 492
13.5 Auswahl der Aktivierungsfunktionen mehrschichtiger neuronaler Netze 493
13.5.1 Die logistische Funktion kurz zusammengefasst 494
13.5.2 Wahrscheinlichkeiten bei der Mehrklassen-Klassifikation mit der softmax-Funktion schätzen 496
13.5.3 Verbreiterung des Ausgabespektrums mittels Tangens hyperbolicus 497
13.5.4 Aktivierung mittels ReLU 500
13.6 Zusammenfassung 501
Kapitel 14: Die Funktionsweise von TensorFlow im Detail 503
14.1 Grundlegende Merkmale von TensorFlow 504
14.2 TensorFlows Berechnungsgraphen: Migration nach TensorFlow v2 505
14.2.1 Funktionsweise von Berechnungsgraphen 505
14.2.2 Erstellen eines Graphen in TensorFlow v1.x 506
14.2.3 Migration eines Graphen nach TensorFlow v2 507
14.2.4 Eingabedaten einlesen mit TensorFlow v1.x 508
14.2.5 Eingabedaten einlesen mit TensorFlow v2 508
14.2.6 Beschleunigung von Berechnungen mit Funktionsdekoratoren 509
14.3 TensorFlows Variablenobjekte zum Speichern und Aktualisieren von Modellparametern 511
14.4 Gradientenberechnung durch automatisches Differenzieren und GradientTape 516
14.4.1 Berechnung der Gradienten der Verlustfunktion bezüglich trainierbarer Variablen 516
14.4.2 Berechnung der Gradienten bezüglich nicht trainierbarer Tensoren 518
14.4.3 Ressourcen für mehrfache Gradientenberechnung erhalten 518
14.5 Vereinfachung der Implementierung gebräuchlicher Architekturen mit der Keras-API 519
14.5.1 Lösen einer XOR-Klassifikationsaufgabe 523
14.5.2 Flexiblere Modellerstellung mit Keras’ funktionaler API 528
14.5.3 Modelle mit Keras’ »Model«-Klasse implementieren 530
14.5.4 Benutzerdefinierte Keras-Schichten 531
14.6 TensorFlows Schätzer 535
14.6.1 Merkmalsspalten 536
14.6.2 Machine Learning mit vorgefertigten Schätzern 540
14.6.3 Klassifikation handgeschriebener Ziffern mit Schätzern 545
14.6.4 Benutzerdefinierte Schätzer anhand eines Keras-Modells erstellen 547
14.7 Zusammenfassung 550
Kapitel 15: Bildklassifikation mit Deep Convolutional Neural Networks 551
15.1 Bausteine von Convolutional Neural Networks 551
15.1.1 CNNs und Merkmalshierarchie 552
15.1.2 Diskrete Faltungen 554
15.1.3 Subsampling 563
15.2 Implementierung eines CNNs 565
15.2.1 Verwendung mehrerer Eingabe- oder Farbkanäle 565
15.2.2 Regularisierung eines neuronalen Netzes mit Dropout 568
15.2.3 Verlustfunktionen für Klassifikationen 572
15.3 Implementierung eines tiefen CNNs mit TensorFlow 574
15.3.1 Die mehrschichtige CNN-Architektur 575
15.3.2 Einlesen und Vorverarbeiten der Daten 576
15.3.3 Implementierung eines CNNs mit TensorFlows Keras-API 577
15.4 Klassifikation des Geschlechts anhand von Porträtfotos mit einem CNN 584
15.4.1 Einlesen der CelebA-Datenmenge 584
15.4.2 Bildtransformation und Datenaugmentation 585
15.4.3 Training eines CNN-Klassifikators 592
15.5 Zusammenfassung 598
Kapitel 16: Modellierung sequenzieller Daten durch rekurrente neuronale Netze 599
16.1 Sequenzielle Daten 599
16.1.1 Modellierung sequenzieller Daten: Die Reihenfolge ist von Bedeutung 600
16.1.2 Repräsentierung von Sequenzen 600
16.1.3 Verschiedene Kategorien der Sequenzmodellierung 601
16.2 Sequenzmodellierung mit RNNs 603
16.2.1 Struktur und Ablauf eines RNNs 603
16.2.2 Aktivierungen eines RNNs berechnen 605
16.2.3 Rückkopplung mit der verdeckten Schicht oder der Ausgabeschicht 608
16.2.4 Probleme bei der Erkennung weitreichender Interaktionen 611
16.2.5 LSTM-Speicherzellen 612
16.3 Implementierung von RNNs zur Sequenzmodellierung mit TensorFlow 614
16.3.1 Projekt 1: Vorhersage der Stimmungslage von IMDb-Filmbewertungen 614
16.3.2 Projekt 2: Sprachmodellierung durch Zeichen mit TensorFlow 631
16.4 Sprache mit dem Transformer-Modell verstehen 644
16.4.1 Der Mechanismus der Selbst-Aufmerksamkeit 645
16.4.2 Multi-Head-Attention und Transformer-Block 648
16.5 Zusammenfassung 649
Kapitel 17: Synthetisieren neuer Daten mit Generative Adversarial Networks 651
17.1 Einführung in GANs 651
17.1.1 Autoencoder 652
17.1.2 Generative Modelle zum Synthetisieren neuer Daten 654
17.1.3 Mit GANs neue Beispiele erzeugen 656
17.1.4 Die Verlustfunktion des Generator- und Diskriminator-Netzes in einem GAN-Modell 657
17.2 Ein GAN von Grund auf implementieren 660
17.2.1 GAN-Modelle mit Google Colab trainieren 660
17.2.2 Implementierung der Generator- und Diskriminator-Netze 663
17.2.3 Definition der Trainingsdatenmenge 667
17.2.4 Trainieren des GAN-Modells 669
17.3 Verbesserung der Qualität synthetisierter Bilder durch Convolutional GAN und Wasserstein-GAN 678
17.3.1 Transponierte Faltung 679
17.3.2 Batchnormierung 680
17.3.3 Implementierung des Generators und des Diskriminators 683
17.3.4 Maße für den Unterschied zwischen zwei Verteilungen 690
17.3.5 Verwendung der EM-Distanz in der Praxis 693
17.3.6 Strafterm 694
17.3.7 Implementierung von WGAN-GP zum Trainieren des DCGAN-Modells 695
17.3.8 Zusammenbrechen des Verfahrens 699
17.4 Weitere GAN-Anwendungen 701
17.5 Zusammenfassung 702
Kapitel 18: Entscheidungsfindung in komplexen Umgebungen per Reinforcement Learning 703
18.1 Einführung: Aus Erfahrung lernen 704
18.1.1 Reinforcement Learning 704
18.1.2 Definition der Agent-Umgebung-Schnittstelle für ein Reinforcement-Learning-System 706
18.2 Theoretische Grundlagen des RLs 707
18.2.1 Markov-Entscheidungsprozesse 707
18.2.2 Mathematische Formulierung von Markov-Entscheidungsprozessen 708
18.2.3 RL-Terminologie: Return, Policy und Wertfunktion 712
18.2.4 Dynamische Programmierung und Bellman-Gleichung 716
18.3 Reinforcement-Learning-Algorithmen 717
18.3.1 Dynamische Programmierung 717
18.3.2 Reinforcement Learning mit Monte-Carlo-Algorithmen 720
18.3.3 Temporal Difference Learning 722
18.4 Implementierung eines RL-Algorithmus 725
18.4.1 OpenAI Gym 725
18.4.2 Lösung der Grid-World-Aufgabe mit Q-Learning 736
18.4.3 Ein Blick auf Deep Q-Learning 741
18.5 Zusammenfassung und Schlusswort 749
Stichwortverzeichnis 753

Erscheint lt. Verlag 3.3.2021
Reihe/Serie mitp Professional
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Netzwerke
Schlagworte Algorithmen • Big Data • Buch • Clusteranalyse • Data Science • Datenanalyse • Datenverarbeitung • Deep learning • machine learning • mitp • Neuronale Netze • NumPy • predictive analytics • Python • Regressionsanalyse • Scikit Learn • SciPy • Sentiment Analyse • tensorflow
ISBN-10 3-7475-0214-8 / 3747502148
ISBN-13 978-3-7475-0214-3 / 9783747502143
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
PDFPDF (Ohne DRM)
Größe: 61,0 MB

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder 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 einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

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
das Praxisbuch für Administratoren und DevOps-Teams

von Michael Kofler

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 38,95
Das umfassende Handbuch

von Martin Linten; Axel Schemberg; Kai Surendorf

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 29,20
Technologien und Best Practices für die Umsetzung im Unternehmen

von Michael Lang; Hans Löhr

eBook Download (2022)
Carl Hanser Verlag GmbH & Co. KG
CHF 38,95