Weigend | Künstliche Intelligenz kapieren & programmieren | E-Book | sack.de
E-Book

E-Book, Deutsch, 272 Seiten

Reihe: mitp Professional

Weigend Künstliche Intelligenz kapieren & programmieren

Visuell lernen & verstehen mit Illustrationen und Projekten zum Experimentieren
1. Auflage 2023
ISBN: 978-3-7475-0653-0
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 1 - PDF Watermark

Visuell lernen & verstehen mit Illustrationen und Projekten zum Experimentieren

E-Book, Deutsch, 272 Seiten

Reihe: mitp Professional

ISBN: 978-3-7475-0653-0
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 1 - PDF Watermark



Neuronale Netze selbst programmieren ohne VorkenntnisseSpannende Projekte von Chatbots bis hin zu BilderkennungAlle Grundlagen anhand von Bildern und Beispielen leicht verständlich erklärtDu möchtest wissen, was hinter künstlicher Intelligenz und neuronalen Netzen steckt und deine eigenen selbstlernenden Programme schreiben?In diesem Buch erfährst du mit anschaulichen Erklärungen und vielen Bildern, wie KI funktioniert und wie du neuronale Netze ganz einfach selbst programmieren kannst. Dafür brauchst du keine Vorkenntnisse. Alle notwendigen mathematischen Konzepte werden von Grund auf und sehr anschaulich erklärt. Ganz nebenbei erhältst du eine Einführung in die Programmiersprache Python.In jedem Kapitel erwarten dich spannende Projekte von ersten kleinen Programmen wie einem selbstlernenden Währungsrechner bis hin zu praxistauglicher Bilderkennung.Denkaufgaben und Programmierübungen mit Lösungen zum Download helfen dir, dein Wissen zu testen und zu vertiefen. So lernst du Schritt für Schritt, wie du mit einfachen Programmiertechniken deine eigenen künstlichen neuronalen Netze entwickelst und trainierst.Aus dem InhaltEntscheidungsbäumeÜberwachtes und nicht überwachtes LernenClusteringPerzeptronVorhersagen treffenDatenvisualisierung mit matplotlibNeuronale Netze programmieren und trainierenAktivierungsfunktionenVerborgene SchichtenBerechnungen mit NumPyBilderkennungPython Imaging Library (PIL)Computer VisionMathematisches Glossar
Weigend Künstliche Intelligenz kapieren & programmieren jetzt bestellen!

Zielgruppe


Alle, die sich für künstliche Intelligenz in der Praxis interessieren


Autoren/Hrsg.


Weitere Infos & Material


