Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele RNN:n Koulutus ja Arviointi | Aikasarja-analyysi
Rekursiiviset Neuroverkot Pythonilla

RNN:n Koulutus ja Arviointi

Pyyhkäise näyttääksesi valikon

LSTM-pohjaisen toistuvan neuroverkon (RNN) koulutus ja arviointi osakkeen hintojen ennustamiseen. Malli oppii ennustamaan tulevia osakehintoja aiempien tietojen perusteella prosessissa, johon kuuluu arkkitehtuurin määrittely, häviöfunktion ja optimointialgoritmin konfigurointi, mallin koulutus sekä suorituskyvyn arviointi.

  • Mallin määrittely: LSTM-malli määritellään käyttäen PyTorchia, ja siinä on keskeisinä osina 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 hinta;
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 keskineliövirhettä (MSE) häviöfunktiona ja adam-optimointialgoritmia. Mallia koulutetaan useiden epookkien ajan, ja häviö lasketaan ja päivitetään jokaiselle koulutusdatalle. Koulutussilmukka sisältää eteen- ja taaksepäin kulun, ja painoja optimoidaan häviön minimoimiseksi. Koulutuksen aikana seurataan häviöarvoa, jotta varmistetaan mallin oppiminen;
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 neliöllistä keskimääräistä virhettä (RMSE) arviointimittarina. Tämä mittari kuvaa ennustettujen ja todellisten arvojen välistä eroa; pienempi RMSE tarkoittaa parempaa suorituskykyä. Arviointiin kuuluu myös skaalattujen ennusteiden käänteismuunnos todellisten hintojen saamiseksi vertailua varten;

  • Suorituskykymittari: RMSE:tä käytetään arvioimaan, kuinka hyvin malli toimii näkemättömällä datalla. Pienempi RMSE-arvo tarkoittaa, 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-häviöfunktiolla ja Adam-optimointialgoritmilla sekä arviointi RMSE-mittarilla.

question mark

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

Valitse oikea vastaus

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

RNN:n Koulutus ja Arviointi

LSTM-pohjaisen toistuvan neuroverkon (RNN) koulutus ja arviointi osakkeen hintojen ennustamiseen. Malli oppii ennustamaan tulevia osakehintoja aiempien tietojen perusteella prosessissa, johon kuuluu arkkitehtuurin määrittely, häviöfunktion ja optimointialgoritmin konfigurointi, mallin koulutus sekä suorituskyvyn arviointi.

  • Mallin määrittely: LSTM-malli määritellään käyttäen PyTorchia, ja siinä on keskeisinä osina 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 hinta;
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 keskineliövirhettä (MSE) häviöfunktiona ja adam-optimointialgoritmia. Mallia koulutetaan useiden epookkien ajan, ja häviö lasketaan ja päivitetään jokaiselle koulutusdatalle. Koulutussilmukka sisältää eteen- ja taaksepäin kulun, ja painoja optimoidaan häviön minimoimiseksi. Koulutuksen aikana seurataan häviöarvoa, jotta varmistetaan mallin oppiminen;
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 neliöllistä keskimääräistä virhettä (RMSE) arviointimittarina. Tämä mittari kuvaa ennustettujen ja todellisten arvojen välistä eroa; pienempi RMSE tarkoittaa parempaa suorituskykyä. Arviointiin kuuluu myös skaalattujen ennusteiden käänteismuunnos todellisten hintojen saamiseksi vertailua varten;

  • Suorituskykymittari: RMSE:tä käytetään arvioimaan, kuinka hyvin malli toimii näkemättömällä datalla. Pienempi RMSE-arvo tarkoittaa, 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-häviöfunktiolla ja Adam-optimointialgoritmilla sekä arviointi RMSE-mittarilla.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt