Die von der britischen Komikergruppe Monty Python inspirierte Programmiersprache Python gibt es schon seit etwas mehr als 30 Jahren, aber erst in den letzten zehn Jahren ist sie bekannt und beliebt geworden. Ihr fragt euch warum?

Der niederländische Softwareentwickler und wohlwollender Diktator auf Lebenszeit Guido van Rossum verrät, dass Python aus Frust über die im Jahr 1989 existierenden, viel zu komplizierten Programmiersprachen wie ABC entstand und einfacher sein sollte als Pascal und BASIC.

Ihr dürft nicht vergessen, dass Computer zu dieser Zeit nicht für die breite Masse zugänglich waren – der öffentliche Zugang zum World Wide Web lag noch vier Jahre in der Zukunft und künstliche Intelligenz blieb im Reich des Science Fiction.

Dank verblüffender Fortschritte in verschiedenen technologischen Bereichen befinden sich selbstfahrende Autos in der Testphase und Roboter, die fühlen können, sind eine ernsthafte Möglichkeit. Damit diese Maschinen zur Realität werden, müssen sie aus ihren Erfahrungen lernen und darauf konditioniert werden, Entscheidungen auf Grundlage dieser Erfahrung zu treffen.

Das ist, kurz gefasst, die Definition von maschinellem Lernen und Python ist wohl die beste Sprache dafür.

Vielleicht denkt ihr jetzt, dass Python nach jahrzehntelangem Warten endlich seine Bestimmung gefunden hat – was auch die plötzliche Beliebtheit dieser Programmiersprache erklären würde. Vielleicht denkt ihr aber auch das Gegenteil. Lasst euch von Superprof helfen, diese Unsicherheit abzulegen.

Die besten Lehrkräfte verfügbar
Katinka
5
5 (30 Bewertungen)
Katinka
33€
/h
Gift icon
1. Unterrichtseinheit gratis!
Stergios
Stergios
60€
/h
Gift icon
1. Unterrichtseinheit gratis!
Irina
5
5 (2 Bewertungen)
Irina
35€
/h
Gift icon
1. Unterrichtseinheit gratis!
Matthias
5
5 (30 Bewertungen)
Matthias
90€
/h
Gift icon
1. Unterrichtseinheit gratis!
Bami
4,9
4,9 (5 Bewertungen)
Bami
20€
/h
Gift icon
1. Unterrichtseinheit gratis!
Lucas
5
5 (25 Bewertungen)
Lucas
70€
/h
Gift icon
1. Unterrichtseinheit gratis!
Viktor
5
5 (141 Bewertungen)
Viktor
70€
/h
Gift icon
1. Unterrichtseinheit gratis!
Caro
4,9
4,9 (43 Bewertungen)
Caro
25€
/h
Gift icon
1. Unterrichtseinheit gratis!
Julia
5
5 (16 Bewertungen)
Julia
45€
/h
Gift icon
1. Unterrichtseinheit gratis!
Raphaël
5
5 (22 Bewertungen)
Raphaël
50€
/h
Gift icon
1. Unterrichtseinheit gratis!
Olga
5
5 (7 Bewertungen)
Olga
80€
/h
Gift icon
1. Unterrichtseinheit gratis!
Moritz
Moritz
80€
/h
Gift icon
1. Unterrichtseinheit gratis!
Eleonora
5
5 (7 Bewertungen)
Eleonora
30€
/h
Gift icon
1. Unterrichtseinheit gratis!
Peter
4,9
4,9 (8 Bewertungen)
Peter
40€
/h
Gift icon
1. Unterrichtseinheit gratis!
Alexandra
5
5 (46 Bewertungen)
Alexandra
25€
/h
Gift icon
1. Unterrichtseinheit gratis!
Fernando
5
5 (50 Bewertungen)
Fernando
23€
/h
Gift icon
1. Unterrichtseinheit gratis!
Katinka
5
5 (30 Bewertungen)
Katinka
33€
/h
Gift icon
1. Unterrichtseinheit gratis!
Stergios
Stergios
60€
/h
Gift icon
1. Unterrichtseinheit gratis!
Irina
5
5 (2 Bewertungen)
Irina
35€
/h
Gift icon
1. Unterrichtseinheit gratis!
Matthias
5
5 (30 Bewertungen)
Matthias
90€
/h
Gift icon
1. Unterrichtseinheit gratis!
Bami
4,9
4,9 (5 Bewertungen)
Bami
20€
/h
Gift icon
1. Unterrichtseinheit gratis!
Lucas
5
5 (25 Bewertungen)
Lucas
70€
/h
Gift icon
1. Unterrichtseinheit gratis!
Viktor
5
5 (141 Bewertungen)
Viktor
70€
/h
Gift icon
1. Unterrichtseinheit gratis!
Caro
4,9
4,9 (43 Bewertungen)
Caro
25€
/h
Gift icon
1. Unterrichtseinheit gratis!
Julia
5
5 (16 Bewertungen)
Julia
45€
/h
Gift icon
1. Unterrichtseinheit gratis!
Raphaël
5
5 (22 Bewertungen)
Raphaël
50€
/h
Gift icon
1. Unterrichtseinheit gratis!
Olga
5
5 (7 Bewertungen)
Olga
80€
/h
Gift icon
1. Unterrichtseinheit gratis!
Moritz
Moritz
80€
/h
Gift icon
1. Unterrichtseinheit gratis!
Eleonora
5
5 (7 Bewertungen)
Eleonora
30€
/h
Gift icon
1. Unterrichtseinheit gratis!
Peter
4,9
4,9 (8 Bewertungen)
Peter
40€
/h
Gift icon
1. Unterrichtseinheit gratis!
Alexandra
5
5 (46 Bewertungen)
Alexandra
25€
/h
Gift icon
1. Unterrichtseinheit gratis!
Fernando
5
5 (50 Bewertungen)
Fernando
23€
/h
Gift icon
1. Unterrichtseinheit gratis!
Und los geht's

