Machine Learning - kurz & gut - Eine Einfu?hrung mit Python, Pandas und Scikit-Learn

Machine Learning - kurz & gut - Eine Einfu?hrung mit Python, Pandas und Scikit-Learn

von: Chi Nhan Nguyen, Oliver Zeigermann

O'Reilly Verlag, 2018

ISBN: 9783960101932

Sprache: Deutsch

220 Seiten, Download: 7926 KB

 
Format:  EPUB, auch als Online-Lesen

geeignet für: geeignet für alle DRM-fähigen eReader geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen


 

eBook anfordern

Mehr zum Inhalt

Machine Learning - kurz & gut - Eine Einfu?hrung mit Python, Pandas und Scikit-Learn



KAPITEL 1


Einführung


In diesem Buch führen wir dich in das Thema Machine Learning ein. Wir setzen keine Kenntnisse voraus und beginnen tatsächlich bei null.

Von Machine Learning spricht man, wenn man einen Computer nicht direkt programmiert, sondern wenn diese Maschine bestimmte Fähigkeiten erlernt. Das mag nach Science-Fiction klingen, ist im Jahr 2018 aber keine Besonderheit mehr.

Machine Learning ist zum Beispiel Grundlage für automatische Übersetzungen und Interaktionen durch gesprochene Sprache bei Microsoft, Apple und Google. Dabei muss der Mensch nur die Lernstrategie und die grundsätzliche »Architektur« vorgeben. Darin wird dann, je nach Lernstrategie, mehr oder weniger viel von der Maschine erlernt und muss nicht programmiert werden. Dies führt zu solchen Leistungssteigerungen, dass die Übersetzungsergebnisse oft kaum mehr sicher von menschlichen zu unterscheiden sind.

Nachdem schon vor mehr als 20 Jahren die Maschinen den Menschen den Rang im Schachspielen abgelaufen hatten, war man auch danach immer noch davon ausgegangen, dass ein Spiel wie Go niemals von Maschinen beherrscht werden könne. Man kam zu der Annahme, weil mit Verfahren, wie sie zum automatischen Schachspielen verwendet werden, tatsächlich nur sehr mäßige Ergebnisse bei Go zu erreichen waren. Im Jahr 2016 schlug jedoch eine Maschine (AlphaGo) in einem spektakulären Match, das live übertragen wurde, die damalige Nummer zwei (Lee Sedol) der Go-Weltrangliste und kletterte damit selbst auf die zweite Position. Diese Maschine kombiniert verschiedene Ansätze des Machine Learning und setzt damit auf eine völlig andere Strategie als Schachcomputer.

Go erlaubt weit mehr Spielmöglichkeiten als Schach, und daher wird Maschinen, die Go spielen können, eine gewisse Kreativität nachgesagt. In den oben erwähnten Spielen zwischen Mensch und Maschine sprachen die Kommentatoren über die Züge der Maschine, als wären sie Produkt einer menschlichen Kreativität. In diesem Zusammenhang wurde oft von intelligenten Maschinen gesprochen und auch davon, dass die Maschinen in naher Zukunft uns Menschen generell einholen würden.

Von einer solchen künstlichen Intelligenz spricht man klassisch dann, wenn eine Maschine ein Verhalten an den Tag legt, das nicht mehr von dem eines Menschen zu unterscheiden ist. Anfang 2017 schlug eine weitere Maschine in einem Online-Go-Portal alle menschlichen Spieler inklusive der Nummer eins der Weltrangliste. Dabei wurde das Geheimnis, ob es sich bei dem überragenden Spieler um eine Maschine oder um einen Menschen handelte, erst sehr spät gelüftet. In diesem Fall können wir gemäß der klassischen Definition von oben also von einer punktuellen künstlichen Intelligenz sprechen, da – außer vielleicht an der Spielstärke – niemand hätte erkennen können, ob es sich um Mensch oder Maschine handelt.

Tatsächlich sehen wir erstaunliche und teilweise extreme Leistungen von Maschinen in klar abgesteckten Domänen. Allerdings ist eine Maschine, die dem Menschen in seiner Vielfältigkeit und Kreativität auch nur nahekommt, auch mittelfristig nicht absehbar. Erst ein System, das nicht nur in einem Bereich, sondern allgemein intelligentes Verhalten zeigt, würde man als eine künstliche Intelligenz bezeichnen.

Ist dieses Buch für dich?


Dieses Buch ist für alle Anwender mit einem technischen Hintergrund gedacht, die in das Thema Machine Learning einsteigen möchten. Wenn du also Programmierer, Ingenieur, Naturwissenschaftler, technischer Journalist oder etwas Ähnliches bist, ist dies hier dein Buch.

Alle Codebeispiele werden wir in Python 3 angegeben – Python-Kenntnisse sind jedoch nicht zwingend erforderlich, denn wir werden die notwendigen Grundlagen Stück für Stück in entsprechend gekennzeichneten Kästen vermitteln. Diese kannst du überspringen, falls du Python bereits beherrschst. Wenn du dir nur einen generellen Überblick verschaffen willst, ist es auch möglich, die Programmierbeispiele komplett zu überspringen, einen tieferen Einblick bekommst du aber nur mit ihrer Hilfe. Um den Programmierbeispielen folgen zu können, solltest du eine Programmiersprache mit objektorientierten Eigenschaften beherrschen – welche, ist egal.

