Discussão do artigo "Redes neurais de maneira fácil (Parte 16): Uso prático do agrupamento"

 

Novo artigo Redes neurais de maneira fácil (Parte 16): Uso prático do agrupamento foi publicado:

No artigo anterior, construímos uma classe para agrupamento de dados. Hoje eu gostaria de compartilhar com vocês as formas mediante as quais os resultados podem ser usados para resolver problemas práticos de negociação.

Como queremos avaliar o desempenho do EA, vamos testá-lo usando o modelo de 500 agrupamentos treinados no artigo anterior e usados no teste anterior. O gráfico do treinamento é mostrado abaixo.

Valores da função de perda no processo de aprendizado

Como se pode ver, o gráfico de aprendizado é bastante uniforme. Usei o método de otimização de parâmetros Adam para treinar o modelo. Durante as primeiras 20 épocas, vemos um declínio suave na função de perda associado à acumulação de impulso. E, em seguida, há uma queda notável no valor da função de perda a um certo mínimo. Se você se lembrar dos gráficos dos modelos de aprendizado supervisionado, estes mostram quebras na função de perda com mais frequência.

Autor: Dmitriy Gizlyk

 


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

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

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

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

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

2022.05.30 22:10:56.211 kmeans (WDO$,H1) Função ExpertRemove() chamada

Como resolver este erro?


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

Como resolver esse erro?


Esse não é um erro de execução do programa. Essa linha exibe o erro do modelo (distância média dos centros dos clusters). Mas vemos inf - valor além da precisão dos cálculos. Tente dimensionar os valores originais. Por exemplo, divida por 10.000

 
Dmitry Gizlyk # :

Este não é um erro de execução do programa. Esta linha exibe o erro do modelo (distância média aos centros dos clusters). Mas vemos além da precisão dos valores - valor. Tente dimensionar os valores originais. Por exemplo, divida por 10.000

Ainda não consegui encontrar uma solução.

 
Rodrigo Pagani #:

Ainda não consegui encontrar uma solução.

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