Jörg Frochte
Maschinelles Lernen
Grundlagen und Algorithmen in Python
1 Einleitung
9
2 Maschinelles Lernen – Überblick und Abgrenzung
14
2.1 Lernen, was bedeutet das eigentlich?
14
2.2 Künstliche Intelligenz, Data Mining und Knowledge Discovery in Databases
15
2.3 Strukturierte und unstrukturierte Daten in Big und Small
18
2.4 Überwachtes, unüberwachtes und bestärkendes Lernen
21
2.5 Werkzeuge und Ressourcen
27
2.6 Anforderungen im praktischen Einsatz
28
3 Python, NumPy, SciPy und Matplotlib – in a nutshell
38
3.1 Installation mittels Anaconda und die Spyder-IDE
38
3.2 Python-Grundlagen
41
3.3 Matrizen und Arrays in NumPy
51
3.4 Interpolation und Extrapolation von Funktionen mit SciPy
63
3.5 Daten aus Textdateien laden und speichern
69
3.6 Visualisieren mit der Matplotlib
70
3.7 Performance-Probleme und Vektorisierung
74
4 Statistische Grundlagen und Bayes-Klassifikator
78
4.1 Einige Grundbegriffe der Statistik
78
4.2 Satz von Bayes und Skalenniveaus
80
4.3 Bayes-Klassifikator, Verteilungen und Unabhängigkeit
86
5 Lineare Modelle und Lazy Learning
100
5.1 Vektorräume, Metriken und Normen
100
5.2 Methode der kleinsten Quadrate zur Regression
114
5.3 Der Fluch der Dimensionalität
121
5.4 k-Nearest-Neighbor-Algorithmus
122
6 Entscheidungsbäume
129
6.1 Bäume als Datenstruktur
129
6.2 Klassifikationsbäume für nominale Merkmale mit dem ID3-Algorithmus
134
6.3 Klassifikations- und Regressionsbäume für quantitative Merkmale
148
6.4 Overfitting und Pruning
162
7 Ein- und mehrschichtige Feedforward-Netze
168
7.1 Einlagiges Perzeptron und Hebbsche Lernregel
169
7.2 Multilayer Perceptron und Gradientenverfahren
176
7.3 Klassifikation und One-Hot-Codierung
196
7.4 Auslegung, Lernsteuerung und Overfitting
198
8 Deep Neural Networks mit Keras
219
8.1 Sequential Model von Keras
220
8.2 Verschwindender Gradient und weitere Aktivierungsfunktionen
226
8.3 Initialisierung und Batch Normalization
229
8.4 Loss-Function und Optimierungsalgorithmen
238
8.5 Overfitting und Regularisierungstechniken
255
9 Feature-Engineering und Datenanalyse
264
9.1 Pandas in a Nutshell
264
9.2 Aufbereitung von Daten und Imputer
274
9.3 Featureauswahl
289
9.4 Hauptkomponentenanalyse (PCA)
302
9.5 Autoencoder
313
9.6 Aleatorische und epistemische Unsicherheiten
319
9.7 Umgang mit unbalancierten Datenbeständen
325
10 Ensemble Learning mittels Bagging und Boosting
329
10.1 Bagging und Random Forest
329
10.2 Feature Importance mittels Random Forest
335
10.3 Gradient Boosting
342
11 Convolutional Neural Networks mit Keras
352
11.1 Grundlagen und eindimensionale Convolutional Neural Networks
353
11.2 Convolutional Neural Networks für Bilder
365
11.3 Data Augmentation und Flow-Verarbeitung
378
11.4 Class Activation Maps und Grad-CAM
383
11.5 Transfer Learning
393
11.6 Ausblicke Continual Learning und Object Detection
401
12 Support Vector Machines
405
12.1 Optimale Separation
405
12.2 Soft-Margin für nicht-linear separierbare Klassen
411
12.3 Kernel-Ansätze
412
12.4 SVM in scikit-learn
418
13 Clustering-Verfahren
425
13.1 k-Means und k-Means++
429
13.2 Fuzzy-C-Means
434
13.3 Dichte-basierte Cluster-Analyse mit DBSCAN
438
13.4 Hierarchische Clusteranalyse
445
13.5 Evaluierung von Clustern und Praxisbeispiel Clustern von Ländern
452
13.6 Schlecht gestellte Probleme und Clusterverfahren
469
14 Grundlagen des bestärkenden Lernens
481
14.1 Software-Agenten und ihre Umgebung
481
14.2 Markow-Entscheidungsproblem
484
14.3 Q-Learning
492
14.4 Unvollständige Informationen und Softmax
506
14.5 Der SARSA-Algorithmus
514
15 Fortgeschrittene Themen des bestärkenden Lernens
519
15.1 Experience Replay und Batch Reinforcement Learning
522
15.2 Q-Learning mit neuronalen Netzen
538
15.3 Double Q-Learning
545
15.4 Credit Assignment und Belohnungen in endlichen Spielen
552
15.5 Inverse Reinforcement Learning
559
15.6 Deep Q-Learning
561
15.7 Hierarchical Reinforcement Learning
577
15.8 Model-based Reinforcement Learning
582
15.9 Multi-Agenten-Szenarien
586
Literatur
591
Index
601
© 2009-2024 ciando GmbH