Raschka / Mirjalili | Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn | E-Book | sack.de
E-Book

E-Book, Deutsch, 768 Seiten

Reihe: mitp Professional

Raschka / Mirjalili Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn

Das umfassende Praxis-Handbuch für Data Science, Deep Learning und Predictive Analytics
3. Auflage 2021
ISBN: 978-3-7475-0214-3
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 0 - No protection

Das umfassende Praxis-Handbuch für Data Science, Deep Learning und Predictive Analytics

E-Book, Deutsch, 768 Seiten

Reihe: mitp Professional

ISBN: 978-3-7475-0214-3
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 0 - No protection



Datenanalyse mit ausgereiften statistischen Modellen des Machine LearningsAnwendung der wichtigsten Algorithmen und Python-Bibliotheken wie NumPy, SciPy, Scikit-learn, Keras, TensorFlow 2, Pandas und MatplotlibBest Practices zur Optimierung Ihrer Machine-Learning-AlgorithmenMit 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 PythonGängige Klassifikationsalgorithmen wie Support Vector Machines (SVM), Entscheidungsbäume und Random ForestNatural Language Processing zur Klassifizierung von FilmbewertungenClusteranalyse zum Auffinden verborgener Muster und Strukturen in Ihren DatenDeep-Learning-Verfahren für die BilderkennungDatenkomprimierung durch DimensionsreduktionTraining Neuronaler Netze und GANs mit TensorFlow 2Kombination verschiedener Modelle für das Ensemble LearningEinbettung von Machine-Learning-Modellen in WebanwendungenStimmungsanalyse in Social NetworksModellierung sequenzieller Daten durch rekurrente Neuronale NetzeReinforcement Learning und Implementierung von Q-Learning-Algorithmen
Raschka / Mirjalili Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn jetzt bestellen!

Zielgruppe


Alle, die sich mit Data Science und Machine Learning beschäftigen

Weitere Infos & Material


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


Sebastian Raschka ist Assistant Professor für Statistik an der University of Wisconsin-Madison, wo er an der Entwicklung neuer Deep-Learning-Architekturen im Gebiet der Biometrie forscht. Er leitete verschiedene Seminare u.a. auf der SciPy-Konferenz.Vahid Mirjalili erforschte mehrere Jahre an der Michigan State University Anwendungen des Machine Learnings in verschiedenen Computer-Vision-Projekten. Heute ist er in der Forschung des Unternehmens 3M im Bereich Machine Learning tätig.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.