Machine Learning fĂŒr Softwareentwickler
eBook - ePub

Machine Learning fĂŒr Softwareentwickler

Von der Python-Codezeile zur Deep-Learning-Anwendung

Paolo Perrotta, Volkmar Gronau

  1. 396 pages
  2. German
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Machine Learning fĂŒr Softwareentwickler

Von der Python-Codezeile zur Deep-Learning-Anwendung

Paolo Perrotta, Volkmar Gronau

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

  • Eine EinfĂŒhrung in das maschinelle Lernen fĂŒr Entwickler
  • Alle wesentlichen Ideen, Werkzeuge und Konzepte des supervised Learning, von neuronalen Netzen und des Deep Learning werden prĂ€sentiert
  • Der gesamte Programmcode ist in Python geschrieben

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Machine Learning fĂŒr Softwareentwickler est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Machine Learning fĂŒr Softwareentwickler par Paolo Perrotta, Volkmar Gronau en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Computer Science et Neural Networks. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Éditeur
dpunkt.verlag
Année
2020
ISBN
9783969100264
Teil 1
Von null auf Bilderkennung
Dieser Teil gibt eine EinfĂŒhrung in ĂŒberwachtes Lernen. Innerhalb von nur zwei Kapiteln werden wir ein erstes Machine-Learning-System programmieren, das wir anschließend Schritt fĂŒr Schritt weiterentwickeln, bis es leistungsfĂ€hig genug ist, um handgeschriebene Ziffern zu erkennen.
Ja, Sie haben richtig gelesen: Auf den nĂ€chsten etwa 100 Seiten werden wir ein Programm zur Bilderkennung schreiben. Was noch besser ist: Wir werden dazu keine Machine-Learning-Bibliothek verwenden. Abgesehen von einigen Allzweckfunktionen fĂŒr arithmetische Berechnungen und grafische Darstellung schreiben wir den ganzen Code selbst.
Es ist sehr unwahrscheinlich, dass Sie in Ihrer zukĂŒnftigen Karriere jemals Machine-Learning-Algorithmen von Grund auf selbst schreiben mĂŒssen. Aber es einmal zu tun, um die Grundlagen richtig zu verstehen, ist von unschĂ€tzbarem Wert. Sie werden genau wissen, was jede einzelne Zeile des fertigen Programms tut. Danach wird Machine Learning fĂŒr Sie nie wieder wie schwarze Magie wirken.
1
EinfĂŒhrung in Machine Learning
Softwareentwickler erzĂ€hlen sich gern Veteranengeschichten. Sobald ein paar von uns in einer Kneipe zusammensitzen, fragt einer: »An was fĂŒr Projekten arbeitet ihr gerade?« Dann nicken wir heftig und hören uns die amĂŒsanten und teilweise furchtbaren Geschichten der anderen an.
Bei einem dieser abendlichen GeplĂ€nkel Mitte der 90er erzĂ€hlte mir eine Freundin von dem unmöglichen Auftrag, an dem sie gerade arbeitete. Ihre Vorgesetzten wĂŒnschten sich von ihr ein Programm, das Röntgenaufnahmen analysieren und dadurch Krankheiten erkennen konnte, etwa eine LungenentzĂŒndung.
Meine Freundin warnte die GeschÀftsleitung vor, dass das ein hoffnungsloses Unterfangen sei, aber man wollte ihr nicht glauben. Wenn ein Radiologe das leisten konnte, so argumentierten die Manager, warum dann nicht auch ein Visual-Basic-Programm? Sie stellten ihr sogar einen Radiologen zur Seite, damit sie lernte, wie er vorging, und dies in Code umsetzen konnte. Diese Erfahrung bestÀrkte sie jedoch nur in ihrer Meinung, dass Radiologie menschliches Urteilsvermögen und menschliche Intelligenz erforderte.
Wir lachten ĂŒber die Sinnlosigkeit dieser Aufgabe. Ein paar Monate spĂ€ter wurde das Projekt aufgegeben.
Doch kehren wir nun in die Gegenwart zurĂŒck. 2017 veröffentlichte ein Forschungsteam der Stanford University einen Algorithmus, um LungenentzĂŒndung anhand von Röntgenbildern zu erkennen.1 Er erfĂŒllte nicht nur seine Aufgabe, sondern war sogar zuverlĂ€ssiger als ein professioneller Radiologe. Das hatte als unmöglich gegolten. Wie hatten die Forscher es geschafft, diesen Code zu schreiben?
Die Antwort lautet: gar nicht. Anstatt Code zu schreiben, setzten sie Machine Learning ein. Sehen wir uns an, was das bedeutet.
Programmierung und Machine Learning im Vergleich
Das folgende Beispiel zeigt den Unterschied zwischen Machine Learning (oder kurz ML) und gewöhnlicher Programmierung. Stellen Sie sich vor, Sie sollen ein Programm erstellen, das Videospiele spielt. Bei der traditionellen Programmierung wĂŒrden Sie dazu Code wie den folgenden schreiben:
enemy = get_nearest_enemy()
if enemy.distance() < 100:
decelerate()
if enemy.is_shooting():
raise_shield()
else:
if health() > 0.25:
shoot()
else:
rotate_away_from(enemy)
else:
# ... und noch viel mehr Code
Und so weiter. Der Großteil des Codes wĂŒrde aus einer Riesenmenge von if... else-Anweisungen vermischt mit Befehlen wie shoot() bestehen.
Moderne Sprachen bieten uns zwar Möglichkeiten, diese hĂ€sslichen, verschachtelten if-Anweisungen durch angenehmere Konstruktionen wie Polymorphismus, Mustererkennung oder ereignisgestĂŒtzte Aufrufe zu ersetzen, aber das Grundprinzip der Programmierung bleibt unverĂ€ndert: Sie sagen dem Computer, wonach er Ausschau halten und was er tun soll. Dabei mĂŒssen Sie jede mögliche Bedingung auffĂŒhren und jede mögliche Aktion definieren.
Mit dieser Vorgehensweise sind wir weit gekommen, aber sie hat auch einige Nachteile. Erstens dĂŒrfen Sie nichts auslassen. Wahrscheinlich können Sie sich Dutzende oder gar Hunderte von besonderen Situationen vorstellen, die Sie in dem Videospielprogramm berĂŒcksichtigen mĂŒssen. Was geschieht, wenn sich ein Gegner nĂ€hert, sich aber ein Power-up zwischen Ihnen und ihm befindet, das Sie vor seinen SchĂŒssen schĂŒtzen kann? Ein menschlicher Spieler wird eine solche Situation schnell erkennen und zu seinem Vorteil nutzen. Kann ein Programm das auch? Das hĂ€ngt ganz von dem Programm ab. Wenn Sie diesen Sonderfall beim Schreiben des Codes berĂŒcksichtigt haben, dann kann das Programm damit umgehen. Allerdings wissen wir, wie schwer es ist, selbst in so eng umrissenen Aufgabenfeldern wie der Buchhaltung jegliche SonderfĂ€lle abzudecken. Wenn Sie sĂ€mtliche SonderfĂ€lle auf so komplexen Gebieten wie dem Spielen von Videospielen, dem Fahren eines Lkw oder dem Erkennen eines Bilds auflisten wollen, kann ich Ihnen dazu nur viel GlĂŒck wĂŒnschen.
Es reicht aber nicht nur, all diese FĂ€lle aufzulisten; Sie mĂŒssen auch wissen, wie Sie dabei jeweils eine Entscheidung fĂ€llen. Das ist die zweite große EinschrĂ€nkung bei der Programmierung, die in manchen Fachgebieten schon das Aus bedeutet. Betrachten Sie zum Beispiel eine Aufgabe aus dem Bereich des maschinellen Sehens wie das bereits erwĂ€hnte Erkennen einer LungenentzĂŒndung anhand einer Röntgenaufnahme.
Wir wissen nicht genau, wie ein Radiologe eine LungenentzĂŒndung erkennt. Wir haben zwar eine grobe Vorstellung davon, dass er nach undurchsichtigen Bereichen sucht, aber wir wis...

Table des matiĂšres

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Widmung
  6. Danksagung
  7. Wie um alles in der Welt ist so etwas möglich?
  8. Teil 1 Von null auf Bilderkennung
  9. Teil 2 Neuronale Netze
  10. Teil 3 Deep Learning
  11. Anhang
  12. Fußnoten
Normes de citation pour Machine Learning fĂŒr Softwareentwickler

APA 6 Citation

Perrotta, P. (2020). Machine Learning fĂŒr Softwareentwickler ([edition unavailable]). dpunkt. Retrieved from https://www.perlego.com/book/2235196/machine-learning-fr-softwareentwickler-von-der-pythoncodezeile-zur-deeplearninganwendung-pdf (Original work published 2020)

Chicago Citation

Perrotta, Paolo. (2020) 2020. Machine Learning FĂŒr Softwareentwickler. [Edition unavailable]. dpunkt. https://www.perlego.com/book/2235196/machine-learning-fr-softwareentwickler-von-der-pythoncodezeile-zur-deeplearninganwendung-pdf.

Harvard Citation

Perrotta, P. (2020) Machine Learning fĂŒr Softwareentwickler. [edition unavailable]. dpunkt. Available at: https://www.perlego.com/book/2235196/machine-learning-fr-softwareentwickler-von-der-pythoncodezeile-zur-deeplearninganwendung-pdf (Accessed: 15 October 2022).

MLA 7 Citation

Perrotta, Paolo. Machine Learning FĂŒr Softwareentwickler. [edition unavailable]. dpunkt, 2020. Web. 15 Oct. 2022.