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

 
Nikolay Demko:

Não, eu estava a dizer que não se pode misturar dados do mercado com o desempenho da rede.

Em outras palavras, sua rede está processando cotações e você está alimentando-a com dados sobre se uma negociação anterior foi bem sucedida ou não, não são os mesmos dados, você não pode misturá-la.

E em geral, quer a rede funcione bem ou não, esta é uma unidade separada (eu costumava chamá-la de fitness-função em GA, em NS chama-se função de erro, mas a ideia é a mesma).

Suponha que você treina uma rede por backprop, acontece que você tem um erro tornando-se parte dos dados, butterscotch. Espero que saibas o que quero dizer.

Sim, consegui... No início quero ensiná-lo simplesmente no optimizador do MT5 - vai dar-me a oportunidade de obter resultados de negociação e equidade e devolvê-los imediatamente à grelha, sem jogos complicados.

E a arquitectura - pode ser redesenhada, mas não tenho outras opções porque ainda nem sequer a experimentei. Que irá mostrar pelo menos alguns resultados - isso é certo, mas que tipo de resultados é uma questão :)

 
Maxim Dmitrievsky:

Eu sei tudo sobre isso, a validação cruzada é também um ajuste, mas mais sofisticado.

a recorrência também se faz a si mesma e às vezes não consegue aprender

e eu não entendo - você diz que não pode alimentar as saídas da rede com as entradas e depois diz-me para usar a recorrência... :) e isso é tudo o que faz, come os seus produtos

A recorrência é, no caso mais simples, um simples MLP que se come a si próprio.

Na validação cruzada, concordo, mas há métodos mais sofisticados. Assim, a validação cruzada dá resultados aceitáveis, apesar da simplicidade do método.

Embora se o tomarmos como um todo, NS é um ajuste. É um aproximador universal, e enquanto estamos naquela fase de desenvolvimento da NS onde não se estabelece de forma confiável como encontrar o ponto em que se pode dizer que a NS aprendeu a dependência, em vez de se ajustar aos dados.

Este é o problema de representar uma função complexa de uma variável por um conjunto de funções simples de muitas variáveis.

E se resolveres este problema, constróis mesmo IA.

 
Nikolay Demko:

Concordo com a validação cruzada, mas há métodos mais sofisticados.

Embora em geral NS seja um ajuste. Aproximador universal, e enquanto estamos nesse estágio de desenvolvimento da ciência NS onde não está estabelecido de forma confiável como encontrar o ponto do campo que pode dizer que a NS aprendeu a dependência, e não se encaixa nos dados.

Este é o problema de representar uma função complexa de uma variável por um conjunto de funções simples de muitas variáveis.

E se resolveres este problema, estás mesmo a construir uma IA.

É tudo muito complicado para imaginar ao mesmo tempo, além do mais, imaginar todas as conexões em NS e como haverá interação entre elas.

Não precisamos de uma IA, mas pelo menos algum tipo de reação às mudanças do mercado seria bom, com alguma "memória".

 
Maxim Dmitrievsky:

Tudo isto é demasiado complexo para imaginar ao mesmo tempo, quanto mais imaginar todas as ligações no NS e como as coisas irão interagir umas com as outras.

Não precisamos de IA, mas pelo menos algum tipo de feedback sobre as mudanças do mercado seria bom, com alguma "memória".

Se você não gosta de gatinhos, talvez você simplesmente não saiba como cozinhá-los ))

O NS irá aproximar e até resumir quaisquer dados, o principal é que os dados devem conter o que você está procurando.

Isso significa que, além da escolha do tipo de NS, é igualmente importante preparar corretamente os dados para ele.

Como você vê, a tarefa é interdependente, quais dados você precisa alimentar depende do tipo de NS, e quais NS escolher depende dos dados que você preparou para ela.

Mas este problema apesar de ser solvível fechado, por exemplo GA usa o mesmo, inicialmente o algoritmo não sabe nada sobre os dados, por ramificação gradual do problema ele chega a uma solução robusta.

Então é o mesmo aqui, sistematize sua pesquisa, mantenha um registro e você terá sucesso.

 
Maxim Dmitrievsky:

Sim, entendi... a princípio quero treiná-lo simplesmente no optimizador MT5 - isto dar-me-á a oportunidade de obter imediatamente os resultados das negociações e das acções, e devolvê-los à grelha, sem pandeiros.

E a arquitectura - pode ser redesenhada, mas não tenho outras opções porque ainda nem sequer a experimentei. Que irá mostrar pelo menos alguns resultados - isso é certo, mas que tipo de resultados é uma questão :)

