Читать книгу Machine Learning für Softwareentwickler - Paolo Perrotta - Страница 5
На сайте Литреса книга снята с продажи.
Inhalt
ОглавлениеDanksagung
Wie um alles in der Welt ist so etwas möglich?
Über dieses Buch
Bevor wir beginnen
Teil 1Von null auf Bilderkennung
1 Einführung in Machine Learning
Programmierung und Machine Learning im Vergleich
Überwachtes Lernen
Die Mathematik hinter dem Zaubertrick
Das System einrichten
2 Ihr erstes ML-Programm
Die Aufgabenstellung
Pizzavorhersage mit überwachtem Lernen
Zusammenhänge in den Daten erkennen
Eine lineare Regression programmieren
Das Modell definieren
Eine Vorhersage treffen
Das Training implementieren
Los geht’s!
Bias hinzufügen
Zusammenfassung
Praktische Übung: Die Lernrate optimieren
3 Am Gradienten entlang
Unser Algorithmus bringt es nicht
Das Gradientenverfahren
Ein wenig Mathematik
Abwärts
Die dritte Dimension
Partielle Ableitung
Die Probe aufs Exempel
Probleme beim Gradientenverfahren
Zusammenfassung
Praktische Übung: Über das Ziel hinaus
4 Hyperräume
Noch mehr Dimensionen
Matrizenrechnung
Matrizen multiplizieren
Matrizen transponieren
Das ML-Programm erweitern
Die Daten aufbereiten
Die Vorhersagefunktion anpassen
Die Verlustfunktion anpassen
Die Gradientenfunktion anpassen
Der Code im Ganzen
Bye-bye, Bias!
Ein letzter Testlauf
Zusammenfassung
Praktische Übung: Statistik in der Praxis
5 Ein binärer Klassifizierer
Grenzen der linearen Regression
Invasion der Sigmoiden
Konfidenz
Glätten
Den Gradienten anpassen
Was ist mit der Modellfunktion geschehen?
Klassifizierung in Aktion
Zusammenfassung
Praktische Übung: Gewichtige Entscheidungen
6 Eine Aufgabe aus der Praxis
Die Daten
MNIST
Trainings- und Testdatensatz
Unsere eigene MNIST-Bibliothek
Die Eingabematrizen vorbereiten
Die Daten aufbereiten
Anwendung in der Praxis
Zusammenfassung
Praktische Übung: Knifflige Ziffern
7 Die große Herausforderung
Von zwei zu mehr Klassen
1-aus-n-Codierung
1-aus-n-Codierung in Aktion
Die Antworten des Klassifizierers decodieren
Mehr Gewichte
Die Matrixdimensionen überprüfen
Der Augenblick der Wahrheit
Zusammenfassung
Praktische Übung: Minensucher
8 Das Perzeptron
Gestatten, das Perzeptron!
Perzeptrone kombinieren
Die Grenzen von Perzeptronen
Linear separierbare Daten
Nicht linear separierbare Daten
Die Geschichte des Perzeptrons
Der entscheidende Schlag
Nachwehen
Teil 2Neuronale Netze
9 Das Netz entwerfen
Ein neuronales Netz aus Perzeptronen zusammenstellen
Perzeptrone verketten
Wie viele Knoten?
Die Softmax-Funktion
Der Entwurf
Zusammenfassung
Praktische Übung: Auf eigene Faust
10 Das Netz erstellen
Die Forward-Propagation programmieren
Die Softmax-Funktion schreiben
Die Klassifizierungsfunktionen schreiben
Kreuzentropie
Zusammenfassung
Praktische Übung: Test durch Zeitreise
11 Das Netz trainieren
Wozu Backpropagation?
Von der Kettenregel zur Backpropagation
Die Kettenregel in einem einfachen Netz
Es wird komplizierter
Backpropagation anwenden
Auf Kurs bleiben
Den Gradienten von w2 berechnen
Den Gradienten von w1 berechnen
Die Funktion back() erstellen
Die Gewichte initialisieren
Gefährliche Symmetrie
Tote Neuronen
Korrekte Gewichtsinitialisierung
Das fertige neuronale Netz
Zusammenfassung
Praktische Übung: Fehlstart
12 Funktionsweise von Klassifizierern
Eine Entscheidungsgrenze einzeichnen
Heimspiel für das Perzeptron
Klassifizierung verstehen
Eine Gerade reicht nicht aus
Die Entscheidungsgrenze krümmen
Zusammenfassung
Praktische Übung: Albtraumdaten
13 Das Mini-Batch-Verfahren
Der Lernvorgang grafisch dargestellt
Batch für Batch
Batches erstellen
Training mit Batches
Was geschieht bei verschiedenen Batchgrößen?
Ein Zickzackpfad
Große und kleine Batches
Vor- und Nachteile von Batches
Zusammenfassung
Praktische Übung: Das kleinste Batch
14 Die Kunst des Testens
Die Gefahr der Überanpassung
Das Problem mit dem Testdatensatz
Zusammenfassung
Praktische Übung: Überlegungen zum Testen
15 Entwicklung
Daten aufbereiten
Den Wertebereich der Eingabevariablen prüfen
Eingabevariablen standardisieren
Standardisierung in der Praxis
Die Hyperparameter anpassen
Die Anzahl der Epochen festlegen
Die Anzahl der verdeckten Knoten einstellen
Die Lernrate einstellen
Die Batchgröße festlegen
Der Abschlusstest
Auf dem Weg zu 99 %
Praktische Übung: 99 % erreichen
Zusammenfassung und Vorschau
Teil 3Deep Learning
16 Tiefere Netze
Der Echidna-Datensatz
Neuronale Netze mit Keras erstellen
Den Aufbau des Netzes planen und der erste Code
Die Daten laden
Das Modell erstellen
Das Modell kompilieren
Das Netz trainieren
Die Entscheidungsgrenze einzeichnen
Das Netz ausführen
Ein tieferes Netz
Zusammenfassung
Praktische Übung: Keras-Spielwiese
17 Überanpassung vermeiden
Was ist Überanpassung?
Ursachen der Überanpassung
Unteranpassung
Das Modell regularisieren
Eine Untersuchung unseres tiefen Netzes
L1- und L2-Regularisierung
Weitere Möglichkeiten zur Regularisierung
Zusammenfassung
Praktische Übung: Weitere Regularisierungstechniken
18 Tiefe Netze zähmen
Aktivierungsfunktionen
Wozu Aktivierungsfunktionen gut sind
Die sigmoide Aktivierungsfunktion und ihre Auswirkungen
Verschwindender Gradient
Alternativen zur Sigmoidfunktion
Gestatten, die ReLU-Aktivierungsfunktion
Die richtige Funktion auswählen
Weitere Techniken
Bessere Gewichtsinitialisierung
Gradientenabstieg auf Speed
Regularisierung für Fortgeschrittene
Batchnormalisierung
Zusammenfassung
Praktische Übung: Die 10-Epochen-Aufgabe
19 Jenseits von Standardnetzen
Der CIFAR-10-Datensatz
Was ist CIFAR-10?
Das CIFAR-Waterloo
Die Bausteine von Faltungsnetzen
Ein Bild ist ein Bild
Faltung
Konvolutionsschichten
Ein Faltungsnetz ausführen
Zusammenfassung
Praktische Übung: Massenweise Hyperparameter
20 Der Weg in die Tiefe
Der Aufstieg des Deep Learning
Es braut sich etwas zusammen
Der Wendepunkt
Fortsetzung folgt
Unverhältnismäßige Effektivität
Was nun?
Maschinelles Sehen
Sprache
Bildgenerierung
Das Gesamtbild
Praktischer Einstieg
Sie sind am Zug
Anhang
A Grundlagen von Python
Wie sieht Python-Code aus?
Dynamische Typisierung
Einrückungen
Die Bausteine von Python
Datentypen und Operatoren
Datenstrukturen
Strings
Schleifen
Funktionen definieren und aufrufen
Schlüsselwortargumente
Standardargumente
Module und Pakete
Module definieren und importieren
Das __main__-Idiom
Pakete verwalten
Objekte erstellen und verwenden
Das war’s
B Wörterbuch des Machine Learning
Stichwortverzeichnis