Maschinelles Lernen mit Python 1

zurück zu HeliHuBot Planung und Umsetzung


Bevor wir uns den ausgewählten Python-Modulen zuwenden ein kurzer Überblick über die kommenden Inhalte, also die Lernmethoden. Ich werde kurz auf supervised, unsupervised und reinforcement learning und wichtige Grundbegriffe eingehen, bevor ich die Installation der Python packages beschreibe.

Supervised learning

Mittels supervised learning gelangt man zu predictions für neue Daten, indem man ein Model mit labeled training data trainiert.

Siehe dazu auch Supervised vs Unsupervised Learning
Beim supervised learning sind vor allem die Classification (um class labels vorauszusagen) und die Regression hervorzuheben.

Da wir später noch ausführlich auf die Algorithmen mit anschaulichen Beispielen zurückkommen werde, begnüge ich mich hier mit dem Überblick zu Überwachtes Lernen auf Wikipedia:

und der Erwähnung der Regressionsanalyse bzw. regression analysis.


Unsupervised Learning

Beim Unsupervised Learning bzw. Unüberwachdem Lernen haben wir hingegen nur unlabeled data oder Daten mit unbekannter Struktur zur Verfügung und wir sollen daraus sinnvolle Information oder eine Struktur bekommen, die vom strukturlosen Rauschen signifikant abweichen, ohne eine bekannte Output-Variable und ohne Belohnungsfunktion.
Ein Künstliches neuronales Netz orientiert sich an der Ähnlichkeit zu den Inputwerten und adaptiert die Gewichte entsprechend. Beliebt sind auch die automatische Segmentierung (Clustering) oder die Komprimierung von Daten zur Dimensionsreduktion.
Bei der Clusteranalyse können nicht einfach labeled data einer Klasse zugeordnet werden, sondern das Ziel ist, neue Gruppen in den Daten zu identifizieren.


Reinforcement Learning

Reinforcement learning bzw. Be- oder Verstärkendes Lernen hat als Ziel ein System zu entwickeln (einen Agenten), das seine Perfomance auf Grund einer Interaktion mit der Umgebung verbessern soll. Dabei wird dem Agenten nicht vorgezeigt, welche Aktion in welcher Situation die beste ist, sondern er erhält zu bestimmten Zeitpunkten eine Belohnung, die auch negativ sein kann. Anhand dieser Belohnungen approximiert er eine Nutzenfunktion, die beschreibt, welchen Wert ein bestimmter Zustand oder Aktion hat.  Also eine Interaktion eines lernenden Agenten mit seiner Umwelt.  Diese ist dabei als Markow-Entscheidungsproblem bekannt. So besitzt die Umwelt eine Menge von Zuständen . Der Agent kann situativ, , eine Aktion,  , aus einer Menge von verfügbaren Aktionen wählen, wodurch er in einen Folgezustand  gelangt und eine Belohnung  erhält.

Ziel des Agenten ist es, den zukünftig erwarteten Gewinn

 mit  zu maximieren.

 

Ein gutes Beispiel für reinforced learning ist ein Schachprogramm, wobei die Belohnung (reward) der Sieg oder die Niederlage ist.


Python Packages

Python ist für alle bedeutenden Betriebssysteme erhältlich, siehe https://www.python.org/.
Ich verwende Python 3.6.6 auf Ubuntu 18.04 für die folgenden Beispiele und Artikel. Falls sie auch Python 2.x am System haben, können Sie für python3 python3-pip verwenden – einfach mit sudo apt-get install python3-pip installieren und dann mit pip3 install PackageName die gewünschten packages installieren.

  • NumPy-1.15.2
  • SciPy-1.1.0
  • scikit-learn-0.20.0
  • matplotlib-3.0.0
  • pandas-0.23.4

Dieser Artikel soll nur eine kurze Einführung sein, aber im nächsten wird es dann wirklich richtig spannend und interessant, denn da werden wir uns ersten praktischen Beispielen widmen und einen Blick auf ein künstliches Neuron werfen, bevor wir uns dann mit den Python packages anfreunden werden.


Weblinks
Labeled data
List of datasets for machine learning research
Supervised learning
What is the difference between labeled and unlabeled data?
Collecting Labeled Data
Statistical classification
Understanding ML Prediction with a Practical Facial Recognition Metaphor
Vorhersagen – Grundlagen
How to do online prediction with BigQuery ML
Markow-Entscheidungsproblem
Step 5: Use the ML Model to Generate Predictions20 APIs that prove what ML and prediction is capable ofhttps://www.youtube.com/watch?v=qkcFRr7LqAw
https://courses.cognitiveclass.ai/courses/course-v1:CognitiveClass+ML0101ENv3+2018/courseware/407a9f86565c44189740699636b4fb85/
Machine Learning: Classification Models
Machine Learning Classifiers
https://www.youtube.com/watch?v=44jq6ano5n0
https://www.youtube.com/watch?v=1i0zu9jHN6U
Unüberwachtes Lernen
Unsupervised learning
Unsupervised Learning with PythonClusteranalyse

Weitere Quellen
Künstliche Intelligenz von Stuart Russell und Peter Norvig; ISBN 978-3-86894-098-5
Python Machine Learning von Sebastian Raschka; ISBN 978-1-78355-513-0
Neuronale Netze von Günter Daniel Rey und Karl F. Wender; ISBN 978-3-456-54881-5

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert