Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Træning og Evaluering af en RNN | Tidsserieanalyse
Introduktion til RNNs

bookTræning og Evaluering af en RNN

Træning og evaluering af et LSTM-baseret recurrent neural network (RNN) til aktiekursforudsigelse diskuteres. Modellen lærer at forudsige fremtidige aktiekurser baseret på historiske data gennem en proces, der omfatter definition af arkitekturen, konfiguration af tab-funktion og optimeringsalgoritme, træning af modellen samt evaluering af dens ydeevne.

  • Modeldefinition: LSTM-modellen defineres ved hjælp af PyTorch med nøglekomponenter såsom inputstørrelse, skjult lag-størrelse og antal lag. Modellen består af et LSTM-lag efterfulgt af et lineært lag til outputforudsigelse. Modellen er designet til at tage tidligere aktiekurser som input og forudsige prisen for det næste tidssteg;
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
  • Træning af modellen: i dette trin trænes modellen ved hjælp af mean squared error (MSE) tab-funktionen og adam-optimeringsalgoritmen. Modellen trænes over flere epoker, hvor tabet beregnes og opdateres for hvert batch af træningsdata. Træningsløkken inkluderer fremad- og bagudpropagering, hvor vægtene optimeres for at minimere tabet. Under træningen overvåges tabsværdien for at sikre, at modellen lærer effektivt;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
  • Evaluering: efter træning evalueres modellen på testdatasættet. Modellens forudsigelser sammenlignes med de faktiske aktiekurser ved hjælp af root mean squared error (RMSE) som evalueringsmetrik. Denne metrik måler forskellen mellem de forudsagte og faktiske værdier, hvor en lavere RMSE indikerer bedre ydeevne. Evalueringsprocessen inkluderer også invers transformation af de skalerede forudsigelser for at opnå de faktiske prisværdier til sammenligning;

  • Ydelsesmetrik: RMSE anvendes til at vurdere, hvor godt modellen præsterer på ikke tidligere sete data. En lavere RMSE-værdi indikerer, at modellens forudsigelser ligger tættere på de faktiske værdier. RMSE beregnes efter sammenligning af de forudsagte værdier med de faktiske, ikke-skalerede værdier fra testdataene.

Sammenfattende skitserer dette kapitel processen for træning og evaluering af en LSTM-model til tidsserieprognoser med fokus på aktiekursforudsigelse. Centrale trin omfatter modeldefinition, træning ved brug af MSE-tab-funktion og Adam-optimeringsalgoritme samt evaluering af modellen ved hjælp af RMSE.

question mark

Efter generering af forudsigelser, hvilket trin er nødvendigt før beregning af RMSE?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 4.55

bookTræning og Evaluering af en RNN

Stryg for at vise menuen

Træning og evaluering af et LSTM-baseret recurrent neural network (RNN) til aktiekursforudsigelse diskuteres. Modellen lærer at forudsige fremtidige aktiekurser baseret på historiske data gennem en proces, der omfatter definition af arkitekturen, konfiguration af tab-funktion og optimeringsalgoritme, træning af modellen samt evaluering af dens ydeevne.

  • Modeldefinition: LSTM-modellen defineres ved hjælp af PyTorch med nøglekomponenter såsom inputstørrelse, skjult lag-størrelse og antal lag. Modellen består af et LSTM-lag efterfulgt af et lineært lag til outputforudsigelse. Modellen er designet til at tage tidligere aktiekurser som input og forudsige prisen for det næste tidssteg;
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
  • Træning af modellen: i dette trin trænes modellen ved hjælp af mean squared error (MSE) tab-funktionen og adam-optimeringsalgoritmen. Modellen trænes over flere epoker, hvor tabet beregnes og opdateres for hvert batch af træningsdata. Træningsløkken inkluderer fremad- og bagudpropagering, hvor vægtene optimeres for at minimere tabet. Under træningen overvåges tabsværdien for at sikre, at modellen lærer effektivt;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
  • Evaluering: efter træning evalueres modellen på testdatasættet. Modellens forudsigelser sammenlignes med de faktiske aktiekurser ved hjælp af root mean squared error (RMSE) som evalueringsmetrik. Denne metrik måler forskellen mellem de forudsagte og faktiske værdier, hvor en lavere RMSE indikerer bedre ydeevne. Evalueringsprocessen inkluderer også invers transformation af de skalerede forudsigelser for at opnå de faktiske prisværdier til sammenligning;

  • Ydelsesmetrik: RMSE anvendes til at vurdere, hvor godt modellen præsterer på ikke tidligere sete data. En lavere RMSE-værdi indikerer, at modellens forudsigelser ligger tættere på de faktiske værdier. RMSE beregnes efter sammenligning af de forudsagte værdier med de faktiske, ikke-skalerede værdier fra testdataene.

Sammenfattende skitserer dette kapitel processen for træning og evaluering af en LSTM-model til tidsserieprognoser med fokus på aktiekursforudsigelse. Centrale trin omfatter modeldefinition, træning ved brug af MSE-tab-funktion og Adam-optimeringsalgoritme samt evaluering af modellen ved hjælp af RMSE.

question mark

Efter generering af forudsigelser, hvilket trin er nødvendigt før beregning af RMSE?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4
some-alt