Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele RNN:n Kouluttaminen ja Arviointi | Aikasarja-analyysi
Johdatus RNN-Verkkoihin

bookRNN:n Kouluttaminen ja Arviointi

LSTM-pohjaisen toistuvan neuroverkon (RNN) koulutus ja arviointi osakkeen hintojen ennustamiseen käsitellään. Malli oppii ennustamaan tulevia osakehintoja aiempien tietojen perusteella prosessissa, johon kuuluu arkkitehtuurin määrittely, tappiofunktion ja optimoijan konfigurointi, mallin koulutus sekä suorituskyvyn arviointi.

  • Mallin määrittely: LSTM-malli määritellään käyttäen PyTorchia, ja keskeisiä osia ovat syötteen koko, piilotettujen kerrosten koko ja kerrosten määrä. Malli koostuu LSTM-kerroksesta, jota seuraa lineaarinen kerros ulostulon ennustamiseen. Malli on suunniteltu ottamaan aiemmat osakehinnat syötteenä ja ennustamaan seuraavan ajanhetken hinnan;
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
  • Mallin koulutus: tässä vaiheessa mallia koulutetaan käyttäen mean squared error (MSE) -tappiofunktiota ja adam-optimoijaa. Mallia koulutetaan useiden epookkien ajan, ja tappio lasketaan ja päivitetään jokaiselle harjoitusdatan erälle. Koulutussilmukka sisältää eteen- ja taaksepäin kulun sekä painojen optimoinnin tappion minimoimiseksi. Koulutuksen aikana seurataan tappioarvoa mallin oppimisen varmistamiseksi;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
  • Arviointi: koulutuksen jälkeen mallia arvioidaan testidatalla. Mallin ennusteita verrataan todellisiin osakehintoihin käyttäen root mean squared error (RMSE) -mittaria. Tämä mittari arvioi ennustettujen ja todellisten arvojen eroa; pienempi RMSE tarkoittaa parempaa suorituskykyä. Arviointiin kuuluu myös ennusteiden käänteismuunnos skaalatuista arvoista todellisiin hintoihin vertailua varten;

  • Suorituskykymittari: RMSE:tä käytetään arvioimaan mallin toimivuutta uudella datalla. Pienempi RMSE-arvo osoittaa, että mallin ennusteet ovat lähempänä todellisia arvoja. RMSE lasketaan vertaamalla ennustettuja arvoja testidatan todellisiin skaalaamattomiin arvoihin.

Yhteenvetona tässä luvussa kuvataan LSTM-mallin koulutus- ja arviointiprosessi aikasarjaennustamiseen, erityisesti osakehintojen ennustamiseen. Keskeisiä vaiheita ovat mallin määrittely, koulutus MSE-tappiofunktiolla ja Adam-optimoijalla sekä arviointi RMSE-mittarilla.

question mark

Ennusteiden tuottamisen jälkeen, mikä vaihe vaaditaan ennen RMSE:n laskemista?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 4.55

bookRNN:n Kouluttaminen ja Arviointi

Pyyhkäise näyttääksesi valikon

LSTM-pohjaisen toistuvan neuroverkon (RNN) koulutus ja arviointi osakkeen hintojen ennustamiseen käsitellään. Malli oppii ennustamaan tulevia osakehintoja aiempien tietojen perusteella prosessissa, johon kuuluu arkkitehtuurin määrittely, tappiofunktion ja optimoijan konfigurointi, mallin koulutus sekä suorituskyvyn arviointi.

  • Mallin määrittely: LSTM-malli määritellään käyttäen PyTorchia, ja keskeisiä osia ovat syötteen koko, piilotettujen kerrosten koko ja kerrosten määrä. Malli koostuu LSTM-kerroksesta, jota seuraa lineaarinen kerros ulostulon ennustamiseen. Malli on suunniteltu ottamaan aiemmat osakehinnat syötteenä ja ennustamaan seuraavan ajanhetken hinnan;
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
  • Mallin koulutus: tässä vaiheessa mallia koulutetaan käyttäen mean squared error (MSE) -tappiofunktiota ja adam-optimoijaa. Mallia koulutetaan useiden epookkien ajan, ja tappio lasketaan ja päivitetään jokaiselle harjoitusdatan erälle. Koulutussilmukka sisältää eteen- ja taaksepäin kulun sekä painojen optimoinnin tappion minimoimiseksi. Koulutuksen aikana seurataan tappioarvoa mallin oppimisen varmistamiseksi;
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
  • Arviointi: koulutuksen jälkeen mallia arvioidaan testidatalla. Mallin ennusteita verrataan todellisiin osakehintoihin käyttäen root mean squared error (RMSE) -mittaria. Tämä mittari arvioi ennustettujen ja todellisten arvojen eroa; pienempi RMSE tarkoittaa parempaa suorituskykyä. Arviointiin kuuluu myös ennusteiden käänteismuunnos skaalatuista arvoista todellisiin hintoihin vertailua varten;

  • Suorituskykymittari: RMSE:tä käytetään arvioimaan mallin toimivuutta uudella datalla. Pienempi RMSE-arvo osoittaa, että mallin ennusteet ovat lähempänä todellisia arvoja. RMSE lasketaan vertaamalla ennustettuja arvoja testidatan todellisiin skaalaamattomiin arvoihin.

Yhteenvetona tässä luvussa kuvataan LSTM-mallin koulutus- ja arviointiprosessi aikasarjaennustamiseen, erityisesti osakehintojen ennustamiseen. Keskeisiä vaiheita ovat mallin määrittely, koulutus MSE-tappiofunktiolla ja Adam-optimoijalla sekä arviointi RMSE-mittarilla.

question mark

Ennusteiden tuottamisen jälkeen, mikä vaihe vaaditaan ennen RMSE:n laskemista?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt