Training und Bewertung eines RNN
Das Training und die Evaluierung eines LSTM-basierten rekurrenten neuronalen Netzes (RNN) zur Vorhersage von Aktienkursen werden behandelt. Das Modell lernt, zukünftige Aktienkurse auf Basis vergangener Daten vorherzusagen. Der Prozess umfasst die Definition der Architektur, die Konfiguration der Verlustfunktion und des Optimierers, das Training des Modells sowie die Bewertung der Modellleistung.
- Modell-Definition: Das LSTM-Modell wird mit PyTorch definiert, wobei zentrale Komponenten wie Eingabegröße, Größe der versteckten Schicht und Anzahl der Schichten festgelegt werden. Das Modell besteht aus einer LSTM-Schicht, gefolgt von einer linearen Schicht für die Ausgabenvorhersage. Das Modell ist darauf ausgelegt, vorherige Aktienkurse als Eingabe zu verwenden und den Kurs des nächsten Zeitschritts vorherzusagen;
class LSTMModel(nn.Module):
def __init__(self, input_size=1, hidden_layer_size=50, num_layers=2, output_size=1):
super().__init__()
self.hidden_layer_size = hidden_layer_size
self.num_layers = num_layers
self.lstm = nn.LSTM(input_size, hidden_layer_size, num_layers, batch_first=True)
self.linear = nn.Linear(hidden_layer_size, output_size)
def forward(self, input_seq):
h0 = torch.zeros(self.num_layers, input_seq.size(0), self.hidden_layer_size).to(input_seq.device)
c0 = torch.zeros(self.num_layers, input_seq.size(0), self.hidden_layer_size).to(input_seq.device)
lstm_out, _ = self.lstm(input_seq, (h0.detach(), c0.detach()))
last_time_step_out = lstm_out[:, -1, :]
predictions = self.linear(last_time_step_out)
return predictions
- Training des Modells: In diesem Schritt wird das Modell mit der Mean Squared Error (MSE)-Verlustfunktion und dem Adam-Optimierer trainiert. Das Modell wird über mehrere Epochen trainiert, wobei der Verlust für jedes Trainingsdaten-Batch berechnet und aktualisiert wird. Die Trainingsschleife umfasst Vorwärts- und Rückwärtspropagation, wobei die Gewichte optimiert werden, um den Verlust zu minimieren. Während des Trainings wird der Verlustwert überwacht, um sicherzustellen, dass das Modell effektiv lernt;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
-
Evaluierung: Nach dem Training wird das Modell auf dem Testdatensatz bewertet. Die Vorhersagen des Modells werden mit den tatsächlichen Aktienkursen unter Verwendung des Root Mean Squared Error (RMSE) als Bewertungsmetrik verglichen. Diese Metrik misst die Differenz zwischen den vorhergesagten und den tatsächlichen Werten, wobei ein niedrigerer RMSE auf eine bessere Leistung hinweist. Der Evaluierungsprozess umfasst außerdem das Inverse-Transformieren der skalierten Vorhersagen, um die tatsächlichen Kurswerte für den Vergleich zu erhalten;
-
Leistungsmetrik: Der RMSE wird verwendet, um zu beurteilen, wie gut das Modell auf unbekannten Daten abschneidet. Ein niedriger RMSE-Wert zeigt an, dass die Vorhersagen des Modells näher an den tatsächlichen Werten liegen. Der RMSE wird berechnet, nachdem die vorhergesagten Werte mit den tatsächlichen, unskalierten Werten aus den Testdaten verglichen wurden.
Zusammenfassend beschreibt dieses Kapitel den Prozess des Trainings und der Evaluierung eines LSTM-Modells für Zeitreihenprognosen mit Fokus auf die Vorhersage von Aktienkursen. Zentrale Schritte sind die Modell-Definition, das Training mit der MSE-Verlustfunktion und dem Adam-Optimierer sowie die Evaluierung des Modells mit dem RMSE.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 4.55
Training und Bewertung eines RNN
Swipe um das Menü anzuzeigen
Das Training und die Evaluierung eines LSTM-basierten rekurrenten neuronalen Netzes (RNN) zur Vorhersage von Aktienkursen werden behandelt. Das Modell lernt, zukünftige Aktienkurse auf Basis vergangener Daten vorherzusagen. Der Prozess umfasst die Definition der Architektur, die Konfiguration der Verlustfunktion und des Optimierers, das Training des Modells sowie die Bewertung der Modellleistung.
- Modell-Definition: Das LSTM-Modell wird mit PyTorch definiert, wobei zentrale Komponenten wie Eingabegröße, Größe der versteckten Schicht und Anzahl der Schichten festgelegt werden. Das Modell besteht aus einer LSTM-Schicht, gefolgt von einer linearen Schicht für die Ausgabenvorhersage. Das Modell ist darauf ausgelegt, vorherige Aktienkurse als Eingabe zu verwenden und den Kurs des nächsten Zeitschritts vorherzusagen;
class LSTMModel(nn.Module):
def __init__(self, input_size=1, hidden_layer_size=50, num_layers=2, output_size=1):
super().__init__()
self.hidden_layer_size = hidden_layer_size
self.num_layers = num_layers
self.lstm = nn.LSTM(input_size, hidden_layer_size, num_layers, batch_first=True)
self.linear = nn.Linear(hidden_layer_size, output_size)
def forward(self, input_seq):
h0 = torch.zeros(self.num_layers, input_seq.size(0), self.hidden_layer_size).to(input_seq.device)
c0 = torch.zeros(self.num_layers, input_seq.size(0), self.hidden_layer_size).to(input_seq.device)
lstm_out, _ = self.lstm(input_seq, (h0.detach(), c0.detach()))
last_time_step_out = lstm_out[:, -1, :]
predictions = self.linear(last_time_step_out)
return predictions
- Training des Modells: In diesem Schritt wird das Modell mit der Mean Squared Error (MSE)-Verlustfunktion und dem Adam-Optimierer trainiert. Das Modell wird über mehrere Epochen trainiert, wobei der Verlust für jedes Trainingsdaten-Batch berechnet und aktualisiert wird. Die Trainingsschleife umfasst Vorwärts- und Rückwärtspropagation, wobei die Gewichte optimiert werden, um den Verlust zu minimieren. Während des Trainings wird der Verlustwert überwacht, um sicherzustellen, dass das Modell effektiv lernt;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
-
Evaluierung: Nach dem Training wird das Modell auf dem Testdatensatz bewertet. Die Vorhersagen des Modells werden mit den tatsächlichen Aktienkursen unter Verwendung des Root Mean Squared Error (RMSE) als Bewertungsmetrik verglichen. Diese Metrik misst die Differenz zwischen den vorhergesagten und den tatsächlichen Werten, wobei ein niedrigerer RMSE auf eine bessere Leistung hinweist. Der Evaluierungsprozess umfasst außerdem das Inverse-Transformieren der skalierten Vorhersagen, um die tatsächlichen Kurswerte für den Vergleich zu erhalten;
-
Leistungsmetrik: Der RMSE wird verwendet, um zu beurteilen, wie gut das Modell auf unbekannten Daten abschneidet. Ein niedriger RMSE-Wert zeigt an, dass die Vorhersagen des Modells näher an den tatsächlichen Werten liegen. Der RMSE wird berechnet, nachdem die vorhergesagten Werte mit den tatsächlichen, unskalierten Werten aus den Testdaten verglichen wurden.
Zusammenfassend beschreibt dieses Kapitel den Prozess des Trainings und der Evaluierung eines LSTM-Modells für Zeitreihenprognosen mit Fokus auf die Vorhersage von Aktienkursen. Zentrale Schritte sind die Modell-Definition, das Training mit der MSE-Verlustfunktion und dem Adam-Optimierer sowie die Evaluierung des Modells mit dem RMSE.
Danke für Ihr Feedback!