Maschinelles Lernen In Aktion
Alan T. Norman
Sind Sie auf der Suche nach einem Einsteigerbuch, um sich mit den grundlegenden Konzepten des maschinellen Lernens vertraut zu machen? Mein Buch erklärt Ihnen die grundlegenden Konzepte auf einfach verständliche Weise. Wenn Sie dieses Buch gelesen haben, werden Sie ein solides Verständnis für die Grundprinzipien haben, das Ihnen den Schritt zu einem fortgeschritteneren Buch erleichtert, wenn Sie mehr darüber lernen möchten. Sind Sie auf der Suche nach einem Einsteigerbuch, um sich mit den grundlegenden Konzepten des maschinellen Lernens vertraut zu machen? Mein Buch erklärt Ihnen die grundlegenden Konzepte auf einfach verständliche Weise. Wenn Sie dieses Buch gelesen haben, werden Sie ein solides Verständnis für die Grundprinzipien haben, das Ihnen den Schritt zu einem fortgeschritteneren Buch erleichtert, wenn Sie mehr darüber lernen möchten.
Alan T. Norman
Maschinelles Lernen in Aktion
Maschinelles Lernen in Aktion
Ein Grundlagenbuch für den Laien
Alan T. Norman
Aus dem Englischen übersetzt von Frank Münker
Copyright © 2020 Alan T. Norman – Alle Rechte vorbehalten.
Kein Teil dieser Veröffentlichung darf ohne vorherige schriftliche Genehmigung des Herausgebers in irgendeiner Form oder auf irgendeine Weise, einschließlich Fotokopieren, Aufzeichnen oder mit anderen elektronischen oder mechanischen Methoden, oder durch ein Informationsspeicher- und -abrufsystem reproduziert, verbreitet oder übertragen werden, außer bei sehr kurzen Zitaten, die in kritischen Rezensionen und bestimmten anderen nicht kommerziellen, nach dem Urheberrechtsgesetz erlaubten Verwendungen enthalten sind.
Warum Ich Dieses Buch Geschrieben Habe
Willkommen in der Welt des maschinellen Lernens!
Die künstliche Intelligenz ist dabei, den Lauf der Menschheitsgeschichte zu verändern, vielleicht mehr als jede andere Technologie zuvor. Ein großer Teil dieser Revolution ist das maschinelle Lernen.
Maschinelles Lernen ist die Wissenschaft, einem Computer beizubringen, auf der Grundlage von Daten Vorhersagen zu machen. Grundsätzlich bedeutet maschinelles Lernen, einen Computer mit Daten zu füttern und ihn daraus eine Vorhersage ableiten zu lassen. Am Anfang wird der Computer noch oft falsche Vorhersagen machen, doch im Verlauf von Tausenden von Vorhersagen wird der Computer seinen Algorithmus verfeinern, um bessere Vorhersagen zu treffen.
Diese Art von vorausschauenden Berechnungen war bislang nicht möglich, weil die Computer einfach nicht genug Daten speichern und nicht schnell genug rechnen konnten, um effektiv lernen zu können. Aber Jahr für Jahr werden die Computer in wachsendem Tempo immer besser. Fortschritte bei Speicher und Rechenleistung treiben die Entwicklung hin zu intelligenteren Maschinen an. Dadurch sind die Rechner heutzutage zu Dingen in der Lage, die noch vor ein oder zwei Jahrzehnten völlig undenkbar gewesen wären.
Das maschinelle Lernen hat schon heute Einfluss auf unser Leben. Amazon verwendet maschinelles Lernen, um vorherzusagen, welche Produkte Sie kaufen möchten. Gmail benutzt es, um Spam-Mails aus Ihrem Posteingang herauszufiltern. Die Filmempfehlungen, die Netflix Ihnen gibt, basieren auf Algorithmen des maschinellen Lernens.
Aber der Einfluss von maschinellem Lernen fängt hier erst an. Algorithmen machen schon jetzt in vielen Branchen Vorhersagen, von der Landwirtschaft bis hin zum Gesundheitswesen. Dies wird Jahr für Jahr in immer weiteren Branchen und Gebieten spürbar werden. Wir werden diese neuen Anwendungen des maschinellen Lernens Schritt für Schritt als Teil unseres Lebens akzeptieren. Auf jeden Fall ist diese neue Abhängigkeit von intelligenten Maschinen ein Wendepunkt in der Geschichte der Technologie, und dies wird in immer rasanterem Tempo weitergehen.
In Zukunft werden maschinelles Lernen und künstliche Intelligenz die Automatisierung vieler Aufgaben übernehmen, die heute noch von Menschen erledigt werden. Selbstfahrende Autos sind für die Bilderkennung auf maschinelles Lernen angewiesen. Sie werden zunehmend den Straßenverkehr prägen, ebenso wie selbstfahrende LKWs und andere Fahrzeuge für den Güter-Transport. Ein Großteil der Landwirtschaft und der Produktion ist jetzt schon automatisiert, sodass maschinelles Lernen uns bereits heute unsere täglichen Lebensmittel und Waren liefert. Dieser Trend zur Automatisierung beschleunigt sich immer mehr. Weitere Anwendungen für maschinelles Lernen könnten die täglichen Aufgaben der Menschen grundlegend verändern, da Maschinen immer besser in der Lage sind, Prozesse zu verwalten und Wissensarbeit zu erledigen.
Da maschinelles Lernen einen so tiefgreifenden Einfluss auf unseren Alltag haben wird, ist es wichtig, dass jedermann Zugang zu Informationen darüber hat, wie maschinelles Lernen funktioniert. Deshalb habe ich dieses Buch geschrieben. Die derzeitige Landschaft zu maschinellem Lernen ist geteilt.
Zum einen gibt es Werke für die breite Masse, die aber zu stark vereinfacht sind und den Eindruck erwecken, dass nur ein absoluter Experte diese Konzepte verstehen könnte.
Andererseits gibt es technische Veröffentlichungen, die von Experten für Experten verfasst wurden. Sie schließen mit ihrem technischen Jargon und ihrer Komplexität die Allgemeinheit aus. Natürlich ist das Schreiben und Ausführen eines Algorithmus für maschinelles Lernen eine sehr anspruchsvolle technische Leistung, und dafür ist die entsprechende Fachliteratur notwendig. Aber es klafft eine große Lücke in der aktuellen Literatur zum maschinellen Lernen.
Was ist mit dem Laien, der diese technologische Revolution verstehen möchte? Der nicht selbst Code schreiben möchte, sondern nur die Veränderungen um ihn herum verstehen will? Das Verständnis der Kernkonzepte des maschinellen Lernens sollte nicht auf eine technologische Elite beschränkt bleiben, denn diese Veränderungen betreffen uns alle. Sie haben ethische Konsequenzen, und es ist wichtig, dass die Öffentlichkeit über alle Vor- und Nachteile des maschinellen Lernens Bescheid weiß.
Deshalb habe ich dieses Buch geschrieben. Wenn das für Sie interessant klingt, dann wünsche ich Ihnen viel Vergnügen beim Lesen.
In diesem Buch geht es nicht um das Codieren von Lernalgorithmen
Falls das Manifest in der Einleitung nicht klar genug war: In diesem Buch geht es nicht um das Codieren. Es ist nicht für Informatiker gedacht, die lernen möchten, wie man Algorithmen für maschinelles Lernen erstellt.
Zum einen bin ich selbst bei Weitem nicht qualifiziert, ein solches Buch zu schreiben. Menschen verbringen Jahre damit, die Feinheiten des Schreibens von Algorithmen und des Trainings von Netzwerken zu lernen. Es gibt ganze Doktorandenprogramme, die die Ränder dieses Feldes erforschen und sich dabei auf die lineare Algebra und die prädiktive Statistik stützen. Wenn man tief in die Details des maschinellen Lernens eintaucht und es genug liebt, um einen Doktortitel zu erhalten, könnte man leicht 300.000 bis 600.000 US-Dollar verdienen, wenn man für eine große Technologiefirma arbeitet. So selten und wertvoll sind diese Fähigkeiten.
Ich selbst habe diese Qualifikationen nicht, und das ist auch gut so. Wenn Sie dieses Buch in der Hand haben, sind Sie vermutlich ein Laie, der Interesse an maschinellem Lernen hat. Sie haben wahrscheinlich keinen technischen Hintergrund, oder selbst wenn, dann sind Sie auf der Suche nach einem grundlegenden Buch, um den Einstieg in die grundsätzlichen Zusammenhänge zu finden. Als Technologie-Autor lerne ich ständig neue Technologien. Ich kann mich noch.
Ich kann Ihnen dabei helfen, die grundsätzlichen Konzepte auf leicht verständliche Weise zu erklären. Nachdem Sie dieses Buch gelesen haben, sollten Sie ein solides Verständnis für die Grundprinzipien haben. Das macht es einfacher, dann ein fortgeschritteneres Buch zu diesem Thema zu lesen, wenn Sie mehr darüber erfahren möchten.
Wenn Sie jedoch das Gefühl haben, die Grundprinzipien bereits zu verstehen, oder wenn Sie ein Buch wollen, das Ihnen das Schreiben und Trainieren eines Algorithmus für maschinelles Lernen in allen technischen Details vermittelt, dann ist dies wahrscheinlich nicht das richtige Buch für Sie.
Eine Einführung für den Laien
Das eigentliche Ziel dieses Buches ist es, eine einfach zu lesende Einführung in das maschinelle Lernen zu sein. Mein Ziel ist es, ein Buch zu schreiben, das jeder verstehen kann, aber dennoch den Prinzipien des maschinellen Lernens treu zu bleiben und die Konzepte nicht zu stark zu vereinfachen. Ich vertraue dabei auf die Intelligenz meiner Leser und glaube nicht, dass ein Anfängerbuch unbedingt auf jegliche Komplexität und Details verzichten muss. Es ist jedoch kein sehr umfangreiches Buch und es ist bei Weitem nicht umfassend. Diejenigen, die tief in dieses Thema einsteigen wollen, werden sich eher mit anderen Büchern und Ressourcen beschäftigen.
In diesem Buch schauen wir uns die grundlegenden Konzepte und Arten des maschinellen Lernens an. Wir erforschen, wie sie funktionieren. Dann werden wir uns mit Daten und dem Schreiben und Trainieren eines Algorithmus beschäftigen. Und schließlich betrachten wir reale Anwendungsfälle für maschinelles Lernen sowie Anwendungsfälle, in denen maschinelles Lernen als Nächstes zum Einsatz kommen könnte.
Nochmals herzlich willkommen beim maschinellen Lernen. Und jetzt tauchen wir ein …
Kapitel 1. Was ist Maschinelles Lernen?
Im ersten Kapitel geht es darum, einen Rahmen dafür zu schaffen, was Sie in diesem Buch lesen werden. Hier werden die grundlegenden Konzepte definiert, die wir in den folgenden Kapiteln dann genauer untersuchen werden. Die Kapitel dieses Buches bauen aufeinander auf; dieses ist das Grundgerüst.
Der Ausgangspunkt dafür ist logischerweise zu definieren, was maschinelles Lernen eigentlich ist.
Meine einfache Definition lautet wie folgt: Durch maschinelles Lernen kann ein Computer aus Erfahrungen lernen.
Das mag auf den ersten Blick trivial klingen, aber wenn man diese Definition genauer betrachtet, dann hat sie weitreichende Auswirkungen. Bevor es maschinelles Lernen gab, konnten Computer nicht aus Erfahrung lernen, sondern der Computer tat einfach nur genau das, was der ihm der Code vorschrieb.
Bei maschinellem Lernen kann der Computer – einfach gesagt – seine Antworten dadurch verändern, dass eine „Feedback“(Rückkopplungs)-Schleife für gute und schlechte Antworten eingeführt wird. Das bedeutet, dass sich Algorithmen für maschinelles Lernen grundlegend von den bisher verwendeten Computerprogrammen unterscheiden.
Der erste Schritt, um zu erkennen, wie maschinelles Lernen die Informatik grundlegend verändert, ist es zu verstehen, was der Unterschied zwischen expliziter Programmierung und Algorithmus-Training ist.
Explizite Programmierung vs. Algorithmustraining
Mit wenigen Ausnahmen wurde fast jede Software, die Sie bisher in Ihrem Leben verwendet haben, explizit programmiert. Das bedeutet, dass ein Mensch eine Abfolge von Regeln und Anweisungen geschrieben hat, die vom Computer ausgeführt werden soll. Alles, vom Betriebssystem Ihres Computers über das Internet bis hin zu den Apps auf Ihrem Smartphone, besteht aus Code, den ein Mensch geschrieben hat. Ohne Menschen, die einem Computer eine Reihe von Anweisungen zum Ausführen geben, wäre der Computer nicht in der Lage, irgendetwas zu tun.
Explizite Programmierung ist großartig, sie ist das Rückgrat für alles, was wir derzeit mit Computern tun. Explizite Programmierung ist optimal, wenn der Computer Daten verwalten soll, einen Wert berechnen oder Beziehungen für Sie verfolgen soll. Explizite Programmierung ist sehr mächtig, hat aber einen Flaschenhals: den Menschen.
Das wird dann problematisch, wenn der Computer komplexe Dinge erledigen soll, z. B. eine Katze auf einem Foto erkennen. Wenn wir einem Computer mithilfe expliziter Programmierung beibringen wollten, wonach bei einer Katze zu suchen ist, würden wir Jahre damit verbringen, Code für jede erdenkliche Eventualität zu schreiben. Was z. B. wäre, wenn man nicht alle vier Beine der Katze auf dem Foto sehen könnte? Was, wenn die Katze eine andere Farbe hat? Könnte der Computer eine schwarze Katze auf schwarzem Hintergrund oder eine weiße Katze im Schnee erkennen?
Das sind alles Dinge, die wir Menschen für selbstverständlich halten. Unser Gehirn erkennt Dinge in vielen Zusammenhängen schnell und einfach. Computer können das nicht so gut. Es würde Millionen von Zeilen expliziten Codes erfordern, um einem Computer zu sagen, wie er eine Katze identifizieren kann. Tatsächlich ist es vermutlich überhaupt nicht möglich, einen Computer explizit so zu programmieren, dass er Katzen zu 100 % genau identifizieren kann, weil sich der Kontext immer ändern und den Code durcheinanderbringen kann.
Hier kommen Algorithmen ins Spiel. Bei expliziter Programmierung versuchen wir, dem Computer zu sagen, was eine Katze ist, und alle Eventualitäten dafür in unserem Code zu berücksichtigen. Im Gegensatz dazu ermöglichen maschinelle Lernalgorithmen dem Computer, selbst herauszufinden, was eine Katze ist.
Am Anfang enthält der Algorithmus nur ein paar wesentliche Funktionen. Zum Beispiel könnten wir den Computer anweisen, nach vier Beinen und einem Schwanz zu suchen. Dann füttern wir diesen Algorithmus mit ganz vielen Bildern. Einige dieser Bilder sind Katzen, aber andere sind vielleicht Hunde, Bäume oder irgendwelche zufälligen Objekte. Wenn der Algorithmus eine Vermutung darüber anstellt, was er erkennt, dann geben wir positives Feedback für richtige Vermutungen und negatives Feedback für falsche Vermutungen.
Im Laufe der Zeit wird der Computer den Algorithmus dazu verwenden, sich ein eigenes Modell zu erstellen, wonach er suchen muss, um eine Katze korrekt zu identifizieren. Die Bestandteile im Computermodell sind möglicherweise Dinge, an die wir anfangs gar nicht gedacht haben. Mit mehr Feedback und Tausenden von Bildern zum Lernen wird der Algorithmus allmählich immer besser darin, Katzen zu identifizieren. Der Algorithmus wird dabei möglicherweise nie eine 100%ige Trefferquote erreichen, aber er wird präzise genug sein, um einen menschlichen „Katzenerkenner“ zu ersetzen, da der Lernalgorithmus viel schneller und effizienter ist.
Diese Algorithmen sind Richtlinien, aber keine expliziten Regeln. Sie sind eine neue Methode, um einem Computer zu erklären, wie er an eine Aufgabe herangehen soll. Algorithmen beinhalten Feedbackschleifen, die sich im Verlauf von Hunderten oder gar Tausenden von Versuchen selbst korrigieren.
Definition: Künstliche Intelligenz vs. maschinelles lernen vs. neuronale netze
In diesem Buch geht es zwar um maschinelles Lernen, aber dieser Begriff ist in einem größeren Zusammenhang zu sehen. Da maschinelles Lernen immer beliebter wird, wird auch viel darüber berichtet. In solchen Beiträgen verwenden die Journalisten oft die Begriffe künstliche Intelligenz, maschinelles Lernen und neuronale Netze synonym. Es gibt aber Unterschiede zwischen diesen drei Begriffen.
Künstliche Intelligenz ist der älteste und umfassendste dieser drei Begriffe. Er wurde in der Mitte des 20. Jahrhunderts geprägt und bezieht sich auf alles, wo eine Maschine seine Umgebung beobachtet und entsprechend reagiert. Künstliche Intelligenz steht im Gegensatz zu der natürlichen Intelligenz von Menschen und Tieren. Mit der Zeit hat sich der Aufgabenbereich der künstlichen Intelligenz allerdings verändert. Zum Beispiel war die Zeichenerkennung früher eine große Herausforderung. Mittlerweile ist das jedoch schon zum Standard geworden und wird daher heute nicht mehr zur KI gerechnet. Immer wenn wir neue Anwendungsmöglichkeiten für die KI gefunden haben, integrieren wir sie in das, was für uns „normal“ ist, und erweitern die KI auf das, was dann jeweils gerade neu ist.
Maschinelles Lernen ist eine bestimmte Teilmenge der KI. Wir haben uns in diesem Kapitel bereits mit der Definition von maschinellem Lernen beschäftigt, aber es geht darum, einer Maschine eine Feedback-Schleife zu geben, die es ihr ermöglicht, aus Erfahrungen zu lernen. Den Begriff gibt es seit den 1980er Jahren, aber erst in den letzten 10 bis 15 Jahren hatten wir die Rechen- und Speicherkapazitäten, um wirklich mit der Implementierung von maschinellem Lernen in großem Maßstab zu beginnen.
Neuronale Netze sind eine Teilmenge des maschinellen Lernens, sie sind derzeit der heißeste Trend in der Branche. Ein neuronales Netzwerk besteht aus vielen Neuronen (oder auch „Knoten“), die zusammenarbeiten, um gemeinsam eine Antwort zu finden. Jedes der untersten Neuronen hat eine bestimmte Funktion. Beispielsweise können die untersten Neuronen bei der Bilderkennung bestimmte Farben oder Linien erkennen. Darüber liegende Neuronen können dann die Linien in Formen zusammenfassen, Abstände messen oder die Farbdichte untersuchen. Jedes dieser Neuronen wird am Ende in Bezug auf seine Auswirkungen auf die endgültige Antwort gewichtet. Am Anfang wird das neuronale Netz noch viele Fehler machen, aber im Verlauf zahlreicher Versuche wird das neuronale Netz die Gewichtung aller Neuronen immer wieder anpassen, um besser darin zu werden, die korrekte Antwort zu finden.
Wenn Sie einen Artikel über künstliche Intelligenz, maschinelles Lernen und neuronale Netze lesen, dann verstehen Sie jetzt den Unterschied. Entscheidend dabei ist, dass neuronale Netze nur eine Teilmenge des maschinellen Lernens sind und dieses wiederum nur eine Teilmenge der künstlichen Intelligenz.
Grundlegende Konzepte
Maschinelles Lernen lässt sich für viele Aufgabenstellungen einsetzen. Wann immer es eine große Datenmenge zu analysieren gilt, kann der Einsatz von maschinellem Lernen hilfreich sein, um eine sinnvolle Aussage zu erzielen. Jedes Projekt für maschinelles Lernen ist anders, aber es gibt fünf Kernpunkte, die in jeder Anwendung gleich sind:
1. Die Aufgabenstellung
Maschinelles Lernen ist immer dann sinnvoll, wenn es darum geht, Muster zu erkennen und Verhalten vorherzusagen. Mustererkennung kann von Zeichenerkennung über das Vorhersagen von Wartungsarbeiten gehen, bis hin zur Empfehlung von Produkten, die auf den vorherigen Käufen des Kunden basieren.
Allerdings versteht ein Computer die Daten oder die Aufgabenstellung nicht von selbst. Deshalb muss ein Datenspezialist dem Computer durch entsprechendes Feedback beibringen, wonach er suchen soll. Wenn der Datenspezialist die Aufgabenstellung nicht präzise definiert, wird auch der beste und auf die größte Datenmenge trainierte Algorithmus nicht die gewünschten Ergebnisse bringen.
Natürlich ist maschinelles Lernen noch nicht besonders gut darin, auf einer höheren Ebene sinnbildliche Schlussfolgerungen zu ziehen. Ein Algorithmus könnte zum Beispiel in der Lage sein, ein Körbchen, bunte Eier und eine Wiese zu erkennen, nicht aber, dass es sich um eine Ostereier-Suche handelt – was wiederum die meisten Menschen erkennen würden.
Typischerweise haben Maschinenlernen-Projekte eine eher eng gesteckte Aufgabenstellung, für die es eine Antwort zu finden gilt. Unterschiedliche Aufgabenstellungen erfordern unterschiedliche Vorgehensweisen und möglicherweise auch andere Algorithmen.
2. Die Daten
Maschinelles Lernen ist in dieser Größenordnung erst möglich geworden aufgrund der Datenmengen, die wir in den vergangenen Jahren gesammelt haben. Diese „Big Data“-Revolution hat komplexes Algorithmustraining erst ermöglicht. Daten sind der Kern beim Anpassen jedes Maschinenlernen-Algorithmus, um richtige Antworten zu finden.
Weil die Daten von so zentraler Bedeutung für das maschinelle Lernen sind, wirken sich die Eingaben unmittelbar die Resultate aus. Wenn die Daten schon eine Tendenz oder Voreingenommenheit beinhalten, dann wird auch der Lernalgorithmus voreingenommen sein. Zum Beispiel beinhalten Systeme, die Bewerber beurteilen, Gerichtsurteile vorhersagen oder medizinische Diagnosen unterstützen, maschinelles Lernen. Sie alle haben einen gewissen Grad von kulturellen, geschlechtsspezifischen, ethnischen, bildungsbezogenen oder anderen Verzerrungen in die Datensätze eingebaut, durch die sie trainiert werden.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию (https://www.litres.ru/alan-t-norman/maschinelles-lernen-in-aktion/) на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.