Maxim, bem, você não precisa treinar a rede no otimizador de MT. O NS-trainer e o optimizador são algoritmos bastante diferentes com critérios de optimização bastante diferentes.

Se você ainda estiver usando aquela estrutura NS, que foi desenhada antes, ela é muito simples - muito fraca para o mercado. Já escrevi que só tive sucesso quando cheguei à estrutura 15-20-15-10-5-1. E isto é apenas para um tipo de negócios. Eu também fiz absolutamente tudo usando métodos descritos pelo Haikin, ou seja, nada de novo, sem truques.

Estruturas mais simples foram mal treinadas.

 
Yuriy Asaulenko:

Maxim, bem, não treine a rede no otimizador de MT. O treinador NS e o optimizador são algoritmos completamente diferentes com critérios de optimização completamente diferentes.

Se você ainda usa aquela estrutura NS, que você desenhou antes, ela é um pouco simples - fraca para o mercado. Já escrevi que só tive sucesso quando cheguei à estrutura 15-20-15-10-5-1. E isto é apenas para um tipo de negócios. Eu também fiz absolutamente tudo usando métodos descritos pelo Haikin, ou seja, nada de novo, sem truques.

Estruturas mais simples foram mal treinadas.

Mas nada me impede de adicionar outro a este. A questão não é a profundidade da grelha, mas fazê-lo com feedbacks. Esta é a minha fantasia agora, como um artista e assim eu vejo :) os clássicos não são interessantes

prender tudo a uma grelha com retropropulsores é uma chatice... é melhor mantê-lo simples :)

porque é uma grelha aprendida por etapas... damos um passo - obtemos um feedback, e assim por diante, até que todo o conjunto de acções e resultados seja resumido

você pode pegar uma história menor e tudo ficará bem, e você pode aumentá-la depois.

 
Maxim Dmitrievsky:

e nada o impede de acrescentar mais um a este. A questão não está na profundidade da grelha, mas em fazê-la com feedbacks. É a minha fantasia agora, como um artista e assim eu vejo :) os clássicos não são interessantes

prender tudo a uma grelha com retropropulsores é uma chatice... é melhor mantê-lo simples :)

porque é uma grelha que é treinada em passos... damos um passo, recebemos um feedback, e assim por diante, até que todo o conjunto de acções e resultados seja resumido

Então, escrevi que depois de cada época N parei a PA, fiz os testes e continuei a treinar a PA. Sei que vinte e quatro horas de treino é muito tempo, mas esta conversa estava a decorrer há uns meses atrás.

Mas cabe ao artista, é claro). Não atire no pianista, ele toca como sabe fazer.

ZS Na verdade, você não precisa de muitos dados para aprender, mas de muitos. Com uma amostra pequena, o NS não terá nada de útil.

 
Yuriy Asaulenko:

Então, eu escrevi que a cada N época eu parei a PA, fiz os testes e continuei a treinar mais a PA. Sei que vinte e quatro horas de treino é muito tempo, mas esta conversa estava a decorrer há uns meses atrás.

Mas depende do artista, é claro). Não atire no pianista, ele toca como sabe fazer.

há mais palavras, há um refazer em 2 horas )) Vou fazer isso hoje à noite mb

Tudo o que precisa de ser alcançado é um pouco mais estável e resultados claros à frente, mas tudo isto funciona.

 
Maxim Dmitrievsky:

mais palavras aqui, leva 2 horas para refazê-lo )) Vou fazer isso hoje à noite.

Tudo o que é preciso alcançar é resultados um pouco mais estáveis e compreensíveis no futuro, e assim tudo funciona

Eu terminei o pré-post, mas desde que a página mudou, duplicado.

Só estou a tentar descobrir de quantos dados preciso para treinar. Com uma amostra pequena NS não obterá nada de útil.

 
Nikolay Demko:

Peço desculpa pelo ataque, mas releia o seu posto. Parece bastante ambíguo.
Em geral você está certo, mas apenas em relação à primeira camada de neurônio. Se o feedback for para a segunda e seguintes camadas ou mesmo para camadas paralelas da rede, a sua declaração se tornará inválida.
Nesse caso, Maxim deve pensar em aprofundar a rede e trazer feedback para camadas ocultas.

E quanto a isso:

Como pode ver, a tarefa é interdependente, os dados a submeter dependem do tipo de NS, e quais NS escolher depende dos dados que você preparou para ela.
A mesma coisa. Os MLPs não são mais relevantes, o aprendizado profundo tem sido uma tendência por muito tempo. E uma rede é bastante capaz de processar dados heterogêneos, o que importa é a arquitetura.