Wenn wir über maschinelles Lernen sprechen, reden wir oft auch über neuronale Netze. Doch wie bei vielen modernen analytischen Tools, die heute in der Industrie verwendet werden, reden wir über – und gebrauchen wir – neuronale Netze, ohne wirklich zu verstehen, wie sie eigentlich funktionieren. Heute haben wir uns dazu entschlossen, den Vorhang ein wenig zu lüften und Ihnen eine grundlegende Einführung darüber zu geben, was neuronale Netze sind, was sie können und wie sie das machen.
Neuronale Netze gehören in den mathematischen Bereich des maschinellen Lernens. Maschinelles Lernen ist – nach seiner grundlegendsten Definition – ein Weg, empirische Daten effizient darzustellen, um sie entweder zu verstehen, zu reproduzieren und zu verallgemeinern oder um bestimmte Muster zu erkennen. Das Ziel maschinellen Lernens ist es also, Daten in Gestalt von (mehreren) Gleichungen zusammenzufassen.
Ein ganz einfaches Beispiel für maschinelles Lernen wäre es, eine Reihe von Punkten auf einer geraden Linie zu messen. Die gerade Linie ist ein Modell für Daten, die wir gemessen haben. Wir verwenden eine einfache Gleichung, um die gerade Linie zu repräsentieren: „y“, die vertikalen Achse, ist gleich „m“, das Gefälle der Linie, multipliziert mit „x“, der horizontalen Achse, plus der Konstante „b“, also dem Schnittpunkt der Linie mit der vertikalen Achse. Somit ist y = mx + b eine Zusammenfassung der Daten, die zwei Parameter beinhalten: m und b. Weil die Messungen von x und y beide Messungenauigkeiten enthalten, enthalten die Modell-Parameter m und b Ungenauigkeiten. Das erlaubt dem Model, mit den Ungenauigkeiten von realen Datenerhebungen umzugehen.
Die Werte m und b von einem Satz empirischer Daten zu finden ist, wie gesagt, ein einfaches Beispiel für maschinelles Lernen. Tausende von Datenpunkten wurden zu zwei Parametern einer Gleichung reduziert.
Die Methode, die Parameter eines Modells aus den erhobenen Daten zu berechnen, nennt man einen Algorithmus. Neben dem Algorithmus, der nötig ist, um die Parameter eines Modells aus den Daten zu berechnen, benötigt das maschinelle Lernen oft auch noch einen zweiten Algorithmus, um die Parameter jeweils zu aktualisieren, sobald neue Daten verfügbar sind. Das ist nicht bei jedem Modell möglich. Wenn es jedoch möglich ist, stellt es einen großen Vorteil dar, weil das Aktualisieren der Parameter wesentlich schneller ist als anfängliche Lernen.
Die Art und Weise, wie eine Maschine lernt, ist nicht dieselbe Art, wie Menschen lernen, und dennoch ist es nützlich, sich dieser Analogie im Fall der neuronalen Netze zu bedienen.
Das Gehirn besteht im Wesentlichen aus einem Netz von Neuronen, die durch Synapsen verbunden sind. Jedes Neuron und jede Synapse sind für sich genommen recht einfache Objekte, aber wenn sie zu einem Netz zusammengebunden sind, werden sie in die Lage versetzt, einige erstaunlich komplexe Handlungen durchzuführen. Stellen Sie sich beispielsweise nur einmal vor, einen Namen mit dem Gesicht einer Person zu verbinden und diese Person dann mit allen Erinnerungen zu verknüpfen, die Sie von dieser Person gespeichert haben. Das alles passiert unbewusst, innerhalb von Bruchteilen einer Sekunde. So ähnlich funktioniert auch das neuronale Netz.
Weil eine Person nicht schon von Geburt an alle Leute kennt, die sie im Laufe ihres Lebens treffen wird, „lernt“ das neuronale Netz des Gehirns erst entsprechend den gemachten Erfahrungen und kann dieses erlernte Wissen dann jederzeit abrufen.
So ähnlich ist es mit künstlichen neuronalen Netzen. Man beginnt mit einem prototypischen neuronalen Netz, dem empirische Erfahrungen „eingespeist“ werden. Je mehr Erfahrungen dem neuronalen Netz angezeigt werden, desto besser kann es diese Erfahrungen darstellen und sie für die Zukunft bereit halten und abrufen.
Das Lernen einer oben beschriebenen geraden Linie ist ein einfaches Beispiel für maschinelles Lernen. Neuronale Netzwerke sind jedoch in der Lage, extrem komplexe Datensätze abzubilden.
Ein neuronales Netz besteht aus Knotenpunkten, die miteinander verbunden sind (nicht unähnlich den Gehirn-Neuronen, die durch Synapsen verknüpft sind). Die (Input-) Daten werden dem Netz an speziellen Knotenpunkten eingespeist und reisen dann durch das Netz. Jedesmal, wenn eine Dateninformation durch eine Verbindung fließt oder auf einen Knotenpunkt trifft, wird sie entsprechend mathematischer Regeln verändert. Die veränderten (Output-) Daten verlassen das Netz an anderen speziellen Knotenpunkten. Jede Verbindung und jeder Knotenpunkt enthält Parameter, die genau spezifizieren, was an dieser Stelle zu tun ist. Auf diese Weise stellt das Netz eine Beziehung her zwischen den Output-Daten und den Input-Daten und repräsentiert somit eine mathematische Funktion – wie bei der geraden Linie. Ein neuronales Netz ist also im Grunde nichts weiter als eine Gleichung mit Parametern, die durch die Daten bestimmt werden, die von diesem Netz repräsentiert werden sollen.
Der ganze Rummel um neuronale Netze basiert auf der Tatsache, dass es einen mathematischen Beweis gibt (auf den wir hier nicht näher eingehen), der zeigt, dass wenn das Netz genügend Knotenpunkte enthält, es ist in der Lage sein wird, den Datensatz haargenau und präzise darzustellen – vorausgesetzt, der Datensatz ist in sich konsistent. Das trifft selbst dann zu, wenn das Beziehungsgeflecht des Datensatzes in höchstem Maße nicht-linear oder zeitabhängig ist.
Was heißt „in sich konsistent“? Das bedeutet, dass die Datenquelle stets denselben Gesetzmäßigkeiten gehorcht. In der industriellen Herstellung werden Daten produziert aufgrund der Naturgesetze (Naturkonstanten). Weil sich diese nicht verändern, ist der Datensatz „in sich konsistent“. Die den Aktienmarkt antreibenden Kräfte sind hingegen, um ein gegenteiliges Beispiel zu nennen, über die Zeit hinweg nicht konstant, weshalb neuronale Netze diese Datensätze nicht gut genug abbilden können.
Zusammenfassung: Ein neuronales Netz ist eine komplexe mathematische Formel, die in der Lage ist, einen in sich stimmigen Datensatz präzise darzustellen. Bei diesem allgemeinen Ansatz geht man von einer mit Parametern versehenen Formel aus und bestimmt dann die Werte dieser Parameter dank einer Rechenmethode. Und das nennen wir „maschinelles Lernen“.
Wenn Sie mehr über maschinelles Lernen, große Datensätze (“Big Data”) und industrielle Analytik wissen möchten, folgen Sie uns auf Twitter, Facebook oder LinkedIn.