Das multivariate Long Short-Term Memory (LSTM) -Modell ist ein Modell für maschinelles Lernen, das eine Art rekurrentes neuronales Netzwerk ist. Indicio bietet eine Auswahl an Modellen für maschinelles Lernen, wobei das grundlegendste das univariate neuronale Modell ist (siehe Advanced: Neural). Die multivariate Generalisierung dieses Modells ist das Artifical Neural Network (ANN) -Modell (Advanced: ANN). Beim LSTM-Modell handelt es sich um ein rekurrendes neuronales Netzwerk, das den zeitlichen Verlauf besser berücksichtigt, da es den Informationsfluss zwischen Knoten derselben Schicht in Richtung höherer und niedrigerer Verzögerungen ermöglicht.
Um einen Satz von k zu modellierenk Zeitreihe Y1,... , YkY1, ... ,Ykmit einem neuronalen Netzwerk, dem p⋅ kp⋅k verzögerte Werte werden als Eingaben verwendet und das neuronale Netzwerk wird trainiert, um den aktuellen p zu erklärenp Werte der eingeschlossenen Zeitreihe. Genau wie im univariaten Fall kann dann mit yt,... eine Prognose erstellt werden. , yt−p+1yt, ... ,yt−p+1 als Eingaben zur Vorhersage von yt+1yt+1. Beachten Sie, dass wir jetzt schreibenytum den Vektor von k zu bezeichnenk Werte zum Zeitpunkt tt, was bedeutet, dass das Modell Prognosen erstellt für alles enthaltene Variablen. Dies kann dann rekursiv wiederholt werden, wobei nur die Prognosewerte als Eingabe verwendet werden, wodurch eine Prognose der gewünschten Länge erstellt wird. Das LSTM-Modell unterscheidet sich von einem allgemeinen neuronalen Netzwerk dadurch, dass es wiederkehrend ist. Dies hat zur Folge, dass es besser auf die Verarbeitung sequentieller Daten wie Zeitreihen zugeschnitten ist. Das andere rekurrente neuronale Netzwerk, das in Indicio verfügbar ist, ist das Gated Recurrent Unit (GRU) -Modell (Advanced: GRU), eine weniger stark parametrisierte Version von LSTM. GRU wurde als Vereinfachung des LSTM-Modells entwickelt und weist nachweislich eine ähnliche Leistung auf.
Wenn die Anzahl der Ein- und Ausgänge eines Modells zunimmt, steigt auch die erforderliche Größe der versteckten Ebenen und damit die Komplexität des Modells. Dies stellt eine Herausforderung dar, da bei einem komplexen Modell immer die Gefahr besteht, dass es zu stark an die Daten angepasst wird. Um dem abzuhelfen, werden die Daten in einen Zugsatz und einen Validierungssatz aufgeteilt.
Das Modell wird anhand der Trainingsdaten mit Stochastic Gradient Descent (SGD) trainiert. Bei jeder Iteration werden nur wenige der Beobachtungen verwendet, was bedeutet, dass der SGD-Algorithmus nach einer bestimmten Anzahl von Iterationen alle Daten durchgegangen ist. Jeder dieser Sätze von Iterationen wird als bezeichnet Zeitalter. Nach jeder Epoche wird das Modell verwendet, um eine Prognose für den Validierungssatz zu erstellen, und der Prognosefehler außerhalb der Stichprobe wird berechnet. Das Modell ist auch Teil des Trainingsprozesses und erstellt Prognosen innerhalb der Stichprobe, die als angepasste Werte bezeichnet werden, anhand derer der Prognosefehler bei der Stichprobe berechnet werden kann.
Dadurch entstehen pro Epoche zwei Serien von Prognosefehlern, d. h. innerhalb der Stichprobe und außerhalb der Stichprobe. Indicio wendet ein sogenanntes frühes Stoppen an. Das bedeutet, dass, wenn die Genauigkeit der Stichprobe über mehrere Epochen hinweg abnimmt, der Trainingsprozess gestoppt wird und das Modell als abgeschlossen betrachtet wird.