Künstliche Neuronale Netze (ANN) im maschinellen Lernen – Data Science Central
On September 24, 2021 by adminKünstliche Neuronale Netze – Einführung
Künstliche Neuronale Netze (ANN) oder neuronale Netze sind Rechenalgorithmen.
Sie sollen das Verhalten biologischer Systeme simulieren, die aus „Neuronen“ bestehen. ANNs sind Computermodelle, die sich an den zentralen Nervensystemen von Tieren orientieren. Sie sind zum maschinellen Lernen und zur Mustererkennung fähig. Sie stellen sich als Systeme von miteinander verbundenen „Neuronen“ dar, die aus Eingaben Werte berechnen können.
Ein neuronales Netz ist ein orientierter Graph. Es besteht aus Knoten, die in der biologischen Analogie Neuronen darstellen und durch Bögen verbunden sind. Sie entsprechen den Dendriten und Synapsen. Jeder Bogen ist mit einem Gewicht verbunden, während an jedem Knoten. Die Werte, die der Knoten als Eingabe erhält, werden angewendet und die Aktivierungsfunktion entlang der eingehenden Bögen definiert, die durch die Gewichte der Bögen angepasst werden.
Ein neuronales Netz ist ein maschineller Lernalgorithmus, der auf dem Modell eines menschlichen Neurons basiert. Das menschliche Gehirn besteht aus Millionen von Neuronen. Es sendet und verarbeitet Signale in Form von elektrischen und chemischen Signalen. Diese Neuronen sind durch eine spezielle Struktur verbunden, die als Synapsen bezeichnet wird. Synapsen ermöglichen es den Neuronen, Signale weiterzuleiten. Aus einer großen Anzahl simulierter Neuronen bilden sich neuronale Netze.
Ein künstliches neuronales Netz ist eine Technik zur Informationsverarbeitung. Es funktioniert ähnlich wie das menschliche Gehirn, das Informationen verarbeitet. Ein ANN besteht aus einer großen Anzahl von miteinander verbundenen Verarbeitungseinheiten, die zusammenarbeiten, um Informationen zu verarbeiten. Sie erzeugen daraus auch aussagekräftige Ergebnisse.
Neuronale Netze können nicht nur zur Klassifizierung eingesetzt werden. Es kann auch zur Regression von kontinuierlichen Zielattributen eingesetzt werden.
Neuronale Netze finden große Anwendung im Data Mining in verschiedenen Bereichen. Zum Beispiel in der Wirtschaft, in der Forensik, etc. und zur Mustererkennung. Es kann auch für die Datenklassifizierung in einer großen Menge von Daten nach sorgfältigem Training verwendet werden.
Ein neuronales Netz kann die folgenden 3 Schichten enthalten:
- Eingabeschicht – Die Aktivität der Eingabeeinheiten stellt die Rohinformationen dar, die in das Netz eingespeist werden können.
- Ausgeblendete Schicht – Zur Bestimmung der Aktivität jeder ausgeblendeten Einheit. Die Aktivitäten der Eingabeeinheiten und die Gewichte der Verbindungen zwischen der Eingabe und den versteckten Einheiten. Es kann eine oder mehrere verborgene Schichten geben.
- Ausgabeschicht – Das Verhalten der Ausgabeeinheiten hängt von der Aktivität der verborgenen Einheiten und den Gewichten zwischen den verborgenen und den Ausgabeeinheiten ab.
Künstliche neuronale Netzschichten
Künstliche neuronale Netze sind in der Regel in Schichten organisiert. Schichten bestehen aus vielen miteinander verbundenen „Knoten“, die eine „Aktivierungsfunktion“ enthalten. Ein neuronales Netz kann die folgenden 3 Schichten enthalten:
a. Eingabeschicht
Der Zweck der Eingabeschicht ist es, die Werte der erklärenden Attribute für jede Beobachtung als Eingabe zu erhalten. In der Regel ist die Anzahl der Eingabeknoten in einer Eingabeschicht gleich der Anzahl der erklärenden Variablen. Die „Eingabeschicht“ gibt die Muster an das Netz weiter, das sie an eine oder mehrere „verborgene Schichten“ weiterleitet.
Die Knoten der Eingabeschicht sind passiv, das heißt, sie verändern die Daten nicht. Sie erhalten einen einzigen Wert an ihrem Eingang und duplizieren diesen Wert an ihre vielen Ausgänge. Von der Eingabeschicht wird jeder Wert dupliziert und an alle versteckten Knoten gesendet.
b. Versteckte Schicht
Die versteckten Schichten wenden bestimmte Transformationen auf die Eingabewerte innerhalb des Netzes an. Dabei werden eingehende Bögen, die von anderen versteckten Knoten oder von Eingangsknoten ausgehen, mit jedem Knoten verbunden. Sie verbindet sich mit ausgehenden Bögen zu Ausgangsknoten oder zu anderen versteckten Knoten. In der verborgenen Schicht erfolgt die eigentliche Verarbeitung über ein System gewichteter „Verbindungen“. Es kann eine oder mehrere versteckte Schichten geben. Die Werte, die in einen versteckten Knoten eingehen, werden mit Gewichten multipliziert, einer Reihe von vorher festgelegten Zahlen, die im Programm gespeichert sind. Die gewichteten Eingaben werden dann addiert und ergeben eine einzige Zahl.
c. Ausgabeschicht
Die versteckten Schichten verbinden sich dann mit einer „Ausgabeschicht“. Die Ausgabeschicht erhält Verbindungen von den verborgenen Schichten oder von der Eingabeschicht. Sie gibt einen Ausgabewert zurück, der der Vorhersage der Antwortvariablen entspricht. Bei Klassifizierungsproblemen gibt es in der Regel nur einen Ausgangsknoten. Die aktiven Knoten der Ausgabeschicht kombinieren und verändern die Daten, um die Ausgabewerte zu erzeugen.
Die Fähigkeit des neuronalen Netzes, nützliche Datenverarbeitung zu leisten, liegt in der richtigen Auswahl der Gewichte. Dies unterscheidet sich von der herkömmlichen Informationsverarbeitung.
Struktur eines neuronalen Netzes
Die Struktur eines neuronalen Netzes wird auch als seine „Architektur“ oder „Topologie“ bezeichnet. Sie besteht aus der Anzahl der Schichten, den Elementareinheiten. Sie besteht auch aus einem Mechanismus zur Anpassung der Gewichte zwischen den Schichten. Die Wahl der Struktur bestimmt die Ergebnisse, die erzielt werden sollen. Sie ist der kritischste Teil der Implementierung eines neuronalen Netzes.
Die einfachste Struktur ist diejenige, bei der die Einheiten auf zwei Schichten verteilt sind: Eine Eingabeschicht und eine Ausgabeschicht. Jede Einheit in der Eingabeschicht hat eine einzige Eingabe und eine einzige Ausgabe, die der Eingabe entspricht. Die Ausgabeeinheit hat alle Einheiten der Eingabeschicht, die mit ihrem Eingang verbunden sind, mit einer Kombinationsfunktion und einer Übertragungsfunktion. Es kann mehr als 1 Ausgabeeinheit geben. In diesem Fall ist das resultierende Modell eine lineare oder logistische Regression, je nachdem, ob die Übertragungsfunktion linear oder logistisch ist. Die Gewichte des Netzes sind Regressionskoeffizienten.
Durch Hinzufügen von einer oder mehreren versteckten Schichten zwischen den Eingabe- und Ausgabeschichten und Einheiten in dieser Schicht erhöht sich die Vorhersagekraft des neuronalen Netzes. Die Anzahl der versteckten Schichten sollte jedoch so gering wie möglich sein. Dadurch wird sichergestellt, dass das neuronale Netz nicht alle Informationen aus der Lernmenge speichert, sondern sie verallgemeinern kann, um eine Überanpassung zu vermeiden.
Eine Überanpassung kann auftreten. Es tritt auf, wenn die Gewichte dazu führen, dass das System Details der Lernmenge lernt, anstatt Strukturen zu entdecken. Dies geschieht, wenn die Größe der Lernmenge im Verhältnis zur Komplexität des Modells zu klein ist.
Eine versteckte Schicht ist vorhanden oder nicht, die Ausgabeschicht des Netzes kann manchmal viele Einheiten haben, wenn es viele Klassen vorherzusagen gibt.
Vor- und Nachteile neuronaler Netze
Lassen Sie uns einige Vor- und Nachteile neuronaler Netze betrachten:
- Neuronale Netze funktionieren gut mit linearen und nichtlinearen Daten, aber eine häufige Kritik an neuronalen Netzen, besonders in der Robotik, ist, dass sie eine große Vielfalt an Training für den realen Betrieb benötigen. Dies ist so, weil jede lernende Maschine genügend repräsentative Beispiele benötigt, um die zugrundeliegende Struktur zu erfassen, die es ihr ermöglicht, auf neue Fälle zu verallgemeinern.
- Neuronale Netze funktionieren auch dann, wenn eine oder wenige Einheiten nicht auf das Netz reagieren, aber um große und effektive neuronale Softwarenetze zu implementieren, müssen viele Verarbeitungs- und Speicherressourcen bereitgestellt werden. Während das Gehirn über eine Hardware verfügt, die auf die Verarbeitung von Signalen durch einen Graphen von Neuronen zugeschnitten ist, kann die Simulation selbst einer stark vereinfachten Form auf der Von-Neumann-Technologie den Entwickler eines neuronalen Netzes dazu zwingen, Millionen von Datenbankzeilen für seine Verbindungen zu füllen – was enorme Mengen an Computerspeicher und Festplattenspeicher verbrauchen kann.
- Neuronale Netze lernen aus den analysierten Daten und müssen nicht neu programmiert werden, aber sie werden als „Black Box“-Modelle bezeichnet und bieten nur sehr wenig Einblick in das, was diese Modelle wirklich tun. Der Benutzer muss sie nur mit Eingaben füttern und beobachten, wie sie trainieren und die Ergebnisse abwarten.
Schlussfolgerung
Neuronale Netze werden als einfache mathematische Modelle betrachtet, die die bestehenden Datenanalysetechnologien verbessern. Obwohl es nicht mit der Leistung des menschlichen Gehirns vergleichbar ist, ist es doch der Grundbaustein der künstlichen Intelligenz.
Schreibe einen Kommentar