
Mehrlagiges Perzeptron (engl. Multilayer Perceptron, MLP)
Das mehrlagige Perzeptron (engl. Multilayer Perceptron, MLP) ist eine klassische Form eines künstlichen neuronalen Netzes mit mehreren Schichten. Es besteht aus einer Eingabeschicht, einer oder mehreren versteckten Schichten und einer Ausgabeschicht. Das MLP verwendet Feedforward-Verbindungen, bei denen die Daten nur in eine Richtung fließen, von der Eingabeschicht durch die versteckten Schichten bis zur Ausgabeschicht. Diese verschiedenen Schichten werden schematisch in Abbildung 21 dargestellt. Jeder einzelne Kreis symbolisiert hierbei ein einzelnes Neuron. (vgl. Abbildung 20)

Im folgenden Abschnitt wird eingehend auf die Vor- und Nachteile von MLPs eingegangen:
Vorteile:
Flexibilität: MLPs sind äußerst flexibel und können für eine Vielzahl von Aufgaben eingesetzt werden, von einfachen Klassifikations- und Regressionsproblemen bis hin zu komplexen Anwendungen wie Sprachverarbeitung und Bilderkennung.
Universal Function Approximators: MLPs gelten als universelle Funktionsapproximatoren, was bedeutet, dass sie in der Lage sind, eine breite Palette von Funktionen zu approximieren, vorausgesetzt hierfür sind ausreichend Trainingsdaten und passende Hyperparameter.
Skalierbarkeit: MLPs können durch Hinzufügen weiterer versteckter Schichten und Neuronen pro Schicht erweitert werden, um komplexere Probleme zu bewältigen.
Nachteile:
Überanpassung: Wie viele komplexe Modelle sind MLPs anfällig für Überanpassung, insbesondere, wenn sie auf Daten mit begrenzter Größe trainiert werden oder wenn die Modellkomplexität zu hoch ist.
Rechenaufwand: Das Training eines MLPs kann rechenaufwändig sein, speziell bei großen Datensätzen oder komplexen Netzarchitekturen.
Hyperparameter-Tuning: Die Auswahl und Optimierung der Hyperparameter eines MLPs kann eine Herausforderung darstellen und erfordert oft experimentelles Tuning, um die optimale Leistung zu erzielen.
Mehr erfahren: datacamp/Multilayer Perceptrons in Machine Learning
Hier wird demonstrativ dargestellt, wie ein mehrschichtiges neuronales Netz (MLP) erstellt, trainiert und anschließend evaluiert werden kann.
# MLP Modell erstellen
model = tf.keras.Sequential([
tf.keras.layers.Flatten(input_shape=(...)),
tf.keras.layers.Dense(units, activation=...),
tf.keras.layers.Dense(units, activation=...)
])
# Kompilieren des Modells
model.compile(loss=..., optimizer=...)
# Modell trainieren
model.fit(X_train, y_train, epochs=epochs, batch_size=batch_size,
validation_data=(X_val, y_val))
# Modell evaluieren
test_loss, test_acc = model.evaluate(X_test, y_test)
Last updated