Was heißt lernen?

Werft einen Blick zurück auf eure Lernerfahrungen. Niemand wird es euch übel nehmen, wenn das erste, was euch in den Sinn kommt, die Schule ist und zugegebenermaßen kommt es uns entgegen. Wie habt ihr in der Schule gelernt?

Eine Grundschulklasse sitzt auf dem Boden vor der Lehrerin, ein paar melden sich.
Man lernt nie aus! | Quelle: Unsplash

Jemand, meistens ein Lehrer, fütterte euch mit Infos, die ihr verarbeitet und abgespeichert habt. So weit, so gut; genau so programmiert man auch einen Computer. Der einzige Unterschied liegt darin, dass man nicht einzelne Wissensbrocken ohne Kontext serviert bekam – alles, was ihr gelernt habt, hing irgendwie zusammen und meistens lag es an einem selbst, diese Verbindungen herzustellen.

Geht nun noch ein bisschen weiter zurück – zu eurem Lernen vor der Schule. Wie habt ihr da gelernt?

Menschen (und Tiere) nehmen Informationen aus einer Vielzahl von Quellen auf und treffen auf der Grundlage ihrer Erfahrungen Entscheidungen. Fällt man hin und stößt sich den Kopf, tut das weh – also tun wir unser Bestes, uns nicht den Kopf zu stoßen. Schlägt und beißt man andere Kinder, bekommt man Ärger und vielleicht wird man sogar bestraft – so haben wir schnell gelernt, dass man andere Kinder nicht schlägt und beißt.

Wir lernen nicht nur durch negative Erfahrungen. Beobachtet mal, wie sich Eltern freuen, wenn ihr Kind seine ersten Schritte macht, zum ersten Mal selbstständig isst oder lernt, seine Bewegungen zu koordinieren.

Anerkennung und positive Bestärkung sind ein ebenso gutes Lehrmittel wie ihre negativen Gegenstücke – wenn nicht sogar das bessere. Ein Kind wiederholt also das, wofür es schon einmal belohnt wurde, um immer wieder positives Feedback zu bekommen.

Das Faszinierende an Kleinkindern, die solche Entscheidungen treffen, ist, dass sie nur wenige Erfahrungen oder Informationen haben, auf die sie sich stützen können. Aber was noch viel erstaunlicher ist, dass ihnen nie beigebracht wurde, wie man Entscheidungen trifft.

Maschinen sind nicht so.

Ein Laptop mit einem laufenden Computerprogramm, grüner und weißer Schrift auf schwarzem Hintergrund: Wie funktioniert maschinelles Lernen mit Python?
Menschen und Computer lernen ähnlich und unterschiedlich zugleich. | Quelle: Unsplash

Erstens haben sie nur eine Eingabequelle: ihre(n) Programmierer. Zweitens muss ihnen beigebracht werden, wie man Entscheidungen trifft. Wenn ihr mit Programmiersprachen vertraut seid, dann denkt an all die Befehle, die in jedem Code vorkommen wie „if/else“, „with“, „def“ und „try“.

