Diskussion zum Artikel "Neuronale Netze leicht gemacht (Teil 16): Praktische Anwendung des Clustering"

 

Neuer Artikel Neuronale Netze leicht gemacht (Teil 16): Praktische Anwendung des Clustering :

Im vorigen Artikel haben wir eine Klasse für das Clustering von Daten erstellt. In diesem Artikel möchte ich Varianten für die mögliche Anwendung der gewonnenen Ergebnisse bei der Lösung praktischer Handelsaufgaben vorstellen.

Um die Leistung des Expert Advisors zu bewerten, haben wir ihn mit dem 500-Cluster-Clustermodell getestet, das wir im vorherigen Artikel trainiert und im vorherigen Test verwendet haben. Das Trainingsdiagramm ist unten abgebildet.

Diagramm der Werte der Verlustfunktion des Lernprozesses

Wie Sie sehen können, ist die Trainingskurve recht gleichmäßig. Um das Modell zu trainieren, habe ich die Adam-Parameter-Optimierungsmethode verwendet. Die ersten 20 Epochen zeigen eine allmähliche Abnahme der Verlustfunktion, die mit der Akkumulation von Momenten zusammenhängt. Und dann ist ein deutlicher Abfall des Verlustfunktionswertes bis zu einem bestimmten Minimum zu beobachten. Zuvor erhaltene Trainingsgraphen von überwachten Modellen hatten auffällige gestrichelte Linien der Verlustfunktion.

Autor: Dmitriy Gizlyk

 


2022.05.30 21:57:27.477 kmeans (WDO$,H1) 800 Modellfehler inf

2022.05.30 22:00:23.937 kmeans (WDO$,H1) 850 Modellfehler inf

2022.05.30 22:04:22.069 kmeans (WDO$,H1) 900 Modellfehler inf

2022.05.30 22:08:04.179 kmeans (WDO$,H1) 950 Modellfehler inf

2022.05.30 22:10:56.190 kmeans (WDO$,H1) 1000 Modellfehler inf

2022.05.30 22:10:56.211 kmeans (WDO$,H1) Funktion ExpertRemove() aufgerufen

Como resolver este erro?


 
Rodrigo Pagani #:
2022.05.30 21:57:27.477 kmeans (WDO$,H1) 800 Modellfehler inf

Wie kann dieser Fehler behoben werden?


Es handelt sich nicht um einen Fehler bei der Programmausführung. In dieser Zeile wird der Modellfehler (durchschnittlicher Abstand zu den Zentren der Cluster) angezeigt. Aber wir sehen inf - Werte, die über die Genauigkeit der Berechnungen hinausgehen. Versuchen Sie, die ursprünglichen Werte zu skalieren. Zum Beispiel, teilen Sie durch 10.000

 
Dmitry Gizlyk # :

Este não é um erroro de execução do programa. Esta linha exibe o erro do modelo (distância média aos centros dos clusters). Wir sehen aber, dass die Genauigkeit der Werte - valor - nicht gegeben ist. Tente dimensionar os valores originais. Por exemplo, divida por 10.000

Ich konnte immer noch keine Lösung finden.

 
Rodrigo Pagani #:

Ich konnte immer noch keine Lösung finden.

data[shift] = NormaliseDouble((open - Kurse[bar].low)/100,2);
data[shift + 1] = NormaliseDouble((Kurse[bar].hoch - offen)/100,2);
data[shift + 2] = NormaliseDouble((Kurse[bar].close - open)/100,2);
data[shift + 3] = NormaliseDouble(RSI.GetData(MAIN_LINE, bar)/100,2);
data[shift + 4] = NormaliseDouble(CCI.GetData(MAIN_LINE, bar)/100,2);
data[shift + 5] = NormaliseDouble(ATR.GetData(MAIN_LINE, bar)/100,2);
data[shift + 6] = NormalizeDouble(MACD.GetData(MAIN_LINE, bar)/100,2); data[shift + 6] = NormalizeDouble(MACD.GetData(MAIN_LINE, bar)/100,2);
data[shift + 7] = NormalizeDouble(MACD.GetData(SIGNAL_LINE, bar)/100,2);