Wie du dieses Buch lesen kannst


Dieses Buch ist kein Nachschlagewerk. Du kannst es gut von vorn bis hinten durchlesen. Dann dient es dir als Einführung in das Thema Machine Learning.

Du kannst zusätzlich alle Codebeispiele nachvollziehen und brauchst dann dementsprechend länger. Du kannst aber auch bestimmte Kapitel auslassen, wenn du dich nicht so sehr für das darin behandelte Thema interessierst. In jedem Fall solltest du den Schnelldurchlauf in Kapitel 2, Quick-Start, und das Kapitel 4, Supervised Learning, komplett lesen. Diese Kapitel enthalten die Kernthemen dieses Buchs.

In Kapitel 4 werden wir uns durch die einzelnen klassischen Strategien des Supervised Learning hindurcharbeiten und dabei deren Unterschiede, Stärken und Schwächen kennen lernen. In Kapitel 2 findest du einen Schnelldurchlauf durch alle Stationen dieses Buchs.

Die beiden Kapitel 5, Feature-Auswahl, und Kapitel 6, Modellvalidierung, gehen etwas mehr in die Tiefe und beantworten Fragen, die eventuell in Kapitel 4 offengeblieben sind. Sie enthalten Formeln und erfordern ein wenig mathematisches Interesse und Verständnis.

Kapitel 3, Datenimport und -vorbereitung, liegt uns persönlich besonders am Herzen. Oft fehlt dieser Teil in einführenden Büchern, da er als etwas mühsam und spaßfrei angesehen wird. Wir glauben, dass sogar die Vorbereitung der Daten spannend sein kann. Zudem sind gute Daten in der Regel die Voraussetzung für einen erfolgreichen Machine-Learning-Prozess. In diesem Kapitel schaffen wir zudem die technischen Grundlagen für den Umgang mit Python und seinen Bibliotheken.

Kapitel 7, Neuronale Netze und Deep Learning, handelt vom Deep Learning mit neuronalen Netzen, dem zurzeit heißesten Thema im Bereich Machine Learning. Dies ist ebenso eine Strategie des Supervised Learning, ist aber in vielen Punkten anders als die zuvor in Kapitel 4 behandelten Strategien. Daher haben wir diesem Thema ein eigenes Kapitel spendiert. Hier wenden wir auch alles bisher Gelernte in einer praktischen Anwendung an, indem wir versuchen, Geschwindigkeitsbeschränkungen auf Verkehrsschildern zu erkennen.

Eine kleine Geschichte vom Jahrmarkt


Machine Learning kann die Grundlage für ein intelligentes System sein, aber wir können Machine Learning bereits nutzen, ohne dass wir von Intelligenz sprechen oder sprechen sollten. Um zu verstehen, was hinter Machine Learning steckt und wie es funktioniert, fangen wir mit einer kleinen Geschichte vom Jahrmarkt an.

Angenommen, wir sind auf dem Jahrmarkt – oder Dom, wie wir zur Überraschung vieler Nichthamburger in Hamburg sagen – beim Scheibenschießen mit einem Luftgewehr. Vielleicht kannst du das gut, wir aber nicht so sehr, daher trainieren wir, statt selbst zu schießen, lieber jeweils einen Roboter, der das für uns macht.

Nehmen wir einmal an, wir hätten drei unterschiedlichen Robotern mit Methoden des Machine Learning das Schießen beigebracht, so wie andere Maschinen das Go-Spielen, das Fahren von Autos oder das Übersetzen von Texten gelernt haben. Da dieses Training in unserer Vorstellung also bereits stattgefunden hat, kannst du dir die Schießergebnisse unserer Roboter in Abbildung 1-1 ansehen. Chi Nhans Roboter hat die Nummer 1, deiner hat die Nummer 2, und Ollis Roboter ist die 3.1

Abbildung 1-1: So schießen unsere Roboter.

Welches Ergebnis findest du am besten? Was stimmt mit den anderen beiden nicht? Was für Unterschiede siehst du? Denk einmal einen Moment darüber nach.

Spannende Unterschiede

Wir finden deinen Roboter mit der Nummer 2 am besten. Der Fehler, also die Abweichung von der Mitte, ist im Mittel am geringsten. Spannend sind tatsächlich auch die beiden weniger guten Roboter 1 und 3. Beide haben einen größeren Fehler, sie unterscheiden sind aber doch deutlich voneinander. Und pssst, wir verraten dir schon jetzt ein Geheimnis: Das Ergebnis deines Roboters ist gar nicht so einfach zu erreichen, und wir (Chi Nhan und Olli) haben jeweils klassische Fehler bei unseren Robotern gemacht.

Chi Nhans Roboter 1 wirkt etwas bockig und scheint nicht viel gelernt zu haben. Obwohl er offensichtlich schlecht schießt, stört ihn das nicht sonderlich. Trotz gegensätzlicher Information und ohne einen richtig guten Treffer scheint er an seiner einfachen Meinung, wie man zu schießen hat, festzuhalten. Der Roboter ist also sehr »voreingenommen«, was im Englischen dem Term High...

Kategorien

Service

Info/Kontakt