Wie fange ich mit maschinellem Lernen an?

Versuche, Maschinen intelligenter als Menschen zu gestalten, sind nicht neu.

Einer der sehr frühen Angriffe der Informatik auf die menschliche „Intelligenz“ war das Schachspiel. Schach wird (oder sollten wir sagen, wurde?) von vielen als der ultimative Test des menschlichen Intellekts und der Kreativität angesehen, und in den 1960er und 70er Jahren gab es verschiedene Denkrichtungen innerhalb der Informatik.

Einige meinten, es sei nur eine Frage der Zeit, bis Computer die Menschen beim Schachspiel überholen würden, während andere glaubten, dass dies niemals passieren würde.

Kasparov gegen Deep Blue

Das sensationellste Ereignis, bei dem Mensch gegen Maschine im Gedankenkampf auftrat, war 1996 das Schachspiel zwischen dem damaligen Weltmeister Garry Kasparov (und wohl dem besten Schachspieler aller Zeiten) und Tiefes Blauein Supercomputer, den IBM für genau dieses Ereignis entworfen hat.

Bildnachweis: Wikipedia

Um es kurz zu machen: Kasparov gewann das Spiel von 1996 überzeugend (4:2), verlor aber den Rückkampf von 1997 (4,5:3,5) unter vielen Kontroverse und Kasparovs direkte Betrugsvorwürfe gegen IBM.

Unabhängig davon war eine Ära im Schach und in der Informatik vorbei. Computer galten als intelligenter als jeder lebende Mensch. IBM, glücklich über die Rache, demontierte Deep Blue und zog weiter.

Heutzutage ist es für keinen Großmeister möglich, eine normale Schachengine zu schlagen, die auf handelsüblicher Hardware läuft.

Was ist maschinelles Lernen nicht?

Bevor wir uns näher mit maschinellem Lernen befassen, wollen wir einige Missverständnisse aus dem Weg räumen. Maschinelles Lernen ist keineswegs ein Versuch, das menschliche Gehirn nachzubilden. Trotz des sensationslüsternen Glaubens von Leuten wie Elon Musk behaupten Informatikforscher, dass sie nicht auf der Suche nach diesem heiligen Korn sind und schon gar nicht in dessen Nähe.

Einfach ausgedrückt ist maschinelles Lernen die Praxis, Prozesse des Lernens anhand von Beispielen auf Computer anzuwenden. Dies steht im Gegensatz zu dem traditionellen Ansatz, sich auf einen menschlichen Programmierer zu verlassen, der sich alle möglichen Szenarien ausdenkt und Regeln dafür fest in ein System einbindet.

Ehrlich gesagt, das ist ungefähr das, was maschinelles Lernen ist: einen Computer mit Tonnen und Tonnen von Daten zu füttern, damit er aus Beispielen lernen kann (Versuch → Fehler → Vergleich → Verbesserung), anstatt sich auf den Quellcode zu verlassen.

Anwendungen des maschinellen Lernens

Wenn maschinelles Lernen also keine schwarze Magie ist und Terminatoren auch nicht hervorgebracht werden, wofür ist es dann nützlich?

Maschinelles Lernen hilft in Fällen, in denen die traditionelle Programmierung versagt, und diese Fälle fallen im Allgemeinen in eine der beiden Kategorien.

  So ändern Sie die Seitenausrichtung für eine einzelne Seite in MS Word

Wie der Name schon sagt, geht es bei der Klassifizierung darum, Dinge richtig zu kennzeichnen, während die Vorhersage darauf abzielt, Zukunftsprognosen zu korrigieren, wenn ein ausreichend großer Datensatz vergangener Werte vorhanden ist.

Einige interessante Anwendungen des maschinellen Lernens sind:

Spam-Filterung

E-Mail-Spam ist allgegenwärtig, aber der Versuch, ihn zu stoppen, kann ein Alptraum sein. Wie wird Spam definiert? Ist es das Vorhandensein bestimmter Schlüsselwörter? Oder vielleicht so wie es geschrieben ist? Programmtechnisch ist es schwierig, sich ein vollständiges Regelwerk auszudenken.

Aus diesem Grund verwenden wir maschinelles Lernen. Wir zeigen dem System Millionen von Spam-Nachrichten und Nicht-Spam-Nachrichten und lassen es den Rest herausfinden. Das war das Geheimnis hinter den hervorragenden Spam-Filtern von Google Mail, die Anfang der 2000er Jahre persönliche E-Mails erschütterten!

Empfehlungen

Alle großen E-Commerce-Unternehmen verfügen heute über leistungsstarke Empfehlungssysteme. Manchmal ist ihre Fähigkeit, Dinge zu empfehlen, die wir „möglicherweise“ nützlich finden, unglaublich genau, obwohl wir noch nie zuvor auf diesen Artikel geklickt haben.

Zufall? Gar nicht!

Maschinelles Lernen ist hier hart am Werk, verschlingt Terabyte um Terabyte an Daten und versucht, unsere flüchtigen Stimmungen und Vorlieben vorherzusagen.

Chatbots

Sind Sie auf einen First-Level-Kundensupport gestoßen, der seltsam roboterhaft wirkte und dennoch interessanten Smalltalk führen konnte?

Nun, dann wurden Sie vom maschinellen Lernen gepwned!

Aus Gesprächen zu lernen und zu bestimmen, was wann zu sagen ist, ist ein aufkommender und spannender Bereich der Chatbot-Anwendung.

Unkraut entfernen

In der Landwirtschaft werden Roboter, die durch maschinelles Lernen angetrieben werden, verwendet, um Unkraut und andere unerwünschte Pflanzen selektiv zwischen Feldfrüchten zu sprühen.

Dies müsste sonst von Hand erfolgen oder wäre eine große Verschwendung, da das System das Produkt mit der Killerflüssigkeit besprühen würde!

Die sprachbasierte Interaktion mit Computersystemen ist keine Science-Fiction mehr. Heute haben wir digitale Assistenten wie Alexa, Siri und Google Home, die Befehle verbal entgegennehmen können und nichts vermasseln (na ja, fast!).

Einige mögen argumentieren, dass es eine Erfindung ist, die am besten vermieden wird, da sie die menschliche Rasse fauler als je zuvor macht, aber Sie können nicht über die Wirksamkeit streiten.

Medizinische Diagnose

Wir stehen kurz vor einer Revolution in der medizinischen Diagnose, da auf maschinellem Lernen basierende Systeme beginnen, erfahrene Ärzte zu übertreffen Diagnose durch Röntgen usw.

Bitte beachten Sie, dass dies nicht bedeutet, dass Ärzte bald nicht mehr benötigt werden, aber dass die Qualität der medizinischen Versorgung dramatisch steigen wird, während die Kosten sinken werden (sofern nicht Wirtschaftskartelle etwas anderes vorschreiben!).

  So zeichnen Sie einen FaceTime-Anruf auf

Dies war nur ein Beispiel dafür, wofür maschinelles Lernen verwendet wird. Selbstfahrende Autos, Strategiespiel-Bots, T-Shirt-Faltmaschinen, Captcha-Breaking und das Ausmalen von Schwarz-Weiß-Fotos sind heutzutage an der Tagesordnung.

Arten des maschinellen Lernens

Es gibt zwei Arten von maschinellen Lerntechniken.

Supervised Learning, bei dem das System durch menschliches Urteilsvermögen gesteuert wird, und Unsupervised Learning, bei dem das System sich selbst lernen muss. Eine andere Art, dasselbe auszudrücken, wäre, dass wir beim überwachten Lernen einen Datensatz haben, der sowohl die Eingaben als auch die erwarteten Ausgaben enthält, die das System zum Vergleichen und zur Selbstkorrektur verwendet. Beim unüberwachten Lernen gibt es jedoch keine vorhandene Ausgabe, an der gemessen werden kann, sodass die Ergebnisse stark variieren können.

Eine aufregende und gruselige Anwendung des unbeaufsichtigten maschinellen Lernens?

Das wären Bots, die Brettspiele spielen, wobei dem Programm die Spielregeln und Gewinnbedingungen beigebracht und dann sich selbst überlassen werden. Das Programm spielt dann Millionen von Spielen gegen sich selbst, lernt aus seinen Fehlern und verstärkt die vorteilhaften Entscheidungen.

Wenn Sie einen ausreichend leistungsfähigen Computer verwenden, kann innerhalb weniger Stunden eine weltbeste spielende KI erstellt werden!

Die folgenden Bilder illustrieren diese Ideen prägnant (Quelle: Medium):

Ressourcen für den Einstieg in maschinelles Lernen

Also, jetzt, wo Sie von Machine Learning begeistert sind und wissen, wie es Ihnen helfen kann, die Welt zu erobern, wo sollen Sie anfangen?

Im Folgenden habe ich einige fantastische Ressourcen im Internet aufgelistet, die Ihnen helfen können, maschinelles Lernen fließend zu beherrschen, ohne einen Doktortitel zu erwerben. in der Informatik! Wenn Sie kein Forscher im Bereich des maschinellen Lernens sind, werden Sie den Bereich des maschinellen Lernens genauso praktisch und unterhaltsam finden wie das Programmieren im Allgemeinen.

Machen Sie sich also keine Sorgen, egal auf welchem ​​Niveau Sie sich gerade befinden, Sie können sich wie bei einem guten maschinellen Lernprogramm selbst beibringen und besser werden. 😛

#1. Programmierung

Die erste Voraussetzung für den Einstieg in Machine Learning ist das Erlernen des Programmierens. Das liegt daran, dass Systeme für maschinelles Lernen in Form von Bibliotheken für verschiedene Programmiersprachen vorliegen.

Python wird am meisten empfohlen, zum Teil, weil es unglaublich angenehm zu lernen ist, und zum Teil, weil es über ein riesiges Ökosystem von Bibliotheken und Ressourcen verfügt.

Das offiziell Beginner’s Guide ist ein großartiger Ausgangspunkt, auch wenn Sie mit Python ein wenig vertraut sind. Oder nimm das Bootcamp-Kurs von Null an ein Held zu werden.

  So sehen Sie die gelöschten Instagram-Bilder von Personen

#2. Denken Sie an Statistiken

Sobald Sie mit den Grundlagen von Python fertig sind, wäre meine zweite Empfehlung, zwei herausragende Bücher durchzugehen. Sie sind 100% kostenlos und stehen als PDF zum Download bereit. Denken Sie an Statistiken und Denken Sie an Bayes sind zwei moderne Klassiker, die jeder angehende Machine Learning-Ingenieur verinnerlichen sollte.

#3. Udemy

An dieser Stelle würde ich Ihnen empfehlen, ein paar Kurse von zu belegen Udemy. Das interaktive Format zum Selbststudium hilft Ihnen dabei, ins Wesentliche einzusteigen und Selbstvertrauen aufzubauen.

Stellen Sie sicher, dass Sie sich die Kursvorschau, Bewertungen (insbesondere die negativen!) und das allgemeine Gefühl des Kurses ansehen, bevor Sie beginnen.

Sie können auch kostenlos auf erstaunliche Tutorials auf YouTube stoßen. Sendedex ist ein solcher Kanal, den ich empfehlen kann, wo immer jede Menge Spaß los ist, aber seine Herangehensweise ist nicht anfängerfreundlich.

#4. Andreas Ng

Kurs unterrichtet von Andrew Ng on Coursera ist wohl die beliebteste Lernressource für die Grundlagen des maschinellen Lernens.

Obwohl es die Programmiersprache R verwendet, bleibt es in seiner Behandlung des Themas und seinen klaren Erklärungen beispiellos. Aufgrund dieses Kurses hat Andrew Ng in den ML-Kreisen eine gewisse gottähnliche Statur erreicht, und die Leute schauen zu ihm auf, wenn es um ultimative Weisheit geht (ich mache keine Witze!).

Dies ist kein Kurs für Anfänger, aber wenn Sie bereits gut im Datenwrangling sind und etwas Nebenrecherche im Laufe der Zeit nicht stören, ist dieser Kurs die beste Empfehlung.

#5. Udacity

Werden Sie ein Ingenieur für maschinelles Lernen, indem Sie diesen Nanograd absolvieren Udacity.

Es wird ungefähr 3 Monate dauern, bis der Kurs abgeschlossen ist, und am Ende des Kurses wird erwartet, dass Sie eine gute Vorstellung von maschinellen Lernalgorithmen haben, wie man sie modelliert und in der Produktion einsetzt.

Fazit

Es gibt kein Ende an Ressourcen im Internet, und Sie können sich leicht verirren, wenn Sie anfangen. Die meisten Tutorials und Diskussionen da draußen sind mathematisch herausfordernd oder haben keine Struktur und können Ihr Selbstvertrauen brechen, bevor Sie überhaupt angefangen haben.

Deshalb möchte ich Sie vor der Selbstzerstörung warnen: Halten Sie Ihr Ziel bescheiden und bewegen Sie sich in minimalen Schritten. Maschinelles Lernen ist nicht etwas, mit dem Sie sich innerhalb von ein oder zwei Tagen vertraut machen können, aber ziemlich bald werden Sie anfangen, Spaß daran zu haben, und wer weiß, vielleicht schaffen Sie sogar etwas Beängstigendes!

Habe Spaß! 🙂