1;Cover;1
2;Inhaltsverzeichnis;5
3;Einleitung;9
4;Kapitel 1: Denkende Maschinen;11
4.1;1.1 Was ist künstliche Intelligenz?;11
4.2;1.2 Chatbots;12
4.3;1.3 Vorbereitung: Python installieren;13
4.4;1.4 Projekt: Mini-Eliza;15
4.4.1;1.4.1 Schritt 1: Auf eine Eingabe reagieren;15
4.4.2;1.4.2 Schritt 2: Mehr Intelligenz durch verschachtelte if-else-Anweisungen;20
4.4.3;1.4.3 Schritt 3: Mit elif die technische Qualität verbessern;21
4.4.4;1.4.4 Schritt 4: Von der einfachen Reaktion zum Gespräch;22
4.4.5;1.4.5 Schritt 5: Jetzt kommt der Zufall ins Spiel;24
4.4.6;1.4.6 Fazit;27
4.5;1.5 Lernende Programme (Entscheidungsbäume);28
4.6;1.6 Trainingscamp: Programmieren mit Listen;29
4.6.1;1.6.1 Station 1: Indizes;29
4.6.2;1.6.2 Station 2: Listen verarbeiten;30
4.6.3;1.6.3 Station 3: Mit einer Liste von Tupeln modellieren;31
4.7;1.7 Projekt: An wen denkst du?;33
4.7.1;1.7.1 Schritt 1: Vorbereitung;35
4.7.2;1.7.2 Schritt 2: Interaktion;36
4.7.3;1.7.3 Schritt 3: Schluss;40
4.7.4;1.7.4 Fazit;40
4.8;1.8 Subsymbolische KI – Machine Learning;41
4.8.1;1.8.1 Die Grenzen symbolischer Intelligenz: Beispiel Verkehrsschilder;42
4.8.2;1.8.2 Drei Arten des Machine Learnings;43
4.8.3;1.8.3 Wie werden Verkehrszeichen erkannt?;45
4.9;1.9 Projekt: k-Means-Clustering;47
4.9.1;1.9.1 Schritt 1: Vorbereitung;48
4.9.2;1.9.2 Schritt 2: Clustern;49
4.9.3;1.9.3 Fazit;51
4.10;1.10 Rückblick;52
5;Kapitel 2: Einfache Vorhersagen – lineare Regression;53
5.1;2.1 Lernen durch Erfahrung: Wie lernt man Murmeln?;53
5.2;2.2 Projekt: Ein klassischer Währungsrechner;55
5.3;2.3 Was ist eine lineare Beziehung?;56
5.4;2.4 Lernen durch Beobachten;57
5.5;2.5 Projekt: Ein Währungsrechner, der lernen kann;62
5.6;2.6 Trainingscamp: Daten visualisieren;65
5.6.1;2.6.1 Station 1: Ein Diagramm erstellen;65
5.6.2;2.6.2 Station 2: Linienformate und Achsenbeschriftung;67
5.6.3;2.6.3 Station 3: Die range()-Funktion verwenden;68
5.6.4;2.6.4 Station 4: List Comprehensions;71
5.6.5;2.6.5 Station 5: Mehrere Kurven in einem Koordinatensystem;73
5.7;2.7 Daten professionell auswerten: Lineare Regression;74
5.8;2.8 Rückblick;78
6;Kapitel 3: Daten klassifizieren: Wie lernt ein Computer, Objekte zu erkennen?;79
6.1;3.1 Bilddaten auswerten: Von Menschen und Hunden;79
6.2;3.2 Etikettierte Daten (Labeled Data);83
6.3;3.3 Mit etikettierten Daten lernen;83
6.3.1;3.3.1 Lernschritt 1;88
6.3.2;3.3.2 Lernschritt 2;88
6.3.3;3.3.3 Lernschritt 3;89
6.4;3.4 Moderation: Gemäßigte Änderungen;91
6.5;3.5 Projekt: Ein lernfähiges Vorhersageprogramm;93
6.5.1;3.5.1 Schritt 1: Vorbereitung;94
6.5.2;3.5.2 Schritt 2: Training;94
6.5.3;3.5.3 Schritt 3: Vorhersagen;95
6.6;3.6 Hintergrund: Linear separierbare Daten;98
6.7;3.7 Noch etwas Programmiertechnik: Daten laden und speichern;100
6.7.1;3.7.1 Eine Textdatei lesen und ausgeben;101
6.7.2;3.7.2 Einen String aufspalten;103
6.8;3.8 Rückblick;106
7;Kapitel 4: Neuronale Netze;107
7.1;4.1 Neuronale Netze in der Natur;107
7.2;4.2 Feuern! Das Alles-oder-nichts-Prinzip;109
7.3;4.3 Künstliche Gehirne;110
7.4;4.4 Ein Gehirn ist kein Computer;111
7.5;4.5 Projekt: Reaktionstest – Ein Blick ins eigene Nervensystem;112
7.6;4.6 Künstliche neuronale Netze;113
7.7;4.7 Die Anfänge: Das Perzeptron von Frank Rosenblatt;115
7.8;4.8 Logische Operationen;116
7.9;4.9 Ein Perzeptron für logische Operationen;118
7.10;4.10 Training;119
7.11;4.11 Projekt: Ein Rosenblatt-Perzeptron;121
7.11.1;4.11.1 Programmteil 1: Vorbereitung;123
7.11.2;4.11.2 Programmteil 2: Definition der Funktion vorhersehen();123
7.11.3;4.11.3 Programmteil 3: Definition der Funktion trainieren();124
7.11.4;4.11.4 Programmteil 4: Das Hauptprogramm;125
7.12;4.12 Die Grenzen des einlagigen Perzeptrons: Das XOR-Problem;127
7.13;4.13 Rückblick;129
8;Kapitel 5: Moderne künstliche neuronale Netze;131
8.1;5.1 Eine bessere Aktivierungsfunktion: Die Sigmoid- Funktion;132
8.2;5.2 Projekt: Eine Wertetabelle für die Sigmoid-Funktion;133
8.3;5.3 Die Ableitung der Sigmoid-Funktion;134
8.4;5.4 Projekt: Die Sigmoid-Funktion als Aktivierungsfunktion für das ODER-Perzeptron;138
8.5;5.5 Verborgene Knoten und die Grundideen der Error Backpropagation;141
8.5.1;5.5.1 Vom Wandern in den Bergen: Das Gradientenverfahren;145
8.5.2;5.5.2 Partielle Ableitung;147
8.5.3;5.5.3 Anwendung des Gradientenverfahrens und Error Backpropagation;148
8.5.4;5.5.4 Die Änderung eines Gewichts bei einem Trainingsschritt;150
8.5.5;5.5.5 Aktualisierung der übrigen Gewichte;157
8.6;5.6 Projekt: Ein neuronales Netz, das das XOR-Problem löst;162
8.6.1;5.6.1 Programmteil 1: Vorbereitung;162
8.6.2;5.6.2 Programmteil 2: Die Funktion vorhersagen();163
8.6.3;5.6.3 Programmteil 3: Definition der Funktion trainieren();164
8.6.4;5.6.4 Programmteil 4: Zufällige Trainingsdaten erzeugen;166
8.6.5;5.6.5 Programmteil 5: Training;166
8.6.6;5.6.6 Programmteil 6: Testen;167
8.7;5.7 Projekt: Gurke oder Apfel?;168
8.7.1;5.7.1 Programm 1: Trainingsdaten erzeugen;171
8.7.2;5.7.2 Programm 2: Das neuronale Netz;172
8.8;5.8 Rückblick;179
9;Kapitel 6: Bilder auswerten und Ziffern erkennen;181
9.1;6.1 Was sind Vektoren und Matrizen?;181
9.2;6.2 Trainingscamp: NumPy;182
9.2.1;6.2.1 Vorbereitung;183
9.2.2;6.2.2 Station 1: Arrays erzeugen;183
9.2.3;6.2.3 Station 2: Operationen mit Arrays und Skalaren;186
9.2.4;6.2.4 Station 3: Operationen mit zwei Arrays;187
9.2.5;6.2.5 Station 4: Die Form eines Arrays verändern;189
9.2.6;6.2.6 Station 5: Matrizenmultiplikation mit dot();191
9.2.7;6.2.7 Station 6: Zufallsarrays;194
9.2.8;6.2.8 Station 7: Elemente eines Arrays verarbeiten;196
9.2.9;6.2.9 Station 8: Auf Elemente eines Arrays zugreifen;196
9.3;6.3 Mit Arrays die Programmierung vereinfachen;198
9.3.1;6.3.1 Programmteil 1: Vorbereitung;199
9.3.2;6.3.2 Programmteil 2: Die Funktion vorhersagen(i);200
9.3.3;6.3.3 Programmteil 3: Definition der Funktion trainieren();202
9.3.4;6.3.4 Programmteil 4: Training;204
9.4;6.4 Projekt: Ziffern erkennen;205
9.4.1;6.4.1 Trainings- und Testdaten;205
9.4.2;6.4.2 Eine Ziffer auf dem Bildschirm darstellen;208
9.4.3;6.4.3 Aufbau des neuronalen Netzes;210
9.4.4;6.4.4 Programmierung des neuronalen Netzes;211
9.5;6.5 Rückblick;218
10;Kapitel 7: Eigene Projekte zur Bilderkennung;219
10.1;7.1 Fotolabor: Bilder verarbeiten mit der Python Imaging Library (PIL);219
10.1.1;7.1.1 Vorbereitung;219
10.1.2;7.1.2 Experiment 1: Ein Bild laden und auf dem Bildschirm darstellen;221
10.1.3;7.1.3 Experiment 2: Attribute eines Image-Objekts ausgeben;221
10.1.4;7.1.4 Experiment 3: Die Größe eines Bilds ändern;222
10.1.5;7.1.5 Experiment 4: Ein Bild in eine Liste überführen;223
10.1.6;7.1.6 Experiment 5: Aus einem Farbbild ein Graustufenbild gewinnen;224
10.2;7.2 Projekt: Ziffern auf eigenen Bildern erkennen;228
10.2.1;7.2.1 Vorbereitung;228
10.2.2;7.2.2 Gewichte speichern;229
10.2.3;7.2.3 Das vortrainierte neuronale Netz nutzen;230
10.3;7.3 Projekt: Mit der Kamera Gesten erkennen;233
10.3.1;7.3.1 Vorbereitung;233
10.3.2;7.3.2 Die Kamera ausprobieren;234
10.3.3;7.3.3 Die Programmierung;236
10.4;7.4 Rückblick;242
11;Kapitel 8: Fortgeschrittene Projekte mit künstlicher Intelligenz;243
11.1;8.1 Computer Vision;243
11.2;8.2 Neuronale Netze mit PyTorch;246
11.3;8.3 KI mit Google Colaboratory;248
12;Mathematisches Wörterbuch für KI;251
12.1;Ableitung;251
12.2;Ableitung einer konstanten Funktion;251
12.3;Ableitung einer quadratischen Funktion;252
12.4;Aktivierungsfunktion;252
12.5;Baum;252
12.6;Benchmark;253
12.7;Del-Symbol ?;253
12.8;Delta ?;253
12.9;Differenzialquotient;253
12.10;Fehlerfunktion;253
12.11;Funktion (Mathematik);254
12.12;Funktion (Programmierung);254
12.13;Gleichgerichtete Lineareinheit – ReLU;255
12.14;Gleichverteilung;256
12.15;Gradient;256
12.16;Graph (Graphentheorie);256
12.17;Graph einer Funktion;257
12.18;Kettenregel;257
12.19;Knoten eines künstlichen neuronalen Netzes;258
12.20;Künstliches neuronales Netz;259
12.21;Matrix;259
12.22;Lineare Funktion;260
12.23;Lineare Separierbarkeit;260
12.24;Neuron;261
12.25;Neuronales Netz;261
12.26;Partielle Ableitung;261
12.27;Sigmoid-Funktion;261
12.28;Spaltenvektor;261
12.29;Steigung;262
12.30;Summenregel;263
12.31;tanh-Funktion;264
12.32;Target;264
12.33;Transponierte Matrix;265
12.34;XOR-Problem;265
12.35;Zeilenvektor;265
13;Stichwortverzeichnis;267


Michael Weigend war mehr als 30 Jahre lang als Lehrer tätig und hält an der Universität Münster Vorlesungen zur Python-Programmierung. In seinen Büchern legt er besonderen Wert auf leicht verständliche Erklärungen und visuelle Lehrmethoden.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.