Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
21
Danksagung
23
1 Einleitung
25
1.1 Voraussetzungen und Haltung
26
1.2 Für wen ist dieses Buch geeignet?
27
1.3 Warum Python?
28
1.4 Wie wir in diesem Buch lernen
28
1.4.1 Der Algorithmus in Reinform
28
1.4.2 Der Algorithmus im Data-Science-Kontext
28
1.4.3 Lernprinzip: Mach’s kaputt
29
1.4.4 Lernprinzip: Hier stößt er an seine Grenze
29
1.4.5 Beobachten statt vermuten
29
1.5 Mathematik ohne Angst
30
1.6 Machine Learning im Kontext von Data Science
31
1.7 Wie Sie mit diesem Buch arbeiten
32
1.8 Die Landschaft des Machine Learnings
33
1.8.1 Überwachtes Lernen (Supervised Learning)
34
1.8.2 Unüberwachtes Lernen (Unsupervised Learning)
34
1.8.3 Verstärkendes Lernen (Reinforcement Learning)
34
1.8.4 Eine Landkarte, kein Lehrplan
35
1.9 Verstehen heißt Verantwortung übernehmen
36
2 Das Starter-Kit für KI-Algorithmen
37
2.1 Anaconda-Distribution
37
2.2 Arbeiten mit Jupyter Notebook
40
2.3 Module und Bibliotheken
41
2.4 Virtuelle Umgebungen
43
2.5 Exkurs: Bibliotheken reproduzierbar verwalten
44
2.6 Visual Studio Code
45
2.6.1 Erste Schritte mit Visual Studio Code
46
2.6.2 Extensions installieren und nutzen
47
2.7 Testlauf
48
2.7.1 Ein einfacher Plot
48
2.7.2 Pygame-Test
50
2.8 Von der Werkstatt zur Idee
51
3 Mathematik für KI-Algorithmen
53
3.1 Lineare Algebra und KI
55
3.1.1 Euklidische, Manhattan- und Kosinus-Distanz
55
3.1.2 Vektoren zur Merkmalsrepräsentation
60
3.1.3 Matrizen als Datensätze
62
3.1.4 Linearkombinationen – Richtungen mischen
64
3.1.5 Projektionen – Daten auf eine Richtung abbilden
65
3.1.6 Eigenwerte und Eigenvektoren
65
3.1.7 Fazit: Linearkombinationen, Projektionen und Eigenvektoren
66
3.2 Statistik und Datenverständnis
66
3.2.1 Lagemaße: Mittelwert, Median und Modus
66
3.2.2 Streuungsmaße – wie stark variieren die Daten?
71
3.2.3 Grundgesamtheit und Stichprobe
73
3.2.4 Die Normalverteilung
74
3.2.5 Die 68-95-99,7-Regel
77
3.2.6 Standardisierung und z-Score
78
3.2.7 Korrelation und Kovarianz
79
3.3 Wahrscheinlichkeit und Bayes-Theorem
81
3.3.1 Zufall, Ergebnisse und Wahrscheinlichkeiten
81
3.3.2 Roulette als Lernfeld für Wahrscheinlichkeiten
81
3.3.3 Komplement und Gegenereignis
83
3.3.4 Vereinigung und Schnittmenge
84
3.3.5 Bedingte Wahrscheinlichkeiten
86
3.3.6 Der Satz der totalen Wahrscheinlichkeit
88
3.3.7 Das Bayes-Theorem
90
3.4 Optimierung und Ableitungen
92
3.4.1 Fehler und Kostenfunktionen
92
3.4.2 Ableitungen – die Richtung der Veränderung
94
3.4.3 Gradient Descent – schrittweise zum Minimum
95
3.4.4 Die Lernrate
98
3.4.5 Gradient Descent und Lernrate
101
3.4.6 Lokale Minima und Optimierungslandschaften
101
3.5 Generalisierung und das Bias-Varianz-Dilemma
102
3.5.1 Bias und Varianz
103
3.5.2 Das Bias-Varianz-Dilemma
105
3.6 Weiterführende Literatur
107
4 Data Science und KI-Algorithmen
109
4.1 Was ist Data Science?
110
4.2 Die Data-Science-Pipeline
110
4.3 Understand the Business
111
4.4 Data Acquisition
112
4.5 Einschub: Datenqualität
113
4.6 Data Cleaning
113
4.6.1 Ein schlechter Datensatz als Beispiel
114
4.6.2 Überblick verschaffen
114
4.6.3 Duplikate und leere Zeilen entfernen
115
4.6.4 Fehlende Werte behandeln
116
4.6.5 Überflüssige Spalten und Zeilen
116
4.6.6 Datentypen korrigieren
117
4.6.7 One-Hot-Encoding
118
4.6.8 Kontrolle und Speicherung
119
4.7 Exploratory Data Analysis
121
4.7.1 Statistischer Überblick
121
4.7.2 Erste Hypothesen
122
4.7.3 Verteilung numerischer Variablen
122
4.7.4 Kategoriale Merkmale
124
4.7.5 Beziehungen zwischen Variablen
126
4.7.6 Ausreißer erkennen mit Boxplots
127
4.8 Feature Engineering
128
4.8.1 Direkte Transformationen
129
4.8.2 Abgeleitete Metriken
129
4.9 Machine Learning
130
4.9.1 Kategorien des maschinellen Lernens
132
4.10 Data Visualization
133
4.10.1 Unser Fokus ist ein anderer
134
4.11 Weiterführende Literatur
134
5 Evaluationsmetriken
137
5.1 Metriken: Das Maß des Lernens
137
5.1.1 Was ist eine Metrik?
138
5.1.2 Was ist ein Modell?
138
5.1.3 Wie bewertet man ein Modell?
138
5.1.4 Wie lässt sich Lernerfolg messen?
139
5.1.5 Können Metriken helfen, Modelle zu verbessern?
139
5.1.6 Messen heißt verstehen
140
5.2 Von der Theorie zur Praxis
140
5.3 Unser Datensatz
141
5.4 Regression
143
5.4.1 Ein einfaches Regressionsmodell
143
5.4.2 Mean Absolute Error (MAE)
145
5.4.3 Mean Squared Error (MSE)
146
5.4.4 Root Mean Squared Error (RMSE)
147
5.4.5 Bestimmtheitsmaß R2
148
5.4.6 Fazit
149
5.5 Klassifikation
150
5.5.1 Das Modell: Logistische Regression
150
5.5.2 Die Konfusionsmatrix
152
5.5.3 Accuracy – wie oft liegt das Modell richtig?
155
5.5.4 Precision – wie oft sind positive Vorhersagen korrekt?
155
5.5.5 Recall – wie viele der tatsächlichen Positiven erkennt das Modell?
155
5.5.6 F1-Score – das Gleichgewicht zwischen Precision und Recall
156
5.5.7 Der Code für die Metriken
156
5.5.8 ROC-Kurve und AUC
157
5.5.9 Fazit
161
5.6 Clustering
162
5.6.1 Das Modell: k-Means Clustering
162
5.6.2 Die Elbow-Methode
165
5.6.3 Die Silhouette-Analyse
168
5.6.4 Fazit
171
5.7 Problemtyp und geeignete Evaluationsmetriken
172
5.8 Ausblick
173
5.9 Weiterführende Literatur
173
6 k-Nearest Neighbours
175
6.1 Was macht der Algorithmus eigentlich?
176
6.2 Wofür kann man die Methode verwenden?
177
6.3 Wie funktioniert die Methode?
177
6.4 Algorithmusbeschreibung
178
6.5 Beispiel: Katze oder Kaninchen
179
6.5.1 Daten erzeugen
179
6.5.2 Der kNN-Klassifier
181
6.5.3 Das Hauptprogramm
182
6.5.4 Python-Programm
183
6.5.5 Jupyter-Notebook
184
6.6 Mach’s kaputt
184
6.6.1 Die Wahl von k
184
6.6.2 Unausgeglichene Klassen
185
6.6.3 Dichtefallen und Near Duplicates
185
6.6.4 Skalenfalle
185
6.6.5 Rauschen und Ausreißer
186
6.6.6 Zu viele oder irrelevante Merkmale
186
6.7 Beispiel: Wisconsin Breast Cancer Dataset
186
6.7.1 Standardisierung
187
6.7.2 Datenimport ins Modell
189
6.7.3 Bereinigen des Datensatzes
190
6.7.4 Features extrahieren
192
6.7.5 Test und Training
194
6.7.6 Standardisierung des Datasets
195
6.7.7 kNN-Berechnung auf dem Dataset
197
6.7.8 Konfusionsmatrix
198
6.7.9 Einfluss von k auf die Präzision des Modells
200
6.7.10 ROC- und Precision-Recall-Kurven
201
6.7.11 Jupyter-Notebook
202
6.8 Recommender-System
203
6.8.1 Zielbild
203
6.8.2 Speisen und abgeleitete Komponenten
204
6.8.3 Das kNN-Modell fitten
206
6.8.4 Die Nachbarn abfragen
206
6.9 Eine Simulation in pygame
207
6.10 Grenzen von kNN
208
6.11 Weiterführende Literatur
209
7 Naive-Bayes-Klassifikator
211
7.1 Was macht der Algorithmus eigentlich?
212
7.2 Wofür kann man die Methode verwenden?
212
7.3 Was ist Spam?
213
7.4 Wie funktioniert die Methode?
213
7.4.1 Bayes intuitiv erklärt
213
7.4.2 Was macht Naive Bayes »naiv«?
214
7.4.3 Wie die naive Annahme die Bayes-Formel vereinfacht
215
7.4.4 Beispiel
216
7.5 Kurzbeschreibung des Naive-Bayes-Algorithmus
218
7.6 Beispiel: Spam oder Ham
219
7.6.1 Die Daten laden
219
7.6.2 Einfache Textvorbereitung
220
7.6.3 Bag of Words konstruieren
221
7.6.4 Label Encoding
223
7.6.5 Training des Modells
224
7.6.6 Die Vorhersage
226
7.6.7 Train/Test-Split
229
7.6.8 Evaluation: Accuracy und Konfusionsmatrix
230
7.6.9 Beispiel-SMS klassifizieren
230
7.7 Beispiel: Produkt-Sentiment-Bewertung
232
7.7.1 Synthetischer Datensatz
233
7.7.2 Bag of Words und Naive Bayes mit scikit-learn
234
7.7.3 Konfusionsmatrix
234
7.7.4 Natürlichsprachige Ausgabe
235
7.7.5 Training, Evaluation und Tests
235
7.8 Eine Simulation in pygame
238
7.9 Mach’s kaputt
239
7.9.1 Numerische Grenzen – entfernen Sie den Logarithmus
239
7.9.2 Glättung ausschalten – entfernen Sie die Laplace-Korrektur
239
7.9.3 Ironie und Sarkasmus
240
7.9.4 Klassenungleichgewicht
240
7.9.5 Unbekannte Wörter einbauen
240
7.10 Ethische Betrachtung von Naive Bayes
241
7.11 Grenzen von Naive Bayes
242
7.12 Weiterführende Literatur
243
8 Lineare Regression
245
8.1 Was macht der Algorithmus eigentlich?
246
8.2 Wofür kann man die Methode verwenden?
247
8.3 Wie funktioniert die Methode?
248
8.4 Algorithmusbeschreibung
249
8.5 Beispiel: Ringgröße – statische Variante
250
8.5.1 Regression in Excel
250
8.5.2 Regression in Python
251
8.5.3 Wann wird aus linearer Regression maschinelles Lernen?
253
8.6 Die ML-Variante
254
8.6.1 Ableitung der Kostenfunktion
254
8.6.2 Das modifizierte Beispiel
256
8.6.3 Statische Variante vs. ML-Variante
258
8.6.4 ML-Variante mit Standardisierung
259
8.7 Mach’s kaputt
262
8.7.1 Ausreißer
262
8.7.2 Nichtlinearität
262
8.7.3 Extrapolation
263
8.7.4 Verschobene Skalierung
263
8.7.5 Data Leakage
263
8.7.6 Multikollinearität
263
8.7.7 Overfitting und Regularisierung
263
8.8 Die vektorisierte Variante und scikit-learn
264
8.8.1 Von m und b zur Matrixform
264
8.8.2 Gradient Descent in Matrixform
265
8.8.3 Umsetzung mit scikit-learn
266
8.9 Metriken
268
8.10 Grenzen der Methode
269
8.11 Weiterführende Literatur
269
9 Logistische Regression
271
9.1 Was macht der Algorithmus eigentlich?
272
9.2 Wofür kann man die Methode verwenden?
273
9.3 Wie funktioniert die Methode?
273
9.3.1 Vom linearen Modell zur Wahrscheinlichkeit
274
9.3.2 Eine Funktion für Wahrscheinlichkeiten
275
9.3.3 Odds und Logit
275
9.3.4 Herleitung der Sigmoidfunktion
276
9.3.5 Die Sigmoidfunktion ist gut trainierbar
277
9.4 Algorithmusbeschreibung
279
9.4.1 Die Kostenfunktion der logistischen Regression
279
9.4.2 Der Gradient der Kostenfunktion
281
9.4.3 Gradient Descent zur Parameteranpassung
283
9.5 Beispiel: Kreditvergabe
283
9.5.1 Die Trainingsdaten
283
9.5.2 Die Modellformulierung
284
9.5.3 Grafische Interpretation des Modells
290
9.5.4 Das kritische Alter
291
9.5.5 Entscheidungsschwelle und Risikopolitik
291
9.6 Mach’s kaputt
292
9.6.1 Nicht-monotone Labels (die Kurve kann nur einmal kippen)
292
9.6.2 Gleiche Eingabe, verschiedene Labels (fehlende Merkmale)
293
9.6.3 Trügerische Sicherheit (wenige Daten, perfekte Trennung)
293
9.6.4 Die Schwelle »kaputt machen« (Politik statt Modell)
294
9.6.5 Die Lernrate ist zu groß (Gradient Descent wird instabil)
294
9.7 Beispiel: Heiratsantrag
295
9.7.1 Merkmale und Datenstruktur
295
9.7.2 Synthetische Trainingsdaten
296
9.7.3 Das Modell – gleiche Methode, mehr Dimensionen
296
9.7.4 Training – gleiche Logik, andere Verteilung des Fehlers
297
9.7.5 Auswertung
297
9.8 Heiratsantrag mit sklearn
300
9.9 Eine Simulation in pygame
302
9.10 Ethische Betrachtung der logistischen Regression
303
9.11 Grenzen des Modells
304
9.12 Weiterführende Literatur
305
10 Decision Trees
307
10.1 Hinweis zur Struktur dieses Kapitels
307
10.2 Was ist ein (Entscheidungs-)Baum?
308
10.2.1 Aufbau eines Baums
309
10.2.2 Klassifikations- und Regressionsbäume
312
10.2.3 Pruning – wenn weniger mehr ist
313
10.3 Was macht der Algorithmus eigentlich?
314
10.3.1 Wie bewertet der Algorithmus einen Split?
315
10.3.2 Unsicherheit und Reinheit
317
10.3.3 Entropie
319
10.3.4 Gini-Index
325
10.3.5 Rekursion
326
10.4 Wofür kann man die Methode verwenden?
329
10.4.1 Grenzen linearer Modelle
329
10.4.2 Ein kurzer Hinweis zu Grenzen des Modells
330
10.5 Algorithmusbeschreibung
331
10.6 Mach’s kaputt
334
10.6.1 Instabilität – kleine Änderungen, große Wirkung
335
10.6.2 Lokale Optima – denn greedy heißt nicht global optimal
335
10.6.3 Overfitting
335
10.6.4 Scheinsicherheit durch perfekte Splits auf kleinen Datenmengen
335
10.6.5 Kategoriale Explosion durch zu viele Ausprägungen
336
10.7 Beispiele
336
10.8 Grenzen des Modells
336
10.9 Weiterführende Literatur
337
11 k-Means Clustering
339
11.1 Was macht der Algorithmus eigentlich?
339
11.2 Wofür kann man die Methode verwenden?
341
11.3 Wie funktioniert die Methode?
342
11.4 Algorithmusbeschreibung
343
11.5 Beispiel: Hochzeitsparty-Planung
346
11.5.1 Hinweis: Was wir messen – und was nicht
346
11.5.2 Vom Modell zur Visualisierung
349
11.5.3 Die dritte Dimension sichtbar machen
352
11.6 Mach’s kaputt
352
11.6.1 Veränderte Skalierung
353
11.6.2 Hinzufügen eines Ausreißers
354
11.6.3 Variation der Clusteranzahl
354
11.6.4 Veränderung der Startwerte
355
11.6.5 Erhöhte Überlappung der Daten
356
11.7 Beispiel: Glasfaser im Neubaugebiet
357
11.7.1 Rahmenbedingungen
358
11.7.2 Der Algorithmus mit sklearn
358
11.8 Ethische Betrachtung
360
11.9 Metriken
360
11.10 Simulationen
361
11.11 Weiterführende Literatur
362
12 Support Vector Machines
363
12.1 Was ist eine Support Vector Machine?
364
12.1.1 Hyperebene
364
12.1.2 Margin
366
12.1.3 Support Vectors
368
12.2 Wofür kann man die Methode verwenden?
368
12.3 Wie funktioniert die Methode?
369
12.3.1 Soft Margin SVM
371
12.3.2 Die duale Form der Support Vector Machine
372
12.3.3 Nichtlineare Trennungen und der Kernel-Gedanke
375
12.3.4 Was ist ein Kernel?
378
12.3.5 Die Idee der Feature-Transformation
380
12.3.6 Der polynomielle Kernel zweiten Grades
381
12.3.7 Weitere Kernel im Überblick
383
12.4 Algorithmusbeschreibung
384
12.5 Beispiel
387
12.6 Mach’s kaputt
394
12.6.1 Ein einzelner problematischer Punkt
394
12.6.2 Der Parameter C wird extrem
394
12.6.3 Ein Merkmal hat eine viel größere Skala
395
12.6.4 Ein falscher Kernel
395
12.6.5 Ausreißer
395
12.7 Metriken
395
12.8 Ethische Betrachtung
396
12.9 Grenzen des Modells
397
12.10 Weiterführende Literatur
398
13 Neuronale Netze
401
13.1 Was ist ein neuronales Netz?
402
13.1.1 Eine Gerade als minimaler 2D-Klassifikator
402
13.1.2 Das Perceptron
404
13.1.3 Die Schwellenfunktion
404
13.1.4 Auflösung der Linearität
406
13.1.5 Zwei Neuronen – der Weg zu Schichten
407
13.2 Vom Modell zur Implementierung
409
13.2.1 Ein Neuron als ausführbares Programm
409
13.2.2 Vom Rechnen zum Lernen
412
13.2.3 Das erste Netz mit Hidden Layer
416
13.2.4 Vom konkreten Hidden Layer zum abstrakten
422
13.3 Beispiel: Two Moons
425
13.4 Deep Learning
427
13.4.1 Mehrere Hidden Layer
428
13.4.2 Softmax
432
13.4.3 Wenn das Netz falsch liegt
435
13.4.4 Distributed Representation
437
13.4.5 Mechanistic Interpretability
437
13.5 Beispiel: Ziffernerkennung
438
13.6 Mach’s kaputt
439
13.6.1 Zu wenig Trainingsdaten
439
13.6.2 Zu viele Trainingsdurchläufe
440
13.6.3 Lernrate verändern
440
13.6.4 Modell zu klein oder zu groß wählen
440
13.6.5 Daten gezielt verzerren
440
13.6.6 Eingaben unterschiedlich skalieren
440
13.6.7 Fazit
441
13.7 Ethische Betrachtung
441
13.8 Grenzen des Modells
442
13.9 Weiterführende Literatur
443
14 Reinforcement Learning
445
14.1 Was ist Reinforcement Learning?
446
14.1.1 Lernen durch Rückmeldung
446
14.2 Die formale Struktur des Entscheidungsprozesses
447
14.2.1 Das Entscheidungsproblem über Zeit
448
14.3 Die Markov-Eigenschaft
449
14.3.1 Bewertung einer Strategie im MDP
452
14.3.2 Wert eines Zustands und Wert einer Aktion
454
14.4 Das Bellman-Prinzip
455
14.4.1 Wie lernt ein Agent die Q-Werte?
456
14.5 Exploration und Exploitation
457
14.5.1 Die ε-greedy-Strategie
458
14.6 Beispiel: Swampy Fields
458
14.6.1 Swampy Fields als Markov Decision Process
459
14.6.2 Das Spielfeld: Grid, Zustände und Aktionen
460
14.6.3 Belohnungen: Auch sichere Felder »kosten« etwas
460
14.6.4 Die Q-Tabelle
461
14.6.5 Die Episode
461
14.6.6 Exploration im Trainingsverlauf und ε-Decay
462
14.6.7 Zwei Updates kompakt dargestellt
463
14.7 Mach’s kaputt
466
14.7.1 Keine Schrittstrafe
466
14.7.2 γ = 0 – keine Zukunft
467
14.7.3 ε = 0 – keine Exploration
467
14.7.4 Extreme Learning-Rate
467
14.7.5 Zusammenfassung
468
14.8 Beispiel: Tic-Tac-Toe
468
14.8.1 Zwei Personen mit zwei Perspektiven
469
14.8.2 Die Klasse »Board« als Zustandsmodell
469
14.8.3 Das Belohnungsmodell
471
14.8.4 Der Agent
472
14.8.5 Warum konvergiert das Verfahren?
475
14.9 Wofür kann man die Methode verwenden?
476
14.9.1 Steuerungs- und Regelungsprobleme
476
14.9.2 Spiele und Simulationen
477
14.9.3 Ressourcen- und Prozessoptimierung
477
14.9.4 Personalisierung und Empfehlungssysteme
477
14.9.5 Gemeinsamkeit aller Anwendungsbereiche
477
14.10 Ethische Betrachtung
477
14.11 Von der Optimierung zur Verantwortung
478
14.12 Weiterführende Literatur
479
15 KI und Ethik
481
15.1 Was bedeutet Ethik im Kontext von KI?
482
15.2 KI als Assistent – nicht als Orakel
483
15.3 Wenn KI heute anders antwortet als gestern
483
15.3.1 Wir wollen KI automatisieren – und dürfen es nicht
484
15.3.2 Automatisierung im Heisenbug-Modus
485
15.3.3 Warum KI sich nicht zuverlässig automatisieren lässt
485
15.4 Fallbeispiele aus der Praxis
486
15.4.1 Automatisierung in nichtdeterministischen Systemen
487
15.4.2 Journalismus
488
15.4.3 Personalwesen
489
15.4.4 Kreditvergabe und algorithmische Diskriminierung
490
15.4.5 Beratung in sensiblen Lebenssituationen
491
15.4.6 Mental Health
492
15.4.7 Halluzinationen im Gerichtssaal
493
15.5 Resümee: Human in the Loop
494
15.6 Literaturverzeichnis und Quellenangaben
495
16 Ausblick
499
Index
501