Alles keine Rocket Science?
Keine Angst – dies wird keine Mathematikvorlesung. Vielmehr soll dieser Artikel mit einigen Mythen rund um Artificial Intelligence und Machine Learning aufräumen. Allzu oft wird gerade im Marketingumfeld künstliche Intelligenz als „Zauberkasten“ verkauft, mit dem auf mystische Art und Weise viele Probleme und Herausforderungen ganz automatisch gelöst werden können. Doch auch hier wird natürlich nur mit Wasser gekocht – beziehungsweise mit Mathematik, denn genau die ist es, die hinter dem maschinellen Lernen steckt.
Dieser Artikel will und kann keine umfassende Einführung in die Theorie des Machine Learnings sein. Vielmehr geht es darum, einen bodenständigen Einblick zu geben, um ein Basisverständnis der mathematischen Hintergründe zu erlangen.
In unserem Einführungsartikel haben wir uns bereits ein einfaches Beispiel eines Regressionsproblems angeschaut. Hierbei ging es um die Vorhersage des Bestellvolumens in einem Online-Shop basierend auf dem Alter des Users. Falls Sie unseren Einführungsartikel noch nicht kennen, lesen Sie dies am besten vorab, da hier einige Begriffe erklärt werden, die auch in diesem Artikel verwendet werden.
Es handelt sich hierbei natürlich um ein stark vereinfachtes Beispiel, welches sich jedoch gut für einen ersten Einblick eignet. In der Praxis würden neben dem Alter sicherlich viele weitere Features für das Machine Learning verwendet werden.
Schauen wir uns zunächst einmal unsere Bestandsdaten an. Wir haben Wertepaare, bestehend aus dem Alter eines Users und dem Bestellvolumen. Es handelt sich somit um gelabelte Daten.
Vereinfacht ausgedrückt: Wir suchen eine Kurve, die mit möglichst geringem Abstand durch die Punkte in unserem Koordinatensystem verläuft. Wie könnten wir das schaffen?
Versuchen wir es zunächst mit einem Polynom ersten Grades:
hθ(x) = θ0 + θ1x
Na, erinnern Sie sich an die Schulzeit? Schauen wir einmal, wie wir mit einer solchen Gleichung eine gute Annäherung an unsere Trainingsdaten erreichen können:
Durch das Training werden nun bestmöglich Werte für θ0 und θ1 ermittelt. Damit können wir Geraden, beispielsweise wie in folgender Grafik, erzeugen. Die unterschiedlichen Farben repräsentieren dabei verschiedene Werte für θ0 und θ1:
Sie ahnen es bereits: Sonderlich präzise ist das nicht. Schauen wir einmal, ob uns ein Polynom zweiten Grades hier weiterhilft:
hθ(x) = θ0 + θ1x + θ2x2
Mit dieser Formel klappt es schon wesentlich besser mit der Annäherung. Abhängig von θ0, θ1 und θ2 entstehen unterschiedliche Parabeln:
Auch hier ermitteln wir durch das Training wieder Werte für θ0, θ1 und θ2, die eine bestmögliche Annäherung an unsere Trainingsdaten ermöglichen. Wie Sie sehen, klappt das mit der grünen oder violetten Kurve bereits ganz gut.
Im Trainingsprozess werden durch Gradientenabstiegsverfahren die Werte für θ0, θ1 und θ2 ermittelt, die eine möglichst geringe Abweichung zwischen unseren Trainingsdaten und der jeweils aus unserer Formel ermittelten „Kurve“ ergeben:
Kurz zusammengefasst funktioniert das so:
Sie haben recht: Eigentlich ist das ganz einfach. Zugegeben, unser Beispiel war sehr simpel und sollte zunächst wirklich die elementaren Grundlagen des Machine Learnings illustrieren. Es gibt viele weitere Themen, die hier im echten Leben berücksichtigt werden müssen. Zudem haben Sie im Regelfall ein multidimensionales Konstrukt, da eben wesentlich mehr Features berücksichtigt werden müssen. In diesem Beispiel haben wir uns hier als zu berücksichtigendes Feature lediglich auf das Alter beschränkt. Übrigens: Die entsprechenden Berechnungen werden mit Matrixoperationen durchgeführt – darauf soll in diesem kurzen Artikel jedoch nicht im Detail eingegangen werden.
Noch ein Hinweis an alle Matheprofis: Ja, dieser Artikel lässt bewusst einige Details (wie z.B. Regularisierung, Over- oder Underfitting) aus, da er lediglich ein Basisverständnis für Grundlagen des Machine Learnings vermitteln soll. Die wichtigste Botschaft ist: Machine Learning ist kein Hexenwerk, sondern bedient sich ganz bodenständiger Methoden.
Was ist eigentlich mit den neuronalen Netzen? Davon sprechen doch alle, wenn es um künstliche Intelligenz geht.
Künstliche neuronale Netze bestehen aus mehreren Neuronen, die im Regelfall in mehreren Layern angeordnet sind. Man spricht hier auch vom sogenannten „Deep Learning“. Durch die mehrere Knoten und Layer werden im Regelfall bessere Resultate generiert, gerade, wenn es sich um komplexere Sachverhalte handelt. Aber auch hier spielt wieder reine Mathematik im Hintergrund – etwas komplexer als in unserem Beispiel – jedoch auch ohne „Rocket Science“.
Schauen Sie sich doch einmal den Google Tensorflow Playground an. Hier können Sie nach Herzenslust mit neuronalen Netzen spielen. Bei Fragen rufen Sie mich gerne an:
Lesen Sie weitere Artikel zu Artificial Intelligence und Machine Learning auf unserem Blog. Einige Artikel sind bereits in den letzten Wochen erschienen, andere werden in den kommenden Wochen veröffentlicht werden:
Haben Sie Fragen, oder möchten Sie weitere Details zu den vorgestellten Themen mit mir besprechen? Kontaktieren Sie mich jederzeit über unser Kontaktformular oder rufen Sie mich unter 04121 6460410 an. Von der Anforderungsanalyse bis hin zum Rollout unterstützt Sie die rb omnichannel GmbH gerne.
Herzliche Grüße
Ihr Roland Bühler