Computer haben keinen Ansporn etwas zu lernen oder zu leisten. Sie können weder für gute Leistungen belohnt werden – zumindest nicht so, wie Menschen eine Belohnung definieren (dazu später mehr) – noch für schlechte Leistungen bestraft werden.

Sie verarbeiten die Daten, die sie erhalten, mit den Anweisungen, mit denen sie programmiert werden. Im Gegensatz zu fühlenden Wesen, deren Lernen durch Intuition statt Informationszufuhr gefördert wird, funktionieren Maschinen nur so, wie sie programmiert werden.

Obwohl Python von einer der größten Komikergruppe aller Zeiten inspiriert wurde, kann die mit Python programmierte Robotik niemals lernen, die Absurdität von Monty Python zu würdigen.

Dennoch ist das Programmieren von Maschinen sehr wertvoll, um zu lernen – lasst und herausfinden, wie sie es tun.

Findet gute Python-Kurse auf Superprof.

Wie Maschinen lernen

Maschinelles Lernen beginnt mit der Programmierung auf der Grundlage gewünschter oder erwarteter Ergebnisse bzw. der Erwartung, dass die Maschine eine vorgegebene Eingabe scannt, um selbst eine Struktur zu finden -  alle drei Anwendungen werden vor allem in der Statistik verwendet, um die Dichte kontinuierlicher Zufallsvariablen zu schätzen.

Diese drei Arten des Lernens werden als überwachtes Lernen, verstärkendes Lernen bzw. unüberwachtes Lernen bezeichnet.

Die Art des maschinellen Lernens, mit der ihr wahrscheinlich am meisten vertraut seid, ganz unabhängig davon, ob ihr sie explizit kennt oder nicht, ist die des bestärkenden Lernens. Dabei interagiert eine Maschine mit einer dynamischen Umgebung, in der sie eine Reihe von Aktionen ausführen muss.

Schauen wir uns doch einmal selbstfahrende und -parkende Autos. Beide erfordern ein dynamisches Umfeld, in dem sie Entscheidungen treffen und Handlungen ausführen müssen. Bei selbstparkenden Autos ist die Umgebung, in der sie operieren, ziemlich begrenzt: Die Geschwindigkeit des Fahrzeugs ist geringer als beim Fahren, der Raum, in dem es sich bewegt, ist kleiner und die potenziellen Risken sind leichter zu analysieren.

Demgegenüber steht die riesige Datenmenge, die selbstfahrende Autos verarbeiten müssen. Von Fußgängern und anderen fahrenden Fahrzeugen bis hin zu den Fahrspuren und Ampeln – bei der Entscheidungsfindung werden die nicht relevanten Daten von den selbstfahrenden Autos verworfen.

Findet gute Python-Kurse hier auf Superprof!

Es ist großartig, dass wir die Technologie haben, um sogar einen Prototyp eines selbstfahrenden Autos zu bauen, allerdings ist der Lernaufwand dieser Autos noch so groß, dass wir auf jeden Fall noch eine Zeit lang selbst fahren müssen. Oder müssen wir nur unsere Fähigkeiten im Bereich des bestärkenden Lernens ausbauen?

Wie vorhin schon erwähnt, können Bestrafung und Belohnung Verhaltensweisen verstärken. Wisst ihr, worauf wir hinauswollen?

Beim bestärkenden Lernen können Maschinen für jede positiv bewertete Aktion eine Belohnung erwarten. Alle Belohnungen hier aufzuführen, wäre zu umfangreich, halten wir einfach fest, dass diese Belohnungen kumulativ sind, d. h. je mehr gewünschte Reaktionen, desto größer ist die Belohnung für die Maschine nachdem sie eine bestimmte Aufgabe abgeschlossen hat.

Das macht das verstärkende Lernen zum idealen Lehrmittel für selbstfahrende Autos sowie für Computerspiele wie AlphaGo und Deep Blue, den Schachcomputer von IBM.

Auch ein gutes Python-Tutorial findet ihr hier auf Superprof.

Python und maschinelles Lernen

Wie vorhin erwähnt, ist die Zeit von Python gekommen, was durch die umfangreiche Bibliothek von Softwarepaketen bestätigt wird, die verschiedene Funktionen aus verschiedenen Bereichen abdecken:

  • grafische Benutzeroberflächen (GUIs)
  • Computervernetzung
  • Multimedia
  • Datenanalytik
  • Datenbankverwaltung
  • wissenschaftliches Rechnen
  • Screen Scraping
Ein Bildschirm mit unterbrochenen grünen und roten Linien auf weißem Hintergrund, die steigende und sinkende Kurven implizieren.
Unter den verschiedenen Softwarepaketen findet jeder etwas. | Quelle: Unsplash

