Einstieg ins Machine Learning: Grundlagen, Prinzipien, erste Schritte
()
About this ebook
Zunächst zeigt Ihnen Dr. Andreas Bühlmeier die mathematischen Grundlagen, die Machine Learning überhaupt erst möglich machen, und stellt einige der wichtigsten und meistgebrauchten Algorithmen vor. Christoph Henkelmann erläutert, wie Texte richtig vorbehandelt werden, damit sie überhaupt von Machine- und Deep-Learning-Algorithmen verarbeitet werden können. Was man dann damit machen kann, und wie man von der Text- und Spracherkennung zur Emotionserkennung kommt, erläutern Shahin Amiriparian, Maximilian Schmitt und Björn Schuller anhand eines ausführlichen Beispiels. Und dass es für erste eigene Versuche mit Machine Learning nicht unbedingt spezialisierte Hardware und neue Programmiersprachen braucht, beweist Oliver Zeigermann, indem er mit TensorFlow.js einfache Anwendungen nur mit JavaScript im Browser erstellt.
Related to Einstieg ins Machine Learning
Titles in the series (100)
Geolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Erfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsErfolgreich bewerben in der IT - die besten Praxistipps von A wie (Anschreiben) bis Z (wie Zeugnis) Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Management Rating: 0 out of 5 stars0 ratingsM2M by Eclipse Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratings
Related ebooks
Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsMachine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn Rating: 5 out of 5 stars5/5Software entwickeln mit C#, WPF und dem MVVM-Konzept Rating: 0 out of 5 stars0 ratingsPython programmieren lernen: Der spielerische Einstieg mit Minecraft Rating: 0 out of 5 stars0 ratingsDatenbanken: Grundlagen und Entwurf Rating: 0 out of 5 stars0 ratingsDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Einstieg in die Datenanalyse mit SPSS Rating: 0 out of 5 stars0 ratingsC# 10 – kurz & gut Rating: 0 out of 5 stars0 ratingsBlockchain kurz & gut Rating: 0 out of 5 stars0 ratingsDeep Learning – Grundlagen und Implementierung: Neuronale Netze mit Python und PyTorch programmieren Rating: 0 out of 5 stars0 ratingsProgrammierung in Visual Basic (VB): von der promanalyse zum programm Rating: 0 out of 5 stars0 ratingsLösungen zum großen Python3 Workbook: Unfangreiche Lösungen zu den Übungsaufgaben Rating: 0 out of 5 stars0 ratingsPHP for Office: Automatisierte Dokumentenerstellung mit PHPExcel, PHPWord und PHPPowerPoint Rating: 1 out of 5 stars1/5C# 8.0 – kurz & gut Rating: 0 out of 5 stars0 ratingsMaschinelles Lernen In Aktion: Einsteigerbuch Für Laien, Schritt-Für-Schritt Anleitung Für Anfänger Rating: 0 out of 5 stars0 ratingsPrinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Rating: 0 out of 5 stars0 ratingsProjektmanagement kurz & gut Rating: 0 out of 5 stars0 ratingsVim in der Praxis - blitzschnell Text editieren: Blitzschnell Text editieren Rating: 0 out of 5 stars0 ratingsEinführung in Programmiersprachen Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsMaker-Projekte mit JavaScript: Mit Espruino und JavaScript aus Alltagsobjekten intelligente Maschinen bauen Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsNeuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Rating: 0 out of 5 stars0 ratingsTraumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Rating: 5 out of 5 stars5/5C++-Standardbibliothek - kurz & gut Rating: 0 out of 5 stars0 ratingsGitHub – Eine praktische Einführung: Von den ersten Schritten bis zu eigenen GitHub Actions Rating: 0 out of 5 stars0 ratingsMobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Einstieg • Optimierung • Projekte Rating: 5 out of 5 stars5/5Linux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratings
Intelligence (AI) & Semantics For You
ChatGPT – Für Einsteiger: Schreibprofi mit KI, Zeit und Geld sparen ohne peinliche Fehler Rating: 0 out of 5 stars0 ratingsMeistern von ChatGPT: Entriegeln Sie die Kraft der KI für verbesserte Kommunikation und Beziehungen: German Rating: 0 out of 5 stars0 ratingsDie Zukunft der Arbeit: Digitalisierung, Automatisierung, KI Rating: 0 out of 5 stars0 ratingsChatGPT: Begegnung mit einer neuen Welt: Lernen Sie Künstliche Intelligenz mit der Gratisversion ChatGPT 3.5 Rating: 0 out of 5 stars0 ratingsAufstieg der Roboter: Wie unsere Arbeitswelt gerade auf den Kopf gestellt wird - und wie wir darauf reagieren müssen Rating: 0 out of 5 stars0 ratingsDigitalotopia: Sind wir bereit für die (R)Evolution der Wirklichkeit? Rating: 0 out of 5 stars0 ratingsDie KI Bibel, mit künstlicher Intelligenz Geld verdienen: Echte Fallbeispiele und Anleitungen zum Umsetzen Rating: 1 out of 5 stars1/5Menschlicher Geist und Künstliche Intelligenz: Die Entwicklung des Humanen inmitten einer digitalen Welt Rating: 0 out of 5 stars0 ratingsChatbotische Landingpages: Wie du deine Konkurrenz in den digitalen Staub schicken Rating: 0 out of 5 stars0 ratingsKünstliche Intelligenz in Sozialen Medien Rating: 0 out of 5 stars0 ratingsChatbotische Medien-Gestaltung leicht gemacht: Von der Idee zum viralen Hit Rating: 0 out of 5 stars0 ratingsWissen statt Glauben!: Das Weltbild des neuen Humanismus Rating: 0 out of 5 stars0 ratingsKI-Innovationen: Wie die Technologie die Grenzen verschiebt Künstliche Intelligenz verstehen und nutzen: Ein AI-Buch Rating: 0 out of 5 stars0 ratingsKünstliche Intelligenz: Die vierte industrielle Revolution Rating: 0 out of 5 stars0 ratingsPsychologie des Sozialismus Rating: 0 out of 5 stars0 ratingsRoboter im Alltag: Maschinen (beinahe) wie Menschen Rating: 0 out of 5 stars0 ratings
Reviews for Einstieg ins Machine Learning
0 ratings0 reviews
Book preview
Einstieg ins Machine Learning - Shahin Amiriparian
GmbH
1 Mathematische Grundlagen für maschinelles Lernen
Machine Learning ist vor allem durch die Erfolge im Deep Learnig und durch das Potenzial populär geworden, große, unstrukturierte Datenmengen verarbeiten zu können. Die Technologie ist an sich aber nicht neu und hat dabei sehr viele Facetten, was das Thema manchmal unübersichtlich erscheinen lässt. Fundierte mathematische Grundlagen der wichtigsten Ansätze geben den Einstieg, um den Überblick zu behalten.
Machine Learning fasziniert, weil damit Lösungen gefunden werden können, die man vorher so nicht beschreiben konnte. So scheint es fast magisch zu funktionieren, was natürlich nicht der Fall ist, da man ja die Algorithmen programmieren muss. Wenn man neu in das Thema einsteigt, ist es schwierig, den Überblick zu behalten und zu verstehen, wann und warum einzelne Verfahren für bestimmte Aufgaben funktionieren und wann nicht. Darum veranschaulichen wir hier die wichtigsten Ansätze. Anstatt verschiedene Methoden völlig getrennt zu behandeln, gehen wir entlang der Gemeinsamkeiten vor, um dann die verschiedenen Ausprägungen darzustellen, ohne dabei bis ins letzte Detail zu gehen. Es wird überwachtes Lernen, unüberwachtes Lernen sowie Reinforcement-Lernen dargestellt werden.
Die Blackbox-Sicht
Der Einsatz von Machine Learning erfolgt meist nach dem folgenden Muster: Wir haben Eingangsdaten, das können Kameradaten, Börsendaten, Text oder Sonstiges sein. Das System soll diese Daten verarbeiten und dabei lernen, möglichst gut zu funktionieren (dazu später mehr). Die Ausgangsdaten können dann z. B. Klassifizierungen der Eingangsdaten sein, also beispielsweise angeben, ob ein Auto erkannt wurde, ein Fußgänger, oder man eine bestimmte Aktie kaufen sollte. Es wird meist Feedback gegeben, das lauten kann, dass der Ausgang falsch oder richtig gewählt wurde oder welcher Ausgang richtig gewesen wäre (Abb. 1.1). Wenn das Feedback t das gewünschte Ergebnis darstellt und die Differenz von tatsächlichem und gewünschtem Ergebnis zur Optimierung von M herangezogen wird, spricht man vom sogenannten überwachten Lernen (Supervised Learning), womit wir uns als Erstes beschäftigen wollen.
Abbildung 1.1: Ein Machine-Learning-System besitzt immer einen Input, einen Ausgang und bekommt optional Feedback zur Bewertung seiner Ausgaben
Mathematik
Was immer wir als mathematischen Algorithmus aufschreiben können, kann programmiert werden. Im Fall der obigen Zeichnung ist die Abbildung des Eingangs x (Kameradaten) auf den Ausgang y („Auto oder „Fußgänger
) am einfachsten wie folgt zu formulieren: y=f(x).
Das heißt, die Aufgabe des Machine-Learning-Systems f ist, sich selbst so zu verbessern (also zu lernen), dass die gewünschte Größe y erzielt wird. Die Ausgangsgröße y kann oftmals als binär angenommen werden. Wir können diese Aufgabe des Verbesserns auch als Optimierungsaufgabe auffassen, womit genau das wesentliche innere Prinzip des Machine Learnings beschrieben ist. Neben diesem inneren Prinzip sind allerdings viele weitere Dinge zu betrachten. Die Optimierung ist nämlich in komplexe Strukturen einzubauen, damit die gewünschten Resultate erreicht werden können, wie wir im Laufe dieses Kapitels sehen werden.
Die Optimierungen werden meist iterativ umgesetzt. In kleinen Schritten und mit einer Vielzahl von Beispieldaten lernen z. B. neuronale Netze, die ihnen gestellten Aufgaben zu lösen, indem sie sich im Mittel über die Zeit verbessern.
Etwas Mathematik zum Auffrischen:
Vektor
ЄRn, hat die Form
Matrix
Eine m-x-n-Matrix W hat die Form
Skalarprodukt von Matrix und Vektor
Das Skalarprodukt aus einer m-x-n-Matrix W und einem n-dimensionalen Vektor x ist wieder ein Vektor und zwar m-dimensional. Für jedes Element dieses Ergebnisvektors y gilt:
Ableitung einer Funktion
Die Ableitung einer Funktion f(x) wird durch die Steigung der Tangente an diesem Punkt beschrieben. Für die Ableitung f‘(x) der Funktion f(x) kann man einen Satz von Regeln anwenden, z. B. für einfache Fälle die Potenzregel:
Für f(x)=xn gilt f'(x)=nxn-1
d. h. für f(x)=x2 gilt f'(x)=2x
Die Kettenregel:
Für die verkettete Funktion für f(x)=g(h(x)) gilt die Ableitung f'(x)=g'(h(x))h'(x), also das Produkt aus äußerer Ableitung g'(h(x)) und innerer Ableitung h'(x).
Partielle Ableitung
Die partielle Ableitung ist die Ableitung einer Funktion mit mehreren Argumenten nach einem der Argumente. Gekennzeichnet werden partielle Ableitungen mit ∂, also z. B. ∂C(W)/∂wij, was bedeutet, dass C von der Matrix W abhängt, aber wir jetzt nur die einzelne Komponente wij betrachten.
Gradient
Als Gradienten bezeichnet man einen Vektor, wobei die ersten partiellen Ableitungen der Funktion die Einträge des Vektors bilden.
Neuronale Netze
Wie kann unser System f konkreter aussehen? Und wie kann es optimiert werden?
Ein besonders wichtiger Ansatz zur Optimierung des Systems ist von der Biologie inspiriert, d. h. von unserem Wissen darüber, wie Lebewesen lernen. Wir wissen, dass neuronale Verbindungen und ihre Anpassungen dabei eine zentrale Rolle spielen. So entstand ein gerade in jüngster Zeit erfolgreicher Ansatz bereits in den späten 1940er Jahren: die neuronalen Netze. Wir beschäftigen uns hier zunächst mit den einfachsten neuronalen Netzen, um das Grundprinzip zu verstehen, und machen dann weiter mit komplexeren Netzwerken. Das einfachste neuronale Netz ist das sogenannte Perzeptron [1]. Es besteht im einfachsten Fall aus einem Neuron mit mehreren Eingängen, wie in Abbildung 1.2 dargestellt.
Abbildung 1.2: Ein einfaches Modell