Neuronales Netzwerk vs. Multiple Regression

12/02/2008 - 12:46 von Jan Reimes | Report spam
Hallo zusammen,

Ich habe eine (eindimensionale) Ausgangsgröße, welche ich aus einigen
(wie ich denke/hoffe geeigneten) Parametern schàtzen möchte. Pro zu
schàtzender Größe stehen mir (bis zu) 6 Parameter zur Verfügung, die
Anzahl meiner Datensàtze liegt bei ca. 280 (wobei ich diese noch
zufàllig unterteile in 230 Trainings- und 50 Blind-/
Validierungsdaten). Dabei bin ich auf zwei Lösungsmöglichkeiten
gestossen:

- (Quadratische) multiple Regression:
X sei eine Matrix mit meinen Trainingsdaten sowie einer 1-Spalte
(dim(X) = [230x(6+1)], Y die zu schàtzenden Daten (dim(Y)=[230x1]).
Dann kann ich mittels

coeffs = inv(X' * X) * X' * Y

einen Satz von Koeffizienten bestimmen, mit dem sich dann die
geschàtzte Größe bestimmen làsst:

Y_est = X * coeffs

Mit den Blinddaten X_blind (dim(X_blind) = [50x7]) làsst dich nun eine
Schàtzung für die unbekannten Daten erstellen:

Y_est_blind = X_blind * coeffs

Für die Trainingsdaten klappt das schon sehr gut (Korrelation r>92%),
bei den Blinddaten jedoch nicht (r < 80...90% je nach dem welche
Blinddaten). Bei 5 Parametern habe ich eine (z.T. nur leichte)
quadratische Abhàngigkeit festgestellt, nehme ich diese Parameter nun
noch quadratisch mit hinzu, verbessern sich sowohl Trainings- als auch
Validierungsdaten.
Ist so etwas überhaupt "erlaubt" bei dieser Menge an Datensàtzen oder
dreht man hier schon an der Stabilitàt einer Regression?

- Neuronales Netzwerk: Hier habe ich durch etwas ausprobieren folgende
Anordnung gewàhlt:
Inputlayer: dim(X,2) = 7
Hidden Layer: 4
Output Layer: dim(Y) = 1
Trainingssàtze: 230 (s.o.)
Blinddaten: 50 (s.o.)
Trainingsdurchgànge: 5k-10k

Die Korrelation zwischen Schàtzung und Vorgabe wird hier unglaublich
gut (r>95%), bei den Trainingsdaten liege ich immerhin auch noch bei
90%. Nun wàre die Frage, ob dieses o.g. Netzwerk ggf. übertrainiert
ist? Gibt es dafür irgendwie in Abhàngigkeit der Neuronenanzahl pro
Layer und der Ein-/Ausgangsgrößen eine Abschàtzung, was man wie
(nicht) dimensionieren soll?

Ich habe einmal Zufallszahlen anstelle der Eingangsparameter zum
Training eingesetzt, bei der o.g. Konfiguration trainiert er sich dann
auf r = 55% (bei Blinddaten dann natürlich r -> 0), kann man da schon
von Übertrainieren sprechen?

- Vergleich NN vs. Regression: Dumm gefragt: Was ist bei diesen
Gegegebenheiten "besser" oder "schlechter", um eine zuverlàssige
Schàtzung bei Blinddaten abzugeben? Bzw. was wàren geeignete
Fehlermaße um die beiden Ansàtze zu vergleichen?

Vielen Dank schonmal für die Antworten,
Gruß,
Jan
 

Lesen sie die antworten

#1 rocksportrocker
12/02/2008 - 13:58 | Warnen spam
On Feb 12, 12:46 pm, Jan Reimes wrote:
Hallo zusammen,
..
Für die Trainingsdaten klappt das schon sehr gut (Korrelation r>92%),
bei den Blinddaten jedoch nicht (r < 80...90% je nach dem welche
Blinddaten). Bei 5 Parametern habe ich eine (z.T. nur leichte)
quadratische Abhàngigkeit festgestellt, nehme ich diese Parameter nun
noch quadratisch mit hinzu, verbessern sich sowohl Trainings- als auch
Validierungsdaten.
Ist so etwas überhaupt "erlaubt" bei dieser Menge an Datensàtzen oder
dreht man hier schon an der Stabilitàt einer Regression?



So lange Du deine Modellierung mit einer Validierung absicherst und
sowohl die Korrektheit anhand der Trainingsdaten als auch
die Korrektheit anhand der Testdaten zunimmt ist alles in Ordnung.

Probleme treten beim sog. Overfitting auf: Da wird die Vorhersage
anhand Deiner Trainigsdaten immer besser, die Tests mit den
Blinddaten aber schlechter.

Gruß, Uwe

Ähnliche fragen