[PYTHON] LSTM (1) zur Zeitreihenvorhersage (für Anfänger)

Diesmal über LSTM. Vorhersageprobleme für reguläre Phänomene wie Zeitreihen können ein nützlicher Ansatz sein. Da es sich nach meinem eigenen Verständnis um eine Ausgabe handelt, habe ich die Referenzseite fast einmal verfolgt. LSTM(Long Short-Term Memory) Kurz gesagt, das Kurzzeitgedächtnis wird über einen langen Zeitraum verwendet, um das Lernen zu fördern. Es gibt eine Funktion. Das Diagramm des LSTM-Teils ist wie folgt. スクリーンショット 2020-03-01 19.57.58.png Verwenden Sie bei der Berechnung mit ht die vorherigen Ausgabeergebnisse ht-1 und Xt. ht ist ein Bild, mit dem ht + 1 gefunden wird. Beziehungsweise, ・ OutputGate ・ Vergiss das Tor ・ Eingangstor ・ Aktivierungsfunktionsteil ・ Speicherzelle Besteht aus OutputGate Der rote Teil des Pfeils unten. Unter Verwendung der linearen Umwandlung Wo für Xt, der linearen Umwandlung Ro für ht und der Vorspannung Bo Ot=σ(WoXt+Roht−1+Bo) Ist berechnet. Eine Formel ähnlich der eines neuronalen Netzwerks. スクリーンショット 2020-03-01 20.22.56.png Forget Gate Wie OutputGate Es gibt Wf-, Rf- und Bf-Parameter ft=σ(WfXt+Rfht−1+Bf) Ist berechnet. スクリーンショット 2020-03-01 20.30.57.png Input Gate Ähnlich it=σ(WiXt+Riht−1+Bi) Ist berechnet. スクリーンショット 2020-03-01 20.33.26.png

Aktivierungsfunktionsteil

Zt=tanh(WzXt+Rzht−1+Bz) Berechnungsformel für den Aktivierungsfunktionsteil. スクリーンショット 2020-03-01 20.39.47.png

Berechnung in der Nähe der Speicherzelle

① Vergiss die Torseite

Durch ft = σ (WfXt + Rfht - 1 + Bf) und Ausgabe von Ct-1 von der gepunkteten Linie der Zelle Die Ausgabe ist Ct - 1 ⊗ ft. ⊗ ist das Produkt jedes Elements スクリーンショット 2020-03-01 20.43.05.png

② Eingangstorseite

Durch es = σ (WiXt + Riht - 1 + Bi) und Zt = tanh (WzXt + Rzht - 1 + Bz) Eine Ausgabe namens ⊗ Zt. スクリーンショット 2020-03-01 20.44.28.png

③ Vor der Zelle

Durch Ct - 1 ⊗ ft in ① und es ⊗ Zt in ② Ct = Ct−1 ⊗ ft + it ⊗ Zt Ist berechnet. スクリーンショット 2020-03-01 20.45.04.png

④ In der Nähe des Ausgangs

Speicherzellenteil Ct = it ⊗ Zt + Ct - 1 ⊗ ft Ausgangstor Teil Ot = σ (WoXt + Roht - 1 + Bo) Verwenden von ht = Ot ⊗ tanh(Ct) Ist fertig. スクリーンショット 2020-03-01 20.45.28.png

LSTM-Punkte

Ct = Ct−1 ⊗ ft + it ⊗ Zt Ct-1 ⊗ ft Im Forget Gate-Teil passt Ct-1 an, wie stark es die Parameter vergangener Informationen widerspiegelt. Der t Zt-Eingangsteil stellt ein, wie stark der erhaltene Eingabewert von der Zt-Aktivierungsfunktion reflektiert wird.

Referenz

[Grundlagen von LSTM, die jetzt nicht zu hören sind] (https://www.hellocybernetics.tech/entry/2017/05/06/182757)

Recommended Posts

LSTM (1) zur Zeitreihenvorhersage (für Anfänger)
Bewegungsstatistik zur Vorhersage von Zeitreihen
Erkennung von Zeitreihendatenanomalien für Anfänger
Eine Lernmethode für Anfänger zum Erlernen der Zeitreihenanalyse
Vorhersage von Zeitreihendaten durch Simplex-Projektion
[Für Anfänger] Skript innerhalb von 10 Zeilen (5. Resample von Zeitreihendaten mit Pandas)
Zeitreihenzerlegung
Python: Zeitreihenanalyse
Abnormalitätserkennung von Zeitreihendaten durch LSTM (Keras)
Python-Zeitreihenfrage
Python Lehrbuch für Anfänger
Zeitreihenanalyse 1 Grundlagen
Dikstra-Algorithmus für Anfänger
OpenCV für Python-Anfänger
TOPIX-Zeitreihen anzeigen
Zeitreihendiagramm / Matplotlib
Pandas-Grundlagen für Anfänger ④ Umgang mit Datums- und Zeitangaben
Herausforderung für die zukünftige Umsatzprognose: ① Was ist Zeitreihenanalyse?
Lernablauf für Python-Anfänger
[Für Anfänger] Kaggle-Übung (Merucari)
Empfohlene Linux-Distribution für Anfänger
CNN (1) zur Bildklassifizierung (für Anfänger)
Python3-Umgebungskonstruktion (für Anfänger)
Übersicht über Docker (für Anfänger)
Installation der Python 3-Serie für Mac
Python #Funktion 2 für Super-Anfänger
Zeitreihenanalyse Teil 4 VAR
Zeitreihenanalyse Teil 3 Prognose
Seaborn Basics für Anfänger ④ Pairplot
Grundlegende Python-Grammatik für Anfänger
[Python] Zeichnen Sie Zeitreihendaten
Aktienkursprognose mit LSTM_1
100 Pandas klopfen für Python-Anfänger
Python #Funktion 1 für Super-Anfänger
Python #Liste für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
[Für Kaggle-Anfänger] Titanic (LightGBM)
Zeitreihenanalyse Teil 1 Autokorrelation
Linux Command Memorandum [für Anfänger]
Praktische Linux-Verknüpfung (für Anfänger)
Jetzt ist es an der Zeit, DB mit Docker zu installieren! DB-Installation für Anfänger auf Docker