Und natürlich das maschinelle Lernen. Das ist nur eine kurze Liste von Python-Anwendungen. Im März 2021 listete der Python Package Index (PyPl) mehr als 290.000 Softwarepakete auf, die eine Vielzahl von funktionalen Anforderungen erfüllen.

Fragt ihr euch nicht, wie Python und Data Science zusammenarbeiten können?

Um zu verstehen, wie das möglich ist, müsst ihr wissen, dass Python modular ist. Es enthält Hunderttausende bereits geskriptete Module, die als Erweiterung von Pythons Kernsprache dienen und im Zusammenspiel mit komplexeren Programmiersprachen funktionieren sollen.

Die Python-Bibliotheken – darunter TensorFlow, Scikit-learn und PyTorch – bieten Programmierenden eine Auswahl an Werkzeugen für die Entwicklung ihrer Projekte im Bereich der künstlichen Intelligenz und des maschinellen Lernens.

Ihr müsst unbedingt wissen, was Python in der Webentwicklung alles leisten kann!

Warum sich Python für maschinelles Lernen am besten eignet

Es gibt viele Programmiersprachen, aber warum ist gerade Python für maschinelles Lernen so gut geeignet?

Es ist einfach und leicht zu bedienen.

Ein Hund der Rasse Spitz sitzt mit Lesebrille vor einem Tablet.
Ob für Anfänger oder Fortgeschrittene - Python eignen sich für alle Niveaus. | Quelle: Unsplash

Während viele Sprachen mit Syntax überfrachtet sind, ist Python übersichtlich und funktional. Wenn ihr zum Beispiel ein Programm schreiben wolltet, das eine Reihe von Aufgaben ausführt oder ein bestimmtes Ergebnis in einer anderen Programmiersprache liefert, müsstet ihr normalerweise den gesamten Code abtippen oder ihn aus einer Code-Bibliothek ausleihen und an eure Bedürfnisse anpassen.

Aber nicht mit Python. Es wurde bereits die umfangreiche Bibliothek an Modulen erwähnt, die jeweils für eine bestimmte Aufgabe oder eine Reihe von Aufgaben geskriptet wurden. Hier müsst ihr nur die Bibliothek durchsuchen, um das, was ihr wollt einzubauen.

Einige Programmiersprachen eignen sich für ein einziges Paradigma – Aktion, Logik, Datenfluss oder ereignisgesteuert.

Python unterstützt viele Paradigmen. Es kann in Anwendungen genutzt werden, die Logik erfordern oder eine Anwendungsprogrammierschnittstelle (API) steuern.

Zudem ist Python objektorientiert. Die verschiedenen „Objekte“ (Datenfelder, Variablen und auch Codes) interagieren miteinander und können sogar das Basisprogramm verändern.

Wenn eine Maschine lernt, wäre es dann nicht eigentlich besser, sie könnte flexibel agieren, statt einem starren, festgelegten Satz von Anweisungen zu folgen?

Trotz seiner umfangreichen Anpassungsfähigkeit ist Python einfach in der Anwendung. Das ist nicht nur für unerfahrene Programmierer, die noch nicht das gesamte W3C-Lexikon auswendig gelernt haben, sondern auch für Neuentwickler. Durch die kurze Syntax und die leichte Lesbarkeit müssen keine neuen Mitarbeiter in ein Projekt eingewiesen werden - dank des modularen Aufbaus kann einfach eingegeben werden, was die Maschine tun soll und schon geht es los!

Und schließlich ist da noch die Python-Community.

Wir sprechen hier nicht nur von all den Pythonistas, also Programmierern, die von Python begeistert sind, obwohl sie einer der besten Gründe sind, sich für diese Sprache begeistern zu lassen. Neben ihnen gibt es viele andere, auf deren Unterstützung man zählen kann.

Python ist quelloffen. Da draußen gibt es unzählige Dokumentationen von Einzelpersonen, die ein Projekt ausprobiert haben und daran gescheitert sind, bis hin zu qualitativ hochwertigen Anleitungen und Analysen. Die Bibliothek wird ständig von Programmierern und Software-Ingenieuren erweitert.

Und? Denkt ihr schon darüber nach, wie und wo ihr Python einsetzen könntet?

>

Die Plattform, die Lehrkräfte und SchülerInnen miteinander verbindet

1. Unterrichtseinheit gratis

Du findest diesen Artikel toll? Vergib eine Note!

5,00 (1 Note(n))
Loading...