Python-Programmier-Tutorials
Praktisches Machine Learning Tutorial mit Python Einführung
- Installieren Sie numpy, matplotlib, pandas, sklearn und deren Abhängigkeiten
pip install numpy
pip install scipy
pip install scikit-learn
pip install matplotlib
pip install pandas
Brauchen Sie Hilfe bei der Installation von Paketen mit pip? see the pip install tutorial
Hallo Mädels und Jungs, willkommen zu einem tiefgehenden und praktischen Kurs über maschinelles Lernen.
Das Ziel dieses Kurses ist es, Ihnen ein ganzheitliches Verständnis von maschinellem Lernen zu vermitteln, das die Theorie, die Anwendung und das Innenleben von überwachten, unüberwachten und tiefen Lernalgorithmen umfasst.
In dieser Reihe werden wir lineare Regression, K Nearest Neighbors, Support Vector Machines (SVM), flaches Clustering, hierarchisches Clustering und neuronale Netze behandeln.
Für jeden wichtigen Algorithmus, den wir behandeln, werden wir die Intuitionen der Algorithmen auf hoher Ebene diskutieren und wie sie logisch funktionieren sollen. Als Nächstes werden wir die Algorithmen in Code anwenden, indem wir reale Datensätze zusammen mit einem Modul verwenden, z. B. mit Scikit-Learn. Zum Schluss werden wir in das Innenleben der einzelnen Algorithmen eintauchen, indem wir sie von Grund auf selbst in Code nachbilden, einschließlich aller involvierten mathematischen Verfahren. Das sollte Ihnen ein vollständiges Verständnis dafür vermitteln, wie die Algorithmen genau funktionieren, wie sie optimiert werden können, welche Vorteile sie haben und was ihre Nachteile sind.
Um der Serie folgen zu können, sollten Sie zumindest ein Grundverständnis von Python haben. Wenn Sie das nicht haben, empfehle ich Ihnen, zumindest dem Tutorial Python 3 Grundlagen bis zum Tutorial Modulinstallation mit pip zu folgen. Wenn Sie über ein grundlegendes Verständnis von Python verfügen und die Bereitschaft haben, zu lernen und Fragen zu stellen, werden Sie in der Lage sein, hier ohne Probleme mitzuarbeiten. Die meisten Algorithmen des maschinellen Lernens sind eigentlich recht einfach, da sie für die Skalierung auf große Datensätze notwendig sind. Die involvierte Mathematik ist typischerweise lineare Algebra, aber ich werde mein Bestes tun, um trotzdem alle mathematischen Zusammenhänge zu erklären. Wenn Sie verwirrt/verloren/neugierig auf etwas sind, fragen Sie in den Kommentaren auf YouTube, in der Community hier oder per E-Mail an mich. Sie benötigen außerdem Scikit-Learn und Pandas, zusammen mit anderen Programmen, die wir auf dem Weg mitnehmen werden.
Maschinelles Lernen wurde 1959 von Arthur Samuel als das „Studiengebiet, das Computern die Fähigkeit gibt, zu lernen, ohne explizit programmiert zu werden“ definiert. Das bedeutet, dass man Maschinen Wissen einimpft, ohne es hart zu kodieren. Nach meiner persönlichen Erfahrung glauben Menschen außerhalb der Programmiergemeinde hauptsächlich, dass maschinelle Intelligenz hart kodiert ist, und sind sich der Realität des Feldes überhaupt nicht bewusst. Eine der größten Herausforderungen, die ich mit maschinellem Lernen hatte, war die Fülle an Material über den Lernteil. Man kann Formeln, Diagramme, Gleichungen und einen Haufen Theorie zum Thema maschinelles Lernen finden, aber sehr wenig über den eigentlichen „Maschinen“-Teil, bei dem man die Maschine tatsächlich programmiert und die Algorithmen auf realen Daten laufen lässt. Das liegt vor allem an der Historie. In den 50er Jahren waren Maschinen ziemlich schwach und kaum vorhanden, was ein halbes Jahrhundert lang der Fall blieb. Maschinelles Lernen wurde hauptsächlich als theoretisch angesehen und nur selten tatsächlich eingesetzt. Die Support Vector Machine (SVM) zum Beispiel wurde 1963 von Vladimir Vapnik in der Sowjetunion entwickelt, blieb aber bis in die 90er Jahre weitgehend unbeachtet, als Vapnik von Bell Labs aus der Sowjetunion in die Vereinigten Staaten abgeworben wurde. Das neuronale Netzwerk wurde in den 1940er Jahren entwickelt, aber die Computer waren damals nicht annähernd leistungsfähig genug, um sie gut auszuführen, und sind es auch bis in die jüngste Zeit nicht gewesen.
Die „Idee“ des maschinellen Lernens ist im Laufe der Geschichte ein paar Mal aufgetaucht und wieder verschwunden, wobei die Leute jedes Mal dachten, es sei nur eine Modeerscheinung. Erst in jüngster Zeit sind wir wirklich in der Lage, maschinelles Lernen in einem vernünftigen Rahmen zu testen. Heutzutage kann man einen 100.000-Dollar-GPU-Cluster für ein paar Dollar pro Stunde aufsetzen und mieten, wovon Doktoranden noch vor 10 Jahren träumten. Das maschinelle Lernen bekam Mitte der 2000er Jahre einen weiteren Aufschwung und ist seitdem auf dem Vormarsch, wobei es im Allgemeinen auch vom Mooreschen Gesetz profitiert. Darüber hinaus gibt es reichlich Ressourcen, die Ihnen auf Ihrer Reise mit maschinellem Lernen helfen, wie z. B. dieses Tutorial. Sie können einfach eine Google-Suche zum Thema durchführen und finden mehr als genug Informationen, um sich eine Weile damit zu beschäftigen.
Das geht so weit, dass wir jetzt Module und APIs zur Verfügung haben und Sie sich sehr einfach mit maschinellem Lernen beschäftigen können, ohne auch nur ansatzweise zu wissen, wie es funktioniert. Mit den Standardeinstellungen von Scikit-learn können Sie bei vielen Aufgaben auf Anhieb eine Genauigkeit von 90-95% erreichen. Maschinelles Lernen ist ähnlich wie ein Auto, man muss nicht viel darüber wissen, wie es funktioniert, um eine unglaubliche Menge an Nutzen daraus zu ziehen. Wenn Sie jedoch die Grenzen der Leistung und Effizienz ausreizen wollen, müssen Sie unter die Motorhaube gehen, und darauf ist dieser Kurs ausgerichtet. Wenn Sie nur ein schnelles Tutorial für die Anwendung von maschinellem Lernen auf Daten suchen, habe ich bereits ein einfaches Klassifizierungsbeispiel-Tutorial und ein einfaches Clustering-Beispiel (unüberwachtes maschinelles Lernen), die Sie sich ansehen können.
Trotz des offensichtlichen Alters und der Reife des maschinellen Lernens würde ich sagen, dass es keinen besseren Zeitpunkt als jetzt gibt, um es zu lernen, da Sie es tatsächlich nutzen können. Maschinen sind ziemlich leistungsfähig, diejenige, an der Sie arbeiten, kann wahrscheinlich das meiste aus dieser Serie schnell erledigen. Daten sind in letzter Zeit auch sehr reichlich vorhanden.
Das erste Thema, das wir behandeln werden, ist Regression, womit wir im nächsten Tutorial weitermachen werden. Stellen Sie sicher, dass Sie Python 3 installiert haben, zusammen mit Pandas und Scikit-Learn.
Das nächste Tutorial: Regression – Intro und Daten