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

Einer der sehr frühen Angriffe der Informatik auf die menschliche „Intelligenz“ war durch die Schachspiel. Schach wird (oder sollten wir sagen, war?) von vielen als ultimativer Test für menschlichen Intellekt und Kreativität angesehen, und in den 1960er und 70er Jahren gab es verschiedene Denkschulen innerhalb der Informatik.

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

Kasparov vs. Deep Blue

Das sensationellste Ereignis mit Mensch gegen Maschine im Kampf der Gedanken war das Schachspiel 1996 zwischen dem damaligen Weltmeister Garry Kasparov (und wohl dem besten Schachspieler aller Zeiten) und Deep Blue, ein Supercomputer, den IBM für genau dieses Ereignis entwickelt hat.

kasparov-vs.-tiefblau
Bildnachweis: Wikipedia

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

Unabhängig davon war eine Ära in Schach und Informatik vorbei. Computer waren schlauer als jeder lebende Mensch. IBM, zufrieden mit der Rache, zerlegte Deep Blue und ging weiter.

Heutzutage ist es für jeden Großmeister unmöglich, eine normale Schachmaschine zu schlagen, die auf Standardhardware läuft.

What isn’t Machine Learning?

Bevor wir uns das maschinelle Lernen genauer ansehen, lassen Sie uns einige Missverständnisse aus dem Weg räumen. Machine Learning ist keineswegs der Versuch, das menschliche Gehirn nachzubilden. Trotz sensationeller Überzeugungen von Leuten wie Elon Musk behaupten Informatiker, dass sie nicht auf der Suche nach diesem heiligen Korn sind und schon gar nicht in der Nähe davon.

Einfach ausgedrückt ist maschinelles Lernen die Praxis, beispielhafte Lernprozesse auf Computer anzuwenden. Dies steht im Gegensatz zu dem traditionellen Ansatz, sich darauf zu verlassen, dass ein menschlicher Programmierer alle möglichen Szenarien und Hardcode-Regeln für sie in einem System ausarbeitet.

Ehrlich gesagt geht es darum, was maschinelles Lernen bedeutet: Tonnen und Tonnen und Tonnen von Daten an einen Computer weiterzuleiten, damit dieser aus Beispielen lernen kann (Versuch → Fehler → Vergleich → Verbesserung), anstatt sich auf den Quellcode zu verlassen.

Applications of Machine Learning

Also, wenn Machine Learning keine schwarze Magie ist und Terminatoren auch nicht hervorbringen werden, wofür ist es dann nützlich?

maschinelles Lernen

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

  • Klassifikation
  • Prognose

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

Manche interessante Anwendungen des maschinellen Lernens sind:

Spam-Filterung

E-Mail-Spam ist allgegenwärtig, aber der Versuch, es zu stoppen, kann ein Albtraum sein. Wie wird Spam definiert? Ist es das Vorhandensein bestimmter Schlüsselwörter? Oder vielleicht so, wie es geschrieben ist? Es ist schwierig, sich programmtechnisch ein erschöpfendes 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. Dies war das Geheimnis hinter den hervorragenden Spam-Filtern von Gmail, 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 "nützlich" finden könnten, unglaublich genau, obwohl wir noch nie zuvor auf diesen Artikel geklickt haben.

Zufall? Überhaupt nicht!

Maschinelles Lernen ist hier eine harte Arbeit, die Terabyte nach Terabyte an Daten verschlingt und versucht, unsere volatilen Stimmungen und Vorlieben vorherzusagen.

Chatbots

Sind Sie auf Kundenbetreuung der ersten Ebene gestoßen, die seltsamerweise roboterhaft wirkte und dennoch interessante Smalltalks führen konnte?

chatbot-illustration

Nun, dann wurden Sie von maschinellem Lernen beeindruckt!

Aus Gesprächen lernen und bestimmen, was wann zu sagen ist, ist ein bevorstehender und aufregender Bereich von Chatbot-Anwendung.

Unkrautentfernung

In der Landwirtschaft werden Roboter, die durch maschinelles Lernen angetrieben werden, verwendet, um Unkraut und andere unerwünschte Pflanzen selektiv inmitten von Pflanzen zu besprühen.

Dies müsste sonst von Hand erfolgen oder wäre sehr verschwenderisch, da das System das Produkt auch mit der Killerflüssigkeit besprühen würde!

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 nicht vermasseln (na ja, fast!).

Google-Sprachsuche

Einige mögen argumentieren, dass es eine Erfindung ist, die am besten vermieden werden sollte, da sie die menschliche Rasse fauler denn je macht, aber Sie können nicht mit der Wirksamkeit argumentieren.

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öntgenstrahlen usw.

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

Dies war nur ein Beispiel dafür, wofür maschinelles Lernen verwendet wird. Selbstfahrende Autos, Bots für Strategiespiele, T-Shirt-Faltmaschinen, Captcha-Breaking und das Ausmalen von Schwarz-Weiß-Fotos gibt es heutzutage.

Types of Machine Learning

Es gibt zwei Arten von Techniken des maschinellen Lernens.

Überwachtes Lernen, in dem das System durch menschliches Urteil gesteuert wird, und Unbeaufsichtigtes Lernen, bei dem das System ganz allein lernen muss. Anders ausgedrückt: Beim Supervised Learning haben wir einen Datensatz, 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 vorhandenen Ergebnisse, an denen gemessen werden könnte, sodass die Ergebnisse stark variieren können.

Eine aufregende und knochenfrohe Anwendung des unbeaufsichtigten maschinellen Lernens?

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

Wenn Sie auf einem Computer arbeiten, der leistungsfähig genug ist, kann in wenigen Stunden eine weltbeste KI vorbereitet werden!

Die folgenden Bilder veranschaulichen diese Ideen kurz und bündig (Quelle: Mittel):

überwachtes maschinelles Lernen
Unüberwachtes maschinelles Lernen

Resources for getting started in Machine Learning

Nun, da Sie alle mit maschinellem Lernen beschäftigt sind und wie es Ihnen helfen kann, die Welt zu erobern, wo sollen Sie anfangen?

Im Folgenden habe ich einige fantastische Ressourcen im Web aufgelistet, die Ihnen dabei helfen können, maschinelles Lernen ohne einen Doktortitel fließend zu beherrschen. in der Informatik! Wenn Sie kein Machine Learning-Forscher sind, werden Sie das Gebiet des Machine Learning genauso praktisch und unterhaltsam finden wie das Programmieren im Allgemeinen.

Also mach dir keine Sorgen, egal auf welchem ​​Niveau du gerade bist, du kannst dich wie ein gutes maschinelles Lernprogramm selbst unterrichten und besser werden. 😛

# 1. Programmierung

Die erste Voraussetzung für den Einstieg in das maschinelle Lernen ist das Programmieren. Das liegt daran, dass maschinelle Lernsysteme in Form von Bibliotheken für verschiedene Programmiersprachen.

Python ist das am meisten empfohlene, teilweise weil es unglaublich angenehm zu lernen ist und teilweise weil es ein riesiges Ökosystem an Bibliotheken und Ressourcen hat.

Python-Programmierung

Auch der offiziell Der Anfängerleitfaden ist ein guter Ausgangspunkt, auch wenn Sie mit Python ein wenig vertraut sind. Oder nimm das Bootcamp Kurs ein Held von Null werden.

# 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 Kostenlos und als PDF zum Download verfügbar. Denken Sie an Statistiken und Denken Sie an Bayes sind zwei moderne Klassiker, die jeder angehende Ingenieur für maschinelles Lernen verinnerlichen sollte.

# 3. Udemy

An dieser Stelle würde ich empfehlen, ein paar Kurse von zu belegen Udemy. Das interaktive Format im eigenen Tempo hilft Ihnen dabei, sich auf das Wesentliche einzulassen und Vertrauen aufzubauen.

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

udemy-maschinelles lernen

Sie können auch kostenlos auf YouTube tolle Tutorials finden. Senddex Ist ein solcher Kanal, den ich empfehlen kann, bei dem immer viel Spaß gemacht wird, aber sein Ansatz ist nicht anfängerfreundlich.

# 4. Andrew Ng |

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

coursera-maschinelles lernen

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 gottgleiche Statur erlangt, und die Leute sehen zu ihm auf, um ultimative Weisheit zu erhalten (ich mache keine Witze!).

Dies ist kein Kurs für Anfänger, aber wenn Sie bereits gut im Data Wrangling sind und sich nicht um ein bisschen Nebenrecherche kümmern, ist dieser Kurs die beste Empfehlung.

# 5. Udacity

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

Kühnheit-ml-Nanograd

Es wird ungefähr 3 Monate dauern, um den Kurs abzuschließen und zu beenden. Es wird erwartet, dass Sie eine gute Vorstellung von maschinellen Lernalgorithmen haben, wie man sie modelliert und in der Produktion einsetzt.

Fazit

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

Daher möchte ich Sie vor Selbstzerstörung warnen: Halten Sie Ihr Ziel bescheiden und bewegen Sie sich in minimalen Schritten. Maschinelles Lernen ist nichts, womit Sie sich innerhalb von ein oder zwei Tagen anfreunden können, aber schon bald werden Sie Spaß haben, und wer weiß, vielleicht sogar etwas erschreckendes erschaffen!

Habe Spaß! 🙂