Discussão do artigo "Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte I. Ferramentas"

 

Novo artigo Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte I. Ferramentas foi publicado:

O presente artigo desenvolve a ideia de usar os Mapas de Kohonen na MetaTrader 5, abordado em algumas publicações anteriores. As classes avançadas e aprimoradas fornecem ferramentas para solucionar as tarefas da aplicação.

Nos códigos-fonte herdados, nenhuma normalização de dados de entrada é usada. No entanto, ele é muito importante no caso de diferentes componentes (características) de vetores de entrada terem diferentes faixas de valores. E esse é o caso nos resultados de otimização dos EAs e no agrupamento dos dados de diferentes indicadores. Quanto aos resultados de otimização, nós podemos ver que os valores que têm o lucro total de dezenas de milhares são atrelados a valores pequenos, como as frações do Sharp ratio ou os valores de um dígito do fator de restituição.

Você não deve ensinar uma rede de Kohonen usando dados de escala tão diferente, já que a rede consideraria praticamente apenas os componentes maiores e ignoraria os menores. Você pode ver isso na imagem obtida abaixo usando o programa que vamos considerar de uma maneira passo a passo dentro deste artigo e anexá-lo no final. O programa permite gerar vetores de entrada aleatórios, nos quais três componentes são definidos dentro dos intervalos de [0, 1000], [0, 1] e [-1, +1], respectivamente. Uma entrada especial, UseNormalization, permite ativar/desativar a normalização.

Vamos dar uma olhada na estrutura final da rede de Kohonen em três planos relevantes para as três dimensões dos vetores. Primeiro, o resultado da aprendizagem da rede sem normalização.

Resultado da aprendizagem da rede de Kohonen sem a normalização das entradas

Resultado da aprendizagem da rede de Kohonen sem a normalização das entradas

Agora, o mesmo acontece com a normalização.

Resultado da aprendizagem da rede de Kohonen com a normalização das entradas

Resultado da aprendizagem da rede de Kohonen com a normalização das entradas

Autor: Stanislav Korotky

 
No futuro, usaremos o CSOMDisplay para a tarefa de selecionar os parâmetros ideais do especialista e o CSOM para a previsão.

Infelizmente, esqueci completamente o tópico. A leitura dos artigos nos links não me deu nenhum entendimento.


Suponhamos que haja três parâmetros de entrada que tenham sido otimizados. Kohonen fez o agrupamento e visualizou. Qual é a conveniência de encontrar os parâmetros ideais?

Não entendo nada sobre previsão. Se possível, uma ideia em poucas palavras também.

 

No futuro, eu gostaria de ver esse exemplo prático.


Introduzimos algum parâmetro de entrada adicional no Expert Advisor. E avaliamos sua dependência de outros.

[Excluído]  

Estou mais interessado na parte prática do uso de clustering em forex, além de criar tabelas de correlação e outras coisas. Além disso, não entendo a questão da estabilidade dos mapas em novos dados, quais são as maneiras de estimar a capacidade de generalização e o quanto eles são retreinados

Pelo menos em teoria, para entender como isso pode ser usado de forma eficaz. A única coisa que me vem à mente é dividir uma série temporal em vários "estados"

 
fxsaber:

Digamos que haja três parâmetros de entrada que tenham sido otimizados. Kohonen fez o agrupamento e a visualização. Qual é a conveniência de encontrar os parâmetros ideais?

Não entendo nada sobre previsão. Se possível, explique também, em poucas palavras, a ideia.

Normalmente, a otimização oferece uma grande variedade de opções e não fornece estimativas de sua estabilidade. O segundo artigo tenta resolver esses problemas de forma parcialmente visual e parcialmente algorítmica com a ajuda dos mapas de Kohonen. O artigo foi enviado para verificação.

 
fxsaber:

Introduzimos alguns parâmetros de entrada adicionais no Expert Advisor. E avaliamos sua dependência de outros.

Kohonen nos permite fazer isso visualmente, na forma de um mapa. Se estivermos falando de um único dígito, isso será feito por outros métodos.

 
Maxim Dmitrievsky:

Estou mais interessado na parte prática do uso de clustering em forex, além de criar tabelas de correlação e outras coisas. Além disso, não entendo a questão da estabilidade dos mapas em novos dados, quais são as maneiras de estimar a capacidade de generalização e o quanto eles são retreinados

Pelo menos em teoria, para entender como isso pode ser usado de forma eficaz. A única coisa que me vem à mente é dividir a série temporal em vários "estados"

Talvez a parte 2 forneça algumas respostas. Se a lei de distribuição de dados for preservada, deverá haver estabilidade. Para controlar a generalização, sugere-se escolher o tamanho do mapa e/ou a duração do treinamento usando amostragem de validação.

Alguns exemplos de casos de uso estão na parte dois.

[Excluído]  
Stanislav Korotky:

Talvez a segunda parte forneça algumas respostas. Se a lei de distribuição de dados for preservada, deverá haver estabilidade. Para controlar a generalização, sugere-se escolher o tamanho do mapa e/ou a duração do treinamento usando amostragem de validação.

Alguns exemplos de casos de uso estão na segunda parte.

Sim, desculpe, não vi que já existe um método de interrupção por meio de amostragem de validação. Então vamos aguardar os exemplos, interessante :)

 
Esclarecimento/adendo: a partir de agora, a versão do ALGLIB portada para MQL5 já fornece agrupamento hierárquico aglomerativo - consulte ClusterizerRunAHC no arquivo MQL5/Include/Math/Alglib/dataanalysis.mqh.