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 |