Neuronale Netze selbst programmieren

Ähnliche Dokumente
Software entwickeln mit Verstand

Praxiswissen TYPO3 CMS 7 LTS

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN

Das Fuji X100 Handbuch

Bereits während seines Studiums der Humanmedizin übte Bertram Solcher fotojournalistische Tätigkeiten für regionale

Praxiswissen Softwaretest

Dipl.-Inform. Arno Becker Dipl.-Inform. Marcus Pant

und -implementierungstechniken, Datenbanken & Java.

Dr. Michael Diechtierow

Das LEGO -MINDSTORMS-EV3-Ideenbuch

Peter Fauland. Das FUJIFILM X100T/X100S Handbuch

ios-apps programmieren mit Swift

Sehen und Gestalten. David DuChemins etwas andere Fotoschule. von David DuChemin. 1. Auflage

ww unk w t.. e p / un plu k s t.de/plus

Psychologie der Fotografie: Kopf oder Bauch?

TCP/IP Grundlagen und Praxis

Das Alte Hallenbad Heidelberg

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth

ISBN: Buch PDF epub mobi Auflage 2016

grep kurz & gut John Bambenek and Agnieszka Klus

JavaScript kinderleicht!

Markus Gaulke

Jeff Rojas Männer fotografieren

Personal Kanban. Visualisierung und Planung von Aufgaben, Projekten und Terminen mit dem Kanban-Board. Jim Benson Tonianne DeMaria Barry

Performanceoptimierung von ABAP -Programmen

60 Tipps für kreative iphone-fotografie

Soft Skills für Softwareentwickler

Absolut analog. Monika Andrae Chris Marquardt. Monika Andrae / Chris Marquardt, Absolut analog, dpunkt.verlag, ISBN

Das "inoffizielle" LEGO-Technic-Buch

Richtig einsteigen: Excel VBA-Programmierung Für Microsoft Excel 2007 bis 2016

Die Computerwerkstatt

Gestalten mit Licht und Schatten

Über die Herausgeber

Testen in Scrum-Projekten

Das Sony Alpha 6300 Handbuch

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren


Bibliografische Information der Deutschen Nationalbibliothek:

Maik Schmidt

Michael Kurz Martin Marinschek

VMware vrealize Automation Das Praxisbuch

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse

IT-Service-Management mit ITIL 2011 Edition

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

Yoga - die Kunst, Körper, Geist und Seele zu formen

Frost- bzw. Frost-Taumittel-Widerstand von Beton

Android 4.4. Programmieren für Smartphones und Tablets - Grundlagen und fortgeschrittene Techniken. von Arno Becker, Marcus Pant

CNC-Fräsen für Maker und Modellbauer

Bibliografische Information der Deutschen Nationalbibliothek:

Übergewichtige Kinder und Jugendliche in Deutschland

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

Dr. Carola Lilienthal

Bibliografische Information der Deutschen Nationalbibliothek:

Die Big Five und ihre Auswirkungen auf das Gründungsverhalten

Picking the winners - Dienstleistungsorientierte Bestandspflegeund Ansiedlungspolitik

Prof. Dr. Matthias Knoll

Web-Apps mit jquery Mobile

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann

Gestalten mit Licht und Schatten

Informatik. Christian Kuhn. Web 2.0. Auswirkungen auf internetbasierte Geschäftsmodelle. Diplomarbeit

Über die Autoren.

Basiswissen Medizinische Software

Cloud-Computing für Unternehmen

Dr. Michael Hahne

Fotokurs Straßenfotografie

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

von Softwaresystemen unterschiedlicher Größe.

Praxisbuch BI Reporting

Basiswissen Medizinische Software

Robuste Handkonturerkennung

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

Mobile App Testing. Praxisleitfaden für Softwaretester und Entwickler mobiler Anwendungen. Daniel Knott. Aus dem Englischen übersetzt von Nils Röttger

Naturfotografie. Landschaften, Pflanzen und Tiere gekonnt fotografieren. von Reinhard Eisele. 1. Auflage

Anforderungen von Crossmedia-Kampagnen

IT-Servicemanagement mit ITIL V3

Bibliografische Information der Deutschen Nationalbibliothek:

Mobbing am Arbeitsplatz

Petra Vogt Fotoscout: Hamburg Ein Reiseführer für Fotografen.

Innovative Preismodelle für hybride Produkte

Corinna Gissemann. Food-Fotografie. Leckere Bildrezepte für Einsteiger

Das Internet als Instrument der Unternehmenskommunikation unter besonderer Berücksichtigung der Investor Relations

Software modular bauen

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

Klientenzentrierte Gesprächsführung in der Physiotherapie:

Swift für Ungeduldige

Elisabeth Hendrickson Übersetzerin: Meike Mertsch

Führungsstile im Vergleich. Kritische Betrachtung der Auswirkungen auf die Mitarbeitermotivation

»Wie mach ich das«titelei_inhalt.indd :44:28

Anja Schüler. Arbeit für alle?! Berufliche Teilhabe von Menschen mit geistiger Behinderung in Deutschland und den USA.

IT-Servicemanagement mit ITIL V3

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

IT-Controlling für die Praxis

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Konfigurationsmanagement mit Subversion, Ant und Maven

Transkript:

D3kjd3Di38lk323nnm Neuronale Netze selbst programmieren Ein verständlicher Einstieg mit Python Tariq Rashid Deutsche Übersetzung von Frank Langenau

Tariq Rashid Lektorat: Alexandra Follenius Übersetzung: Frank Langenau Korrektorat: Sibylle Feldmann Herstellung: Susanne Bröckelmann Umschlaggestaltung: Michael Oréal, www.oreal.de Satz: III-satz, www.drei-satz.de Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. ISBN: Print 978-3-96009-043-4 PDF 978-3-96010-102-4 epub 978-3-96010-103-1 mobi 978-3-96010-104-8 Dieses Buch erscheint in Kooperation mit O Reilly Media, Inc. unter dem Imprint»O REILLY«. O REILLY ist ein Markenzeichen und eine eingetragene Marke von O Reilly Media, Inc. und wird mit Einwilligung des Eigentümers verwendet. 1. Auflage 2017 Copyright 2016 by Tariq Rashid Title of the English original: Make Your Own Neural Network ISBN 978-1530826605 Translation Copyright 2017 by dpunkt.verlag GmbH. All rights reserved. Wieblinger Weg 17 69123 Heidelberg Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen. 5 4 3 2 1 0

Inhalt Einführung................................................ IX 1 Wie neuronale Netze arbeiten.................................. 1 Leicht für mich schwer für dich.............................. 1 Eine einfache Vorhersagemaschine............................. 3 Klassifizieren unterscheidet sich nicht sehr vom Vorhersagen....... 8 Einen einfachen Klassifizierer trainieren......................... 14 Manchmal ist ein Klassifizierer nicht genug...................... 24 Neuronen die Rechenmaschinen der Natur.................... 30 Signalen durch ein neuronales Netz folgen....................... 39 Matrizenmultiplikation ist nützlich ehrlich!.................... 44 Beispiel: Ein dreischichtiges Netz mit Matrizenmultiplikation....... 51 Gewichte von mehr als einem Knoten lernen..................... 59 Fehler von mehreren Ausgabeknoten zurückführen................ 61 Fehler auf mehrere Schichten zurückführen...................... 63 Backpropagierung von Fehlern mit Matrizenmultiplikation......... 67 Wie aktualisieren wir eigentlich die Gewichte?................... 70 Gewichtsaktualisierung am konkreten Beispiel................... 88 Die Daten vorbereiten....................................... 89 Eingaben............................................. 90 Ausgaben............................................. 91 Zufällige Anfangswerte.................................. 92 2 Do it yourself mit Python...................................... 95 Python................................................... 95 Interaktives Python = IPython................................ 96 Ein sehr sanfter Start mit Python.............................. 97 Notebooks............................................ 97 Einfaches Python....................................... 99 Inhalt V

Arbeiten automatisieren................................. 101 Kommentare.......................................... 104 Funktionen........................................... 104 Arrays............................................... 107 Arrays grafisch darstellen................................ 110 Objekte.............................................. 112 Neuronales Netz mit Python................................. 118 Der Gerüstcode........................................ 118 Das Netz initialisieren................................... 119 Gewichte das Herz des Netzes........................... 121 Optional: differenzierte Initialisierung der Gewichte........... 123 Das Netz abfragen...................................... 124 Der aktuelle Stand des Codes............................. 126 Das Netz trainieren..................................... 129 Der vollständige Code für das neuronale Netz................ 132 Die MNIST-Datenbank mit handgeschriebenen Ziffern............ 133 Die MNIST-Trainingsdaten vorbereiten..................... 141 Das Netz testen........................................ 148 Mit sämtlichen Datensätzen trainieren und testen............. 152 Verbesserungen: Optimieren der Lernrate................... 153 Verbesserungen: Mehrere Läufe........................... 155 Die Gestalt des Netzes ändern............................ 157 Gute Arbeit!.......................................... 159 Der endgültige Code.................................... 160 3 Just for fun: Das neuronale Netz tunen........................... 165 Ihre eigene Handschrift..................................... 165 Das Gedächtnis eines neuronalen Netzes....................... 168 Geheimnisvolle Blackbox................................ 168 Rückwärtsabfrage...................................... 169 Die Kennung»0«....................................... 170 Weitere Hirnscans...................................... 171 Neue Trainingsdaten erzeugen: Drehungen..................... 173 Epilog................................................... 177 A Eine leicht verständliche Einführung in die Analysis.................. 179 Eine Gerade.............................................. 180 Eine schräg verlaufende Gerade............................... 182 Eine gekrümmte Kurve..................................... 184 Analysis per Hand......................................... 186 Analysis nicht per Hand..................................... 188 VI Inhalt

Analysis, ohne Graphen zu zeichnen........................... 191 Muster................................................... 194 Funktionen von Funktionen.................................. 196 Sie können Analysis betreiben!................................ 199 B Das Ganze mit einem Raspberry Pi............................... 201 IPython installieren......................................... 202 Vergewissern, dass alles funktioniert........................... 209 Ein neuronales Netz trainieren und testen....................... 210 Erfolg für Raspberry Pi!..................................... 211 Index.................................................... 213 Inhalt VII