Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1075

 
Maxim Dmitrievsky:


Sim, percebi... Copiaste o código?

Então, vamos discutir...

 
Maxim Dmitrievsky:

Sim, você pode apagar

Por favor, leia as primeiras linhas na seção de comentários do código e depois vá para a seção de códigos ... Espero que você entenda...

Em seguida, o que precisamos mudar é adicionar mais um array dinâmico onde você aprende o RDF e passar isso para a função "CalculateNeuron (double a, int b)" como:

CalculateNeuron ( double a, int b, double & best_features [])

Algo parecido com isto:

Então, copie as melhores_características[] array para as entradas [] array por ArrayCopy()...

O descanso deve ser simples:))))

Assim, com base no valor dinâmico dos componentes da função base, a função retornará as características transformadas e reintegrará o RDF de novo e novamente chamará a função e assim por diante.....

 
Vizard_:
Não RDF, RF.

nope, RDF http://www.alglib.net/dataanalysis/decisionforest.php

O algoritmo do RDF é uma modificação do algoritmo original do Random Forest projetado por Leo Breiman e Adele Cutler. Duas idéias estão em combinação entre si neste algoritmo: a utilização de um comitê de árvore de decisão obtendo o resultado por votação e a idéia de treinamento aleatório do processo.
Decision forest - ALGLIB, C++ and C# library
  • www.alglib.net
This page contains a brief description of the RDF classification and regression algorithm. Prior to reading this page, it is necessary that you look through the paper on the general principles of data analysis methods. It contains important information which, to avoid duplication (as it is of great significance for each algorithm in this...
 
Maxim Dmitrievsky:

Sim... mas código muito grande com "case", acho que pode implementá-lo muito mais curto... por isso, espere um pouco quando eu terminar o meu código, se ele for mau então continue com o seu ^)

Sim, isso é exatamente a melhor função base da GMDH como por wikipedia que você pode verificar :))))...depois de muita pesquisa também não consegui encontrar uma maneira melhor até agora ainda tentando.................

Mas apenas 1 condição será executada para cada passo e, portanto, o código restante não será executado após a declaração de interrupção:

Então eu acho que o treinamento pode ser lento...eu não sei...se sim, então podemos limitar o valor máximo dos componentes a 3 ou 4, usando outra variável de entrada para que ele quebre ao máximo as características em 3 ou 4 componentes e não mais do que isso.

Como já disse, a própria GMDH atua como uma rede neural e, portanto, estamos usando uma rede neural dupla, agora uma GMDH e um RDF juntos :)))

 
Maxim Dmitrievsky:

Ele decidiu fazer uma piada e reduzir a aprendizagem da máquina a aprender a codificar, pelo que parece - boa viagem para ele, e parece que o seu amigo muito activo também precisa de alguma educação...)

 
Maxim Dmitrievsky:

Eu nem cheguei à tua P-net, a propósito, é muito diferente da PNN?

Estive a ler sobre o PNN, é um maldito graal.

não me lembro qual PNN é, mas a pesquisa dá serviços de programação B2B PNN-Soft para empresas, mas acho que a nossa p-net é diferente

há basicamente uma ideia muito simples, mas uma ideia original))

 
Maxim Dmitrievsky:

Certo, mas não precisamos de 2 NN, só precisamos de um bom selector de características, por isso não deve ser um gmdh completo.

para que a minha implementação se aproxime mais dela

Exatamente...não é obrigatório para nós usar uma fórmula ou métodos exatos de GMDH ou RDF ou RF etc...tudo o que procuramos são resultados finais:)))))))))

O que eu estou à procura é:

1.treinamento rápido com dados anteriores

2.Seleção rápida de recursos durante negociação AO VIVO para execução rápida de negociação

3.Convergência do algo em direção a uma solução sobre o treinamento repetido

4.Alta precisão e baixo drawdown durante a negociação

Agora, atender a todos os pontos é geralmente difícil de alcançar na MQL5 , mas sua implementação atual parece atender a maioria dos pontos...mas um equilíbrio adequado de todos os 4 critérios precisa ser feito usando o ajuste fino do algo...

Por exemplo, se aumentarmos o número de características até ao máximo, vejo alguma melhoria nos resultados, mas o tempo de treino também aumenta significativamente...

 
Maxim Dmitrievsky:

NN probabilístico, constrói árvores de características com polinómios tipo MGUA, e usa esses polinómios em vez de sigmóides

https://en.wikipedia.org/wiki/Probabilistic_neural_network

e algumas coisas Bayesianas também... muito mais rápido que o MLP também.

there's also Pulsed neural networks, PNN) https://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C
 
Maxim Dmitrievsky:

Sim, ainda estou confuso em movimento. Eu tinha em mente um polinômio de NA

Acho que podemos usar PNN,RDF e GMDH juntos no seu código:))))

A lógica do PNN parece ótima!!!...PNN parece agir como um neurônio de um cérebro humano...quero dizer processo rápido de tomada de decisão...então se você usar uma declaração de quebra em cada um para o loop da minha lógica provavelmente funcionará como um PNN...

Não vamos ao fim de cada laço...mas ele vai verificar o tempo de atraso usando a função TickCount() e se for mais de 2 a 5 ms, então quebra o laço e continua com a próxima decisão do RDF...

Acabei de investigar o PNN...por isso não me peça para escrever o código do PNN outra vez:))))))))))))))))))))))))))))

 
Maxim Dmitrievsky:

Necessidade de implementar também diferentes funções de transformação de bases - polinómios algébricos, triginométricos e ortogonais

Acho que podemos usar a PNN na minha actual lógica GMDH para acelerar o processo de decisão... Não tenho a certeza...mas apenas olhei para a lógica e por isso não me digas para escrever o código do PNN agora:))))

Razão: