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.5 Werkzeuge und Ressourcen
27
2.6 Anforderungen und Datenschutz im praktischen Einsatz
28
3 Python, NumPy, SciPy und Matplotlib – in a nutshell
33
3.1 Installation mittels Anaconda und die Spyder-IDE
33
3.2 Python Grundlagen
36
3.3 Matrizen und Arrays in NumPy
44
3.4 Interpolation und Extrapolation von Funktionen mit SciPy
54
3.5 Daten aus Textdateien laden und speichern
60
3.6 Visualisieren mit der Matplotlib
62
3.7 Performance-Probleme und Vektorisierung
66
4 Statistische Grundlagen und Bayes-Klassifikator
69
4.1 Einige Grundbegriffe der Statistik
69
4.2 Satz von Bayes und Skalenniveaus
71
4.3 Bayes-Klassifikator, Verteilungen und Unabhängigkeit
77
5 Lineare Modelle und Lazy Learning
89
5.1 Vektorräume, Metriken und Normen
89
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.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 und Overfitting
190
8 Deep Neural Networks mit Keras
211
8.1 Deep Multilayer Perceptron und Regularisierung
211
8.2 Ein Einstieg in Convolutional Neural Networks
229
9 Feature-Reduktion und -Auswahl
252
9.1 Allgemeine Aufbereitung von Daten
254
9.2 Featureauswahl
262
9.3 Hauptkomponentenanalyse (PCA)
272
9.4 Autoencoder mit Keras
281
10 Support Vector Machines
287
10.1 Optimale Separation
287
10.2 Soft-Margin für nicht-linear separierbare 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.7 Ausblick auf Multi-Agenten- und hierarchische Szenarien
386
Literatur
396
Index
402
© 2009-2024 ciando GmbH