Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
15
1 Einleitung
17
1.1 Was bietet dieses Buch?
18
1.2 Was ist eine »künstliche Intelligenz«?
19
1.3 Geschichte der KI – ein kurzer Überblick
21
1.4 Verwendete Werkzeuge
23
1.4.1 Python
23
1.4.2 Jupyter Notebook
25
1.4.3 Orange
25
1.4.4 KNIME
26
1.4.5 ChatGPT und Gemini
27
1.4.6 DALL-E und Imagen
28
2 Installation von Anaconda
29
2.1 Windows und macOS
29
2.2 Linux
30
2.3 Konfiguration und Test
31
3 Das künstliche neuronale Netz
39
3.1 Klassifizierung
40
3.2 Das Kochrezept
42
3.2.1 Datenvorbereitung
42
3.2.2 Die KI aufbauen
44
3.2.3 Die KI trainieren
44
3.2.4 KI testen
45
3.2.5 KI einsetzen
45
3.3 Aufbau künstlicher neuronaler Netze
46
3.4 Aufbau eines künstlichen Neurons
48
3.5 Feed Forward
50
3.6 Backpropagation
52
3.7 Aktualisierung der Gewichte
55
3.8 KNN für Klassifizierung
58
3.9 Hyperparameter und Overfitting
66
3.10 Umgang mit nichtnumerischen Daten
69
3.11 Umgang mit Datenlücken
71
3.11.1 Leere Zellen mit Daten füllen
72
3.11.2 Zeilen mit leeren Zellen entfernen
72
3.12 Korrelation versus Kausalität
73
3.13 Normierung der Daten
81
3.14 Regression
84
3.15 Deployment
87
3.15.1 Trainieren, testen und speichern
87
3.15.2 KNN anwenden
90
3.16 Übungen
93
3.16.1 Übung 1: Hyperparameter-Optimierung für Klassifizierung
93
3.16.2 Übung 2: Hyperparameter-Optimierung für Regression
93
3.16.3 Übung 3: KNN für Klassifizierung
93
3.16.4 Übung 4: KNN für Regression
94
4 Entscheidungsbäume
95
4.1 Einfache Entscheidungsbäume
96
4.1.1 Decision Tree Classifier
96
4.1.2 Decision Tree Regressor
103
4.1.3 Entscheidungswälder
106
4.1.4 Random Forest Classifier
106
4.1.5 Random Forest Regressor
107
4.2 Boosting
108
4.2.1 Gradient Boosting
108
4.2.2 XGBoost Classifier
111
4.2.3 Automatische Hyperparameter-Einstellung mit GridSearchCV
116
4.3 XGBoost Regressor
118
4.4 Deployment
120
4.5 Übungen
121
4.5.1 Übung 1: XGBoost für Klassifizierung
121
4.5.2 Übung 2: XGBoost für Regression
121
4.5.3 Übung 3: Automatische Hyperparameter-Optimierung
122
5 Faltungsschichten, Bilder und mehr
123
5.1 Einfache Bildklassifizierung
125
5.2 Hyperparameter-Optimierung mit Early Stopping und KerasTuner
130
5.3 Convolutional Neural Network (CNN)
135
5.4 Bildklassifizierung mit CIFAR-10
142
5.5 Verwendung vortrainierter Netze
146
5.6 Übungen
150
5.6.1 Übung 1: Hyperparameter-Optimierung für CIFAR-10
150
5.6.2 Übung 2: Vortrainiertes Modell VGG19
150
6 Transfer Learning
151
6.1 Funktionsweise
154
6.2 Übungen
161
6.2.1 Übung 1: Stein-Schere-Papier
161
6.2.2 Übung 2: Mensch oder Pferd
161
7 Anomalieerkennung
163
7.1 Unausgewogene Daten
164
7.2 Resampling
169
7.3 Autoencoder
171
7.4 Übungen
178
7.4.1 Übung 1: Anomaliedetektion mit XGBoost und Upsampling
178
7.4.2 Übung 2: Anomaliedetektion mit Autoencoder
178
8 Textklassifizierung
179
8.1 Embedding Layer
179
8.2 GlobalAveragePooling1D Layer
183
8.3 Text Vectorization
185
8.4 Analyse der Zusammenhänge
188
8.5 Klassifizierung großer Datenmengen
193
8.6 Übungen
196
8.6.1 Übung 1: Hyperparameter-Optimierung
196
8.6.2 Übung 2: Textklassifizierung
196
8.6.3 Übung 3: Textklassifizierung mit Upsampling
196
9 Clusteranalyse
197
9.1 Grafische Analyse der Daten
198
9.2 Der Algorithmus k-Means-Clustering
203
9.3 Das fertige Programm
206
9.4 Übungen
209
9.4.1 Übung 1: Gruppierung von Diamanten
209
9.4.2 Übung 2: Gruppierung von Pilzen
210
10 Visuelle Programmierung mit Orange
211
10.1 Installation
211
10.2 Klassifizierung mit Entscheidungsbaum
213
10.3 Regression mit Entscheidungsbaum
220
10.4 Deployment
221
10.5 Klassifizierung mit KNN
223
10.6 Regression mit KNN
227
10.7 Bildklassifizierung mit XGBoost
229
10.8 Unüberwachte Klassifizierung von Bildern
230
10.9 Textklassifizierung mit XGBoost
234
10.10 Übungen
236
10.10.1 Übung 1: Klassifizierung
236
10.10.2 Übung 2: Regression
237
10.10.3 Übung 3: Bildklassifizierung
237
10.10.4 Übung 4: Textklassifizierung
237
11 Visuelle Programmierung mit KNIME
239
11.1 Installation
240
11.2 Einfache künstliche neuronale Netze
245
11.2.1 Klassifizierung
246
11.2.2 Klassifizierung mit Python Node
259
11.2.3 Regression
261
11.2.4 Regression mit Python Node
265
11.3 XGBoost
267
11.3.1 Klassifizierung
267
11.3.2 Deployment
269
11.3.3 Regression
271
11.4 Bildklassifizierung mit vortrainiertem Modell
271
11.4.1 Bildklassifizierung mit Keras Node
271
11.4.2 Bildklassifizierung mit Python Node
276
11.5 Transfer Learning
277
11.5.1 Transfer Learning mit Keras Node
278
11.5.2 Transfer Learning mit Python Node
281
11.6 Autoencoder
284
11.6.1 Autoencoder mit Keras Node
284
11.6.2 Autoencoder mit Python Node
289
11.7 Textklassifizierung
292
11.7.1 Textklassifizierung mit Keras Node
293
11.7.2 Textklassifizierung mit Python Node
295
11.8 AutoML
297
11.8.1 Installation
297
11.8.2 Klassifizierung
299
11.9 Clusteranalyse
301
11.9.1 Manuelle Clustereinstellung
302
11.9.2 Clustereinstellung mit einem Loop
303
11.10 Zeitreihenanalyse
306
11.10.1 Rekurrente neuronale Netze
307
11.10.2 Long Short-Term Memory
308
11.10.3 Vorhersage des Energieverbrauchs (nächste Stunde) mit Keras Node
310
11.10.4 Vorhersage des Energieverbrauchs (nächste Stunde) mit Python Node
316
11.10.5 Vorhersage des Energieverbrauchs (nächste 500 Stunden) mit Keras Node
317
11.10.6 Vorhersage des Energieverbrauchs (nächste 500 Stunden) mit Python Node
319
11.11 Weitere Hinweise zu KNIME
322
11.12 Übungen
322
11.12.1 Übung 1: XGBoost für Klassifizierung, Pilze
322
11.12.2 Übung 2: XGBoost für Regression, Diamanten
322
11.12.3 Übung 3: Bildklassifizierung mit InceptionV3
322
11.12.4 Übung 4: Transfer Learning, »Mensch oder Pferd«
322
11.12.5 Übung 5: Anomaliedetektion mit Autoencoder, EKG
323
11.12.6 Übung 6: Textklassifizierung
323
11.12.7 Übung 7: AutoML für Regression
323
11.12.8 Übung 8: Clusteranalyse
323
11.12.9 Übung 9: Zeitreihenanalyse
324
12 Reinforcement Learning
325
12.1 Q-Learning
327
12.2 Erforderliche Python-Kenntnisse für das Spiel
332
12.2.1 Listen
332
12.2.2 Verzweigungen
333
12.2.3 Schleifen
335
12.2.4 Random Choice
336
12.2.5 Funktionen
337
12.3 Training
337
12.4 Test
340
12.5 Ausblick
341
12.6 Übungen
342
12.6.1 Übung 1: Hyperparameter
342
12.6.2 Übung 2: Erweiterung des Spiels
342
13 Genetische Algorithmen
343
13.1 Der Algorithmus
344
13.1.1 Startgeneration
345
13.1.2 Selektion
346
13.1.3 Reproduktion
346
13.1.4 Mutation
347
13.1.5 Neue Generation
348
13.2 Beispiel einer sortierten Liste
348
13.3 Beispiel für Gleichungssysteme
351
13.4 Beispielanwendung aus der Praxis
353
13.5 Übungen
357
13.5.1 Übung 1: Hyperparameter-Optimierung
357
13.5.2 Übung 2: Gleichungssystem
357
14 ChatGPT und Gemini
359
14.1 Prompt Engineering
362
14.1.1 Inhalte generieren
362
14.1.2 Programmieren
368
14.1.3 GPTs
371
14.1.4 Analysieren und Zusammenfassen
372
14.1.5 Abschließende Fragen an den Chatbot
373
14.2 Programmierschnittstelle
375
14.2.1 API-Key und erstes Programm mit ChatGPT
376
14.2.2 API-Key und erstes Programm mit Gemini
378
14.2.3 Parameter
379
14.2.4 API-Kontext
381
14.2.5 Eingabefilter
383
14.2.6 Gedächtnis
386
14.2.7 OpenAI Playground und Google AI Studio
388
14.2.8 Speech to Text
390
14.3 Übung
392
14.3.1 Übung 1: Mathematik-Support
392
15 DALL-E und Imagen
393
15.1 Bildgenerierung
394
15.1.1 Prompt Engineering
394
15.1.2 Bearbeitung generierter Bilder
395
15.1.3 Bilderstellung mit der API
398
15.2 Übung 1: API mit Moderation
402
16 Ausblick
403
Anhang
403
A Lösungen
405
A.1 Kapitel 3
405
A.2 Kapitel 4
411
A.3 Kapitel 6
414
A.4 Kapitel 7
416
A.5 Kapitel 8
419
A.6 Kapitel 9
423
A.7 Kapitel 10
425
A.8 Kapitel 11
426
A.9 Kapitel 12
434
A.10 Kapitel 13
436
A.11 Kapitel 14
438
A.12 Kapitel 15
439
B Literaturhinweise
441
Index
443