Jörg Frochte
Maschinelles Lernen
Grundlagen und Algorithmen in Python
Inhalt
6
1 Einleitung
10
2 Maschinelles Lernen – Überblick und Abgrenzung
14
2.1 Lernen, was bedeutetet 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.4.1 Überwachtes Lernen
21
2.4.2 Bestärkendes Lernen
24
2.4.3 Unüberwachtes Lernen
25
2.5 Werkzeuge und Ressourcen
27
2.6 Anforderungen und Datenschutz impraktischen Einsatz
28
3 Python, NumPy, SciPy und Matplotlib – in a nutshell
33
3.1 Installation mittels Anaconda und dieSpyder-IDE
33
3.2 Python Grundlagen
36
3.3 Matrizen und Arrays in NumPy
44
3.3.1 Grundlegendes und Typen
45
3.3.2 Arrays erzeugen und manipulieren
47
3.4 Interpolation und Extrapolation vonFunktionen mit SciPy
54
3.5 Daten aus Textdateien laden undspeichern
60
3.6 Visualisieren mit der Matplotlib
62
3.7 Performance-Probleme undVektorisierung
66
4 Statistische Grundlagen und Bayes-Klassifikator
69
4.1 Einige Grundbegriffe der Statistik
69
4.2 Satz von Bayes und Skalenniveaus
71
4.2.1 Satz von Bayes
71
4.2.2 Skalenniveau
74
4.3 Bayes-Klassifikator, Verteilungen und Unabhängigkeit
77
4.3.1 Stochastische Unabhängigkeit
78
4.3.2 Bayes-Klassifikator für nominale Merkmale
79
4.3.3 Bayes-Klassifikator für Kardinalskalen
82
5 Lineare Modelle und Lazy Learning
89
5.1 Vektorräume, Metriken und Normen
89
5.1.1 Vektorräume, Erzeugendensysteme und Basen
90
5.1.2 Metriken und Normen
96
5.1.3 Untervektorräume und Projektionen
100
5.2 Methode der kleinsten Quadrate zur Regression
103
5.3 Der Fluch der Dimensionalität
110
5.4 k-Nearest-Neighbor-Algorithmus
111
6 Entscheidungsbäume
118
6.1 Bäume als Datenstruktur
118
6.2 Klassifikationsbäume für nominale Merkmale mit dem ID3-Algorithmus
123
6.3 Klassifikations- und Regressionsbäume für quantitative Merkmale
136
6.3.1 Klassifikation
137
6.3.2 Regression
143
6.3.3 Komplexität, Parallelisierbarkeit und Laufzeitoptimierung
148
6.4 Overfitting und Pruning
150
6.5 Random Forest
155
7 Ein- und mehrschichtige Feedforward-Netze
162
7.1 Einlagiges Perzepton und Hebbsche Lernregel
163
7.2 Multilayer Perceptron und Gradientenverfahren
170
7.3 Auslegung, Lernsteuerung undOverfitting
190
8 Deep Neural Networks mit Keras
211
8.1 Deep Multilayer Perceptron und Regularisierung
211
8.1.1 Ein kurzer Einstieg in Keras
211
8.1.2 L1- und L2-Regularisierung
218
8.1.3 Dropout-Strategie und Software-Patente
224
8.1.4 Bilderkennung am Beispiel von Ziffern
226
8.2 Ein Einstieg in Convolutional Neural Networks
229
8.2.1 Faltungen angewendet auf Bildern
229
8.2.2 Aufbau eines Convolutional Neural Networks und Pooling
235
8.2.3 Softmax und Cross-Entropy-Error
237
8.2.4 Bilderkennung am Beispiel des CIFAR-10 Data Sets
241
8.2.5 Verwendung vortrainierter Netze und Data Augmentation
248
9 Feature-Reduktion und -Auswahl
252
9.1 Allgemeine Aufbereitung von Daten
254
9.1.1 Normierung und Standardisierung
254
9.1.2 Imputation fehlender Daten
257
9.2 Featureauswahl
262
9.2.1 Kovarianz und Korrelationskoeffizient
262
9.2.2 Sequenzielle Auswahl von Merkmalen
267
9.3 Hauptkomponentenanalyse (PCA)
272
9.3.1 Mathematische Herleitung und Motivation
273
9.3.2 Praktische Umsetzung in Python
277
9.4 Autoencoder mit Keras
281
10 Support Vector Machines
287
10.1 Optimale Separation
287
10.2 Soft-Margin für nicht-linearseparierbare Klassen
293
10.3 Kernel Ansätze
294
10.4 SVM in scikit-learn
299
11 Clustering-Verfahren
305
11.1 k-Means und k-Means++
309
11.2 Fuzzy-C-Means
314
11.3 Dichte-basierte Cluster-Analyse mit DBSCAN
318
11.4 Hierarchische Clusteranalyse
325
12 Bestärkendes Lernen
332
12.1 Software-Agenten und ihre Umgebung
332
12.2 Markow-Entscheidungsproblem
335
12.3 Q-Learning
343
12.4 Der SARSA Algorithmus
350
12.5 Unvollständige Informationen und Softmax
352
12.6 Q-Learning mittels Funktionsapproximation
356
12.6.1 Eine kontinuierliche virtuelle Umgebung zum Lernen
358
12.6.2 Growing Batch Reinforcement Learning
370
12.7 Ausblick auf Multi-Agenten- und hierarchische Szenarien
386
Literatur
396
Index
402
© 2009-2024 ciando GmbH