Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Träning och Utvärdering av en RNN | Tidsserieanalys
Introduktion till RNN:er

bookTräning och Utvärdering av en RNN

Träning och utvärdering av ett LSTM-baserat rekurrent neuralt nätverk (RNN) för aktiekursprognoser diskuteras. Modellen lär sig att förutsäga framtida aktiekurser baserat på historisk data genom en process som inkluderar att definiera arkitekturen, konfigurera förlustfunktionen och optimeraren, träna modellen samt utvärdera dess prestanda.

  • Modelldefinition: LSTM-modellen definieras med PyTorch, med viktiga komponenter såsom indata-storlek, storlek på det dolda lagret och antal lager. Modellen består av ett LSTM-lager följt av ett linjärt lager för utdataförutsägelse. Modellen är utformad för att ta tidigare aktiekurser som indata och förutsäga priset för nästa 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 av modellen: i detta steg tränas modellen med hjälp av mean squared error (MSE) som förlustfunktion och adam-optimeraren. Modellen tränas under flera epoker, där förlusten beräknas och uppdateras för varje batch av träningsdata. Träningsloopen inkluderar framåt- och bakåtspridning, där vikterna optimeras för att minimera förlusten. Under träningen övervakas förlustvärdet för att säkerställa att modellen lär sig effektivt;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
  • Utvärdering: efter träningen utvärderas modellen på testdatasetet. Modellens förutsägelser jämförs med de faktiska aktiekurserna med hjälp av root mean squared error (RMSE) som utvärderingsmått. Detta mått mäter skillnaden mellan de förutsagda och faktiska värdena, där ett lägre RMSE indikerar bättre prestanda. Utvärderingsprocessen inkluderar även invers transformering av de skalade förutsägelserna för att få de faktiska prisvärdena för jämförelse;

  • Prestandamått: RMSE används för att bedöma hur väl modellen presterar på osedda data. Ett lägre RMSE-värde indikerar att modellens förutsägelser ligger närmare de faktiska värdena. RMSE beräknas efter att de förutsagda värdena jämförts med de faktiska oskalade värdena från testdatan.

Sammanfattningsvis beskriver detta kapitel processen för att träna och utvärdera en LSTM-modell för tidsserieprognoser, med fokus på aktiekursprognoser. Centrala steg inkluderar modelldefinition, träning med MSE-förlustfunktion och Adam-optimerare samt utvärdering av modellen med RMSE.

question mark

Vilket steg krävs efter att förutsägelser har genererats innan RMSE kan beräknas?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 4.55

bookTräning och Utvärdering av en RNN

Svep för att visa menyn

Träning och utvärdering av ett LSTM-baserat rekurrent neuralt nätverk (RNN) för aktiekursprognoser diskuteras. Modellen lär sig att förutsäga framtida aktiekurser baserat på historisk data genom en process som inkluderar att definiera arkitekturen, konfigurera förlustfunktionen och optimeraren, träna modellen samt utvärdera dess prestanda.

  • Modelldefinition: LSTM-modellen definieras med PyTorch, med viktiga komponenter såsom indata-storlek, storlek på det dolda lagret och antal lager. Modellen består av ett LSTM-lager följt av ett linjärt lager för utdataförutsägelse. Modellen är utformad för att ta tidigare aktiekurser som indata och förutsäga priset för nästa 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 av modellen: i detta steg tränas modellen med hjälp av mean squared error (MSE) som förlustfunktion och adam-optimeraren. Modellen tränas under flera epoker, där förlusten beräknas och uppdateras för varje batch av träningsdata. Träningsloopen inkluderar framåt- och bakåtspridning, där vikterna optimeras för att minimera förlusten. Under träningen övervakas förlustvärdet för att säkerställa att modellen lär sig effektivt;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
  • Utvärdering: efter träningen utvärderas modellen på testdatasetet. Modellens förutsägelser jämförs med de faktiska aktiekurserna med hjälp av root mean squared error (RMSE) som utvärderingsmått. Detta mått mäter skillnaden mellan de förutsagda och faktiska värdena, där ett lägre RMSE indikerar bättre prestanda. Utvärderingsprocessen inkluderar även invers transformering av de skalade förutsägelserna för att få de faktiska prisvärdena för jämförelse;

  • Prestandamått: RMSE används för att bedöma hur väl modellen presterar på osedda data. Ett lägre RMSE-värde indikerar att modellens förutsägelser ligger närmare de faktiska värdena. RMSE beräknas efter att de förutsagda värdena jämförts med de faktiska oskalade värdena från testdatan.

Sammanfattningsvis beskriver detta kapitel processen för att träna och utvärdera en LSTM-modell för tidsserieprognoser, med fokus på aktiekursprognoser. Centrala steg inkluderar modelldefinition, träning med MSE-förlustfunktion och Adam-optimerare samt utvärdering av modellen med RMSE.

question mark

Vilket steg krävs efter att förutsägelser har genererats innan RMSE kan beräknas?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4
some-alt