Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn
eBook - ePub

Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn

Das umfassende Praxis-Handbuch für Data Science, Deep Learning und Predictive Analytics

  1. 768 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn

Das umfassende Praxis-Handbuch für Data Science, Deep Learning und Predictive Analytics

Über dieses Buch

  • Datenanalyse mit ausgereiften statistischen Modellen des Machine Learnings
  • Anwendung der wichtigsten Algorithmen und Python-Bibliotheken wie NumPy, SciPy, Scikit-learn, Keras, TensorFlow 2, Pandas und Matplotlib
  • Best Practices zur Optimierung Ihrer Machine-Learning-Algorithmen

Mit diesem Buch erhalten Sie eine umfassende Einführung in die Grundlagen und den effektiven Einsatz von Machine-Learning- und Deep-Learning-Algorithmen und wenden diese anhand zahlreicher Beispiele praktisch an. Dafür setzen Sie ein breites Spektrum leistungsfähiger Python-Bibliotheken ein, insbesondere Keras, TensorFlow 2 und Scikit-learn. Auch die für die praktische Anwendung unverzichtbaren mathematischen Konzepte werden verständlich und anhand zahlreicher Diagramme anschaulich erläutert.

Die dritte Auflage dieses Buchs wurde für TensorFlow 2 komplett aktualisiert und berücksichtigt die jüngsten Entwicklungen und Technologien, die für Machine Learning, Neuronale Netze und Deep Learning wichtig sind. Dazu zählen insbesondere die neuen Features der Keras-API, das Synthetisieren neuer Daten mit Generative Adversarial Networks (GANs) sowie die Entscheidungsfindung per Reinforcement Learning.

Ein sicherer Umgang mit Python wird vorausgesetzt.

Aus dem Inhalt:

  • Trainieren von Lernalgorithmen und Implementierung in Python
  • Gängige Klassifikationsalgorithmen wie Support Vector Machines (SVM), Entscheidungsbäume und Random Forest
  • Natural Language Processing zur Klassifizierung von Filmbewertungen
  • Clusteranalyse zum Auffinden verborgener Muster und Strukturen in Ihren Daten
  • Deep-Learning-Verfahren für die Bilderkennung
  • Datenkomprimierung durch Dimensionsreduktion
  • Training Neuronaler Netze und GANs mit TensorFlow 2
  • Kombination verschiedener Modelle für das Ensemble Learning
  • Einbettung von Machine-Learning-Modellen in Webanwendungen
  • Stimmungsanalyse in Social Networks
  • Modellierung sequenzieller Daten durch rekurrente Neuronale Netze
  • Reinforcement Learning und Implementierung von Q-Learning-Algorithmen

Information

Verlag
MITP
Jahr
2021
ISBN drucken
9783747502136
eBook-ISBN:
9783747502150

Kapitel 1:
Wie Computer aus Daten lernen können

Unserer Ansicht nach ist das Machine Learning (maschinelles Lernen), die Anwendung und Wissenschaft von Algorithmen, die den Sinn von Daten erkennen können, das spannendste Forschungsfeld der Informatik! Wir leben in einem Zeitalter, in dem Daten im Überfluss vorhanden sind – und mit den selbstlernenden Algorithmen des Machine Learnings können wir diese Daten in Wissen verwandeln. Dank der vielen in den letzten Jahren entwickelten Open-Source-Bibliotheken ist jetzt der richtige Zeitpunkt gekommen, um sich eingehend mit dem Thema Machine Learning zu befassen und zu erfahren, wie leistungsfähige Algorithmen dafür eingesetzt werden können, Muster in den Daten zu erkennen und Vorhersagen über zukünftige Ereignisse zu treffen.
In diesem Kapitel werden wir die grundlegenden Konzepte und verschiedene Arten des Machine Learnings erörtern. Mit einer Einführung in die relevante Terminologie schaffen wir die Grundlage dafür, Verfahren des Machine Learnings erfolgreich zum Lösen von Aufgaben in der Praxis einzusetzen.
Dieses Kapitel hat folgende Themen zum Inhalt:
  • Allgemeine Konzepte des Machine Learnings
  • Die drei Arten des Machine Learnings und grundlegende Begriffe
  • Die Bausteine des erfolgreichen Designs von Lernsystemen
  • Installation von Python und Einrichtung einer für die Analyse von Daten und Machine Learning geeigneten Umgebung

1.1 Intelligente Maschinen, die Daten in Wissen verwandeln

In diesem Zeitalter der modernen Technologie steht eine Ressource im Überfluss zur Verfügung: große Mengen von strukturierten und unstrukturierten Daten. In der zweiten Hälfte des 20. Jahrhunderts hat sich das Machine Learning als eine Teildisziplin der Artificial Intelligence (künstliche Intelligenz, KI) herausgebildet, bei der es um die Entwicklung selbstlernender Algorithmen geht, die Erkenntnisse aus Daten extrahieren, um bestimmte Vorhersagen treffen zu können. Das Erfordernis menschlichen Eingreifens zur manuellen Ableitung von Regeln und der Entwicklung von Modellen anhand der Analyse großer Datenmengen erübrigt sich damit mehr und mehr, denn das Machine-Learning-Verfahren bietet eine effiziente Alternative zur Erfassung des in den Daten enthaltenen Wissens – die zudem die auf diesen Daten basierende Entscheidungsfindung sowie die Aussagekraft von Vorhersagemodellen zusehends verbessert.
Dieses Verfahren wird nicht nur in der Forschung immer wichtiger, es spielt auch im Alltag eine zunehmend größere Rolle: Dank des Machine Learnings erfreuen wir uns stabiler E-Mail-Spamfilter, praktischer Text- und Spracherkennungssoftware, verlässlicher Suchmaschinen, kaum zu schlagender Schachcomputer und hoffentlich bald auch sicherer selbstfahrender Autos. Auch bei medizinischen Anwendungen hat es bemerkenswerte Fortschritte gegeben. So haben Forscher beispielsweise demonstriert, dass Deep-Learning-Modelle Hautkrebs fast so gut wie Menschen erkennen können (https://www.nature.com/articles/nature21056). Bei DeepMind haben Forscher kürzlich einen weiteren Meilenstein erreicht. Sie konnten mithilfe von Deep Learning die dreidimensionale Struktur von Proteinen vorhersagen und haben dabei erstmals bessere Ergebnisse als mit physikalischen Ansätzen erzielt (https://deepmind.com/blog/alphafold/).

1.2 Die drei Arten des Machine Learnings

In diesem Abschnitt werden wir die drei verschiedenen Gattungen des Machine Learnings betrachten: überwachtes Lernen, unüberwachtes Lernen und Reinforcement Learning. Sie werden erfahren, welche grundlegenden Unterschiede es zwischen diesen drei Varianten gibt und anhand von Beispielen allmählich ein Gespür dafür entwickeln, auf welche praktischen Aufgabenstellungen sie sich anwenden lassen:
[Bild]

1.2.1 Mit überwachtem Lernen Vorhersagen treffen

Das Hauptziel des überwachten Lernens ist, ein Modell anhand mit Labels gekennzeichneter Trainingsdaten zu erlernen, um so Voraussagen über unbekannte oder zukünftige Daten treffen zu können. Der Begriff »überwacht« bezieht sich hier auf Trainingsdaten (Eingabedaten), die bereits mit den bekannten erwünschten Ausgabewerten (Bezeichnungen/Labels) gekennzeichnet sind.
[Bild]
Betrachten wir als Beispiel das Filtern von E-Mail-Spam. Wir können einen überwachten Lernalgorithmus mit einer Sammlung von als Spam oder Nicht-Spam gekennzeichneten E-Mails »trainieren«, um dann vorherzusagen, zu welcher dieser Klassen eine neue E-Mail gehört. Eine solche Einteilung in bestimmte Klassen wird als Klassifikation bezeichnet. Eine weitere Unterkategorie des überwachten Lernens ist die Regression, bei der die Ausgabewerte im Gegensatz zur Klassifikation stetig sind.

Klassifikation: Vorhersage der Klassenbezeichnungen

Die Klassifikation ist eine Unterkategorie des überwachten Lernens, die es zum Ziel hat, anhand vorhergehender Beobachtungen die kategorialen Klassen neuer Instanzen vorherzusagen. Die Bezeichnungen dieser Klassen sind eindeutige, ungeordnete Werte, die als Gruppenzugehörigkeit der Instanzen aufgefasst werden können. Die soeben erwähnte E-Mail-Spamerkennung stellt ein typisches Beispiel für eine binäre Klassifikation dar, denn der Algorithmus erlernt Regeln, um zwischen zwei möglichen Klassen zu unterscheiden: Spam oder Nicht-Spam.
Die folgende Abbildung illustriert das Konzept einer binären Klassifikation, die mit 30 Beispielen trainiert wird, von denen 15 als negative Klasse (Minuszeichen) und weitere 15 als positive Klasse (Pluszeichen) gekennzeichnet sind. Die Datenmenge ist in diesem Szenario zweidimensional: Jedem Beispiel sind die beiden Werte x1 und x2 zugeordnet. Nun können wir dem überwachten Lernalgorithmus eine Regel beibringen: Die durch eine gestrichelte Linie dargestellte Grenze trennt die beiden Klassen voneinander und ermöglicht es, neue Daten anhand der Werte von x1 und x2 einer der beiden Klassen zuzuordnen.
[Bild]
Die Anzahl der Klassenbezeichnungen muss allerdings nicht auf zwei beschränkt sein. Das von einem überwachten Lernalgorithmus erlernte Vorhersagemodell kann einer neuen, noch nicht mit Label gekennzeichneten Instanz jede Bezeichnung zuordnen, die in den Trainingsdaten vorkommt.
Ein typisches Beispiel für solch eine Multiklassen-Klassifikation ist die Handschrifterkennung. Hier könnten wir eine Trainingsdatenmenge zusammenstellen, die aus mehreren handgeschriebenen Beispielen aller Buchstaben des Alphabets besteht. Die Buchstaben (»A«, »B«, »C« usw.) repräsentieren die verschiedenen Kategorien oder Klassenbezeichnungen, die wir vorhersagen möchten. Wenn dann ein Anwender über ein Eingabegerät einen neuen Buchstaben angibt, wäre unser Vorhersagemodell in der Lage, diesen mit einer gewissen Zuverlässigkeit zu erkennen. Das System wäre allerdings nicht imstande, irgendeine der Ziffern von null bis neun zu erkennen, sofern diese nicht ebenfalls Bestandteil der Trainingsdaten waren.

Regression: Vorhersage stetiger Ergebnisse

Im vorangegangenen Abschnitt haben wir festgestellt, dass es die Aufgabe einer Klassifikation ist, Instanzen kategoriale, ungeordnete Klassenbezeichnungen zuzuordnen. Ein zweiter Typ des überwachten Lernens ist die Vorhersage stetiger Ergebnisse, die auch als Regressionsanalyse bezeichnet wird. Hierbei sind verschiedene unabhängige oder erklärende Variablen sowie eine stetige Zielvariable (Ergebnis) vorgegeben und wir versuchen, eine Beziehung zwischen diesen Variablen zu finden, um Ergebnisse vorhersagen zu können.
Beachten Sie hier, dass die erklärenden Variablen beim Machine Learning oft als »Merkmale« oder »Features« und die Ergebnisse als »Zielvariablen« bezeichnet werden. Wir werden diese Begriffe ebenfalls verwenden.
Nehmen wir beispielsweise an, dass wir die von Schülern bei einer Matheprüfung erreichten Punktzahlen prognostizieren möchten. Sofern es einen Zusammenhang zwischen der mit dem Üben für die Prüfung verbrachten Zeit und den erzielten Punktzahlen gibt, könnten wir daraus Trainingsdaten für ein Modell herleiten, das anhand der aufgewendeten Übungszeit die Punktzahlen von Schülern voraussagt, die die Prüfung in Zukunft ebenfalls abzulegen beabsichtigen.
Tipp: Regression zur Mitte
Der Begriff Regression wurde schon 1886 von Francis Galton in einem Artikel mit dem Titel Regression Towards Mediocrity in Hereditary Stature geprägt. Galton beschrieb darin das Phänomen, dass sich bei der Bevölkerung die mittlere Abweichung von der durchschnittlichen Körpergröße im Laufe der Zeit nicht vergrößert.
Er beobachtete, dass die Körpergröße der Eltern nicht an die Kinder vererbt wird, vielmehr nähert sich die Größe der Kinder dem Durchschnittswert an.
Die folgende Abbildung illustriert das Konzept der linearen Regression. Bei vorgegebener unabhängiger Variablen x und abhängiger Variablen y passen wir eine Gerade so an die Daten an, dass ein Maß für den Abstand der Geraden von den Beispielwerten (üblicherweise der Mittelwert der quadrierten Differenzen) minimal wird. Nun können wir den aus den Daten ermittelten Schnittpunkt mit der y-Achse sowie die Steigung der Geraden verwenden, um das Ergebnis für neue Werte vorherzusagen.
[Bild]

1.2.2 Interaktive Aufgaben durch Reinforcement Learning lösen

Die dritte Variante des Machine Learnings ist das Reinforcement Learning. Hier besteht die Zielsetzung darin, ein System zu entwickeln (den Agenten), das seine Leistung durch Interaktionen mit seiner Umgebung verbessert. Zu den Informationen über den aktuellen Zustand der Umgebung gehört typischerweise ein sogenanntes Belohnungssignal, daher ist das Reinforcement Learning in gewisser Weise mit dem überwachten Lernen verwandt. Allerdings handelt es sich bei diesem Feedback nicht um die korrekte Klassenbezeichnung oder den richtigen Wert, sondern um eine Bewertung dafür, wie gut die Aktion war, dies wird durch eine Belohnungsfunktion festgelegt. Der Agent kann so über Interaktionen mit seiner Umgebung durch Reinforcement Learning erkennen, welche Aktionen besonders gut belohnt werden. Das kann durch schlichtes Ausprobieren (Versuch und Irrtum) oder durch bewusste Planung geschehen.
Ein schönes Beispiel für Reinforcement Learning ist ein Schachcomputer. Hier bewertet der Agent nach einer Reihe von Zügen die Stellung auf dem Schachbrett (die Umgebung), und die Belohnung kann am Ende des Spiels als Sieg oder Niederlage definiert werden.
[Bild]
Es gibt eine Vielzahl verschiedener Unterarten des Reinforcement Learnings. Im Allgemeinen versucht der Agent jedoch, die Belohnung durch eine Reihe von Interaktionen mit der Umgebung zu maximieren. Jedem Zustand kann eine positive (oder negative) Belohnung zugeordnet werden, und diese Belohnung kann dadurch definiert werden, dass ein Gesamtziel erreicht wird, wie z.B. das Gewinnen oder das Verlieren einer Schachpartie. Beim Schachspiel kann etwa das Ergebnis eines jeden Spielzugs als ein anderer Zustand der Umgebung aufgefasst werden.
Um beim Schach zu bleiben: Stellen Sie sich das Erreichen bestimmter Stellungen auf dem Schachbrett als positives Ereignis vor, d...

Inhaltsverzeichnis

  1. Impressum
  2. Über die Autoren
  3. Über die Korrektoren
  4. Über den Fachkorrektor der deutschen Ausgabe
  5. Einleitung
  6. Kapitel 1: Wie Computer aus Daten lernen können
  7. Kapitel 2: Lernalgorithmen für die Klassifikation trainieren
  8. Kapitel 3: Machine-Learning-Klassifikatoren mit scikit-learn verwenden
  9. Kapitel 4: Gut geeignete Trainingsdatenmengen: Datenvorverarbeitung
  10. Kapitel 5: Datenkomprimierung durch Dimensionsreduktion
  11. Kapitel 6: Bewährte Verfahren zur Modellbewertung und Hyperparameter-Optimierung
  12. Kapitel 7: Kombination verschiedener Modelle für das Ensemble Learning
  13. Kapitel 8: Machine Learning zur Analyse von Stimmungslagen nutzen
  14. Kapitel 9: Einbettung eines Machine-Learning-Modells in eine Webanwendung
  15. Kapitel 10: Vorhersage stetiger Zielvariablen durch Regressionsanalyse
  16. Kapitel 11: Verwendung von Daten ohne Label: Clusteranalyse
  17. Kapitel 12: Implementierung eines künstlichen neuronalen Netzes
  18. Kapitel 13: Parallelisierung des Trainings neuronaler Netze mit TensorFlow
  19. Kapitel 14: Die Funktionsweise von TensorFlow im Detail
  20. Kapitel 15: Bildklassifikation mit Deep Convolutional Neural Networks
  21. Kapitel 16: Modellierung sequenzieller Daten durch rekurrente neuronale Netze
  22. Kapitel 17: Synthetisieren neuer Daten mit Generative Adversarial Networks
  23. Kapitel 18: Entscheidungsfindung in komplexen Umgebungen per Reinforcement Learning

375,005 Studierende vertrauen auf uns

Zugang zu über 1,5 Millionen Titeln zu einem fairen monatlichen Preis.

Mit unseren Lerntools kannst du noch effizienter lernen.

Häufig gestellte Fragen

Ja, du kannst dein Abo jederzeit über den Tab Abo in deinen Kontoeinstellungen auf der Perlego-Website kündigen. Dein Abo bleibt bis zum Ende deines aktuellen Abrechnungszeitraums aktiv. Erfahre, wie du dein Abo kündigen kannst
Nein, Bücher können nicht als externe Dateien, z. B. PDFs, zur Verwendung außerhalb von Perlego heruntergeladen werden. Du kannst jedoch Bücher in der Perlego-App herunterladen, um sie offline auf deinem Smartphone oder Tablet zu lesen. Erfahre, wie du Bücher herunterladen kannst, um sie offline zu lesen
Perlego bietet zwei Pläne an: Essential und Complete
  • Essential ist ideal für Lernende und Fachkräfte, die es genießen, eine Vielzahl von Themen zu erkunden. Greife auf die Essential Library mit über 800.000 vertrauenswürdigen Titeln und Bestsellern in den Bereichen Wirtschaft, persönliche Weiterentwicklung und Geisteswissenschaften zu. Enthält unbegrenzte Lesezeit und Standard-Vorlesestimme.
  • Complete: Perfekt für fortgeschrittene Lernende und Forschende, die vollen, uneingeschränkten Zugriff benötigen. Entsperre über 1,5 Millionen Bücher zu Hunderten von Themen, einschließlich akademischen und spezialisierten Titeln. Der Complete-Plan enthält außerdem fortschrittliche Funktionen wie Premium Vorlesen und Forschungsassistent.
Beide Pläne sind mit monatlicher, halbjährlicher oder jährlicher Abrechnungskadenz verfügbar.
Wir sind ein Online-Lehrbuch-Abonnement-Service, bei dem du für weniger als den Preis eines einzelnen Buchs pro Monat Zugriff auf eine gesamte Online-Bibliothek erhältst. Bei über 1,5 Millionen Büchern zu mehr als 990 Themen bist du bestens versorgt! Erfahre mehr über unsere Mission
Achte auf das Symbol zum Vorlesen bei deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Erfahre mehr über die Funktion „Vorlesen“
Ja! Du kannst die Perlego-App sowohl auf iOS- als auch auf Android-Geräten nutzen, damit du jederzeit und überall lesen kannst – sogar offline. Perfekt für den Weg zur Arbeit oder wenn du unterwegs bist.
Bitte beachte, dass wir Geräte, auf denen die Betriebssysteme iOS 13 und Android 7 oder noch ältere Versionen ausgeführt werden, nicht unterstützen können. Mehr über die Verwendung der App erfahren
Ja, du kannst auf Machine Learning mit Python und Keras, TensorFlow 2 und Scikit-learn von Sebastian Raschka,Vahid Mirjalili im PDF- und/oder ePUB-Format sowie auf andere beliebte Bücher in Computer Science & Data Transmission Systems zugreifen. In unserem Katalog stehen über 1,5 Millionen Bücher zur Verfügung.