banner banner banner
Maschinelles Lernen In Aktion
Maschinelles Lernen In Aktion
Оценить:
 Рейтинг: 0

Maschinelles Lernen In Aktion

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