Discussão do artigo "Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking"

 

Novo artigo Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking foi publicado:

Nós continuamos a construir os ensembles. Desta vez, o bagging de ensemble criado anteriormente será complementado com um combinador treinável — uma rede neural profunda. Uma rede neural combina as 7 melhores saídas ensemble após a poda. A segunda obtém todas as 500 saídas do ensemble como entrada, realizando a poda e combinando elas. As redes neurais serão construídas usando o pacote keras/TensorFlow para Python. Os recursos do pacote serão brevemente considerados. Serão realizados os testes e a comparação da qualidade de classificação do bagging e stacking de ensembles.

Vamos traçar o histórico do treinamento:

history_stop_500

Fig. 11. O histórico de treinamento da rede neural DNN500

Para melhorar a qualidade da classificação, vários hiperparâmetros podem ser modificados: método de inicialização do neurônio, regularização da ativação dos neurônios e seus pesos, etc. Os resultados obtidos com os parâmetros selecionados quase intuitivamente têm uma qualidade promissora, mas também um limite decepcionante. Sem otimização, não foi possível aumentar a Accuracy (precisão) acima de 0.82. Conclusão: é necessário otimizar os hiperparâmetros da rede neural. Nos artigos anteriores, nós experimentamos a otimização bayesiana. Ela pode ser aplicada aqui também, mas é um tópico difícil e separado.

Autor: Vladimir Perervenko

[Excluído]  

Nos próximos artigos seus, há alguma chance de mudar exclusivamente para Python? Porque a quantidade de pacotes e ambientes pré-instalados logo começará a crescer exponencialmente.

interessante sobre empilhamento, obrigado :)

 
Maxim Dmitrievsky:

Nos próximos artigos seus, há alguma chance de mudar exclusivamente para Python? Porque o volume de pacotes e ambientes pré-instalados logo começará a crescer exponencialmente.

sobre empilhamento é interessante, obrigado :)

E agora e no futuro todos os cálculos em R, mas usando pacotes (módulos) Python. Há muitos deles.

[Excluído]  
Vladimir Perervenko:

E agora e no futuro todos os cálculos em R, mas usando pacotes (módulos) Python. Há muitos deles.

OK, vou tentar forjar isso :)

 
Olá, Prof. Vladimir
Como o KIRS foi projetado para humanos e não para máquinas, isso significa que não podemos integrá-lo aos EAs
Você pode criar um exemplo de modelo de diversidade de entrada para os modelos de grade profunda do KIRS, como a análise de sentimentos do Twitter ou a análise textual de notícias econômicas?
Saudações e pazز ،
 
azzeddine remmal:
Olá, Prof. Vladimir
Como o KIRS foi projetado para humanos e não para máquinas, isso significa que não podemos integrá-lo aos EAs
Você pode criar um exemplo de modelo de diversidade de entrada para os modelos de grade profunda do KIRS, como a análise de sentimentos do Twitter ou a análise textual de notícias econômicas?
Saudações e pazز ،

Saudações azzeddine,

O Keras foi projetado para humanos, no sentido de que é necessária uma quantidade mínima de código para criar modelos estruturalmente complexos. É claro que podemos e devemos usar esses modelos em EAs. Essa é apenas uma questão resolvida e trabalhada. Caso contrário, por que precisamos desses exercícios?

É claro que podemos criar modelos que rastrearão e analisarão o humor nas mensagens de texto do Twitter ou no feed de notícias do Blomberg. Essa é uma área separada que eu não testei e, francamente, não acredito muito nela. Mas há muitos exemplos sobre esse tópico na Internet.

Você deve começar com um simples.

Boa sorte

 

Olá Vladimir, obrigado por seus artigos. Sou programador por profissão, principalmente em .NET, c#. Escrevi um Expert Advisor com base em seus artigos apenas para o terminal mt5. Uso o Keras com suporte a GPU, economiza tempo e nervos para treinar modelos, R e mt5 vinculados por meio do R.Net (escrevi uma biblioteca dll, posso publicá-la no github). Tentei também o H2O, funciona lentamente, suporte a GPU somente no Linux, não é adequado, eu trabalho com Windows. Fico feliz que você também tenha mudado para o Keras em seus artigos. O Expert Advisor mostrou bons resultados para EURUSD 15M, a amostra de dados foi tirada de 2003 a 2017 (treinamento, teste), usei apenas três preditores v.fatl, v.rbci, v.ftlm, mais perdictors, os resultados são piores, rede neural duas camadas ocultas densas 1000 neurônios em cada (muitos neurônios não são necessários, peguei 10 em cada camada oculta, também deu bons resultados). O Expert Advisor é quase o mesmo que o seu, com pequenas modificações, stop loss 500, take profit 100, não abro mais de 10 posições, bem, e fecho todas as posições Buy, se houver novas posições Cell, e vice-versa, tudo é simples, o resto do código é como o seu. Bem, todo esse código é apenas para EURUSD, para outras cotações talvez tudo deva ser feito de forma diferente.

Aqui está o resultado do trabalho do Expert Advisor de 2017 até agora:

teste

Coloquei o Expert Advisor em uma conta de centavos, testando por 2 semanas, até agora ele funciona bem. Gastei muito tempo procurando um modelo de rede neural e testando-o, experimentando diferentes variantes de redes Dense, LSTM, CONV, parei em uma simples Dense. Também a seleção de diferentes preditores, seu DigFiltr + todos os tipos de indicadores, seus preditores mostraram o melhor resultado, sem nenhum indicador adicional. Acho que esse não é o limite, você pode criar um EA muito melhor. Agora tentarei aplicar os conjuntos de seus dois últimos artigos. Aguardo ansiosamente suas próximas publicações. Se quiser, também o informarei sobre meus sucessos.

 
Евгений Чистюхин:

..., vinculei o R e o mt5 via R.Net (escrevi uma biblioteca dll, posso colocá-la no github). ....

Isso é muito interessante.

Onde posso ver isso?

Sua biblioteca tem alguma vantagem sobre essa?

 

Vladimir Perervenko

Criaremos redes neurais usando o pacote keras/TensorFlow do Python.

O que há de errado com o R

keras: Interface do R para o 'Keras'

ou

kerasR: Interface do R para a biblioteca de aprendizado profundo do Keras

CRAN - Package keras
  • cran.r-project.org
About Keras Layers About Keras Models Using Pre-Trained Models Keras Backend Writing Custom Keras Layers Frequently Asked Questions Guide to the Functional API Getting Started with...
 
Евгений Чистюхин:

Olá Vladimir, obrigado por seus artigos. Sou programador por profissão, principalmente em .NET, c#. Escrevi um Expert Advisor com base em seus artigos apenas para o terminal mt5. Uso o Keras com suporte a GPU, economiza tempo e nervos para treinar modelos, R e mt5 vinculados por meio do R.Net (escrevi uma biblioteca dll, posso publicá-la no github). Tentei também o H2O, funciona lentamente, suporte a GPU somente no Linux, não é adequado, eu trabalho com Windows. Fico feliz que você também tenha mudado para o Keras em seus artigos. O Expert Advisor mostrou bons resultados para EURUSD 15M, a amostra de dados foi tirada de 2003 a 2017 (treinamento, teste), usei apenas três preditores v.fatl, v.rbci, v.ftlm, mais perdictors, os resultados são piores, rede neural duas camadas ocultas densas 1000 neurônios em cada (muitos neurônios não são necessários, peguei 10 em cada camada oculta, também deu bons resultados). O Expert Advisor é quase o mesmo que o seu, com pequenas modificações, stop loss 500, take profit 100, não abro mais de 10 posições, bem, e fecho todas as posições Buy, se houver novas posições Cell, e vice-versa, tudo é simples, o resto do código é como o seu. Bem, todo esse código é apenas para EURUSD, para outras cotações pode ser necessário fazer tudo de forma diferente.

Aqui está o resultado do trabalho do Expert Advisor de 2017 até agora:

Coloquei o Expert Advisor em uma conta de centavos, testando por 2 semanas, e até agora ele funciona bem. Gastei muito tempo procurando um modelo de rede neural e testando-o, tentando diferentes variantes de redes Dense, LSTM, CONV, parei em um simples Dense. Também a seleção de diferentes preditores, seu DigFiltr + todos os tipos de indicadores, seus preditores mostraram o melhor resultado, sem nenhum indicador adicional. Acho que esse não é o limite, você pode criar um EA muito melhor. Agora tentarei aplicar os conjuntos de seus dois últimos artigos. Aguardo ansiosamente suas próximas publicações. Se quiser, também informarei sobre meus sucessos.

Bom dia, Eugene.

Fico feliz que os materiais de meus artigos o tenham ajudado. Algumas perguntas.

1. Pelo que entendi, você usa o keras para R? Você escreve scripts em R ou Python?

2. A biblioteca de gateway que usamos não funcionou para você? Veja aqui.

3. Publique sua versão da biblioteca e um exemplo de algum script. É interessante ver, experimentar e comparar.

4. É claro que eu e acho que muitos entusiastas ficaremos muito interessados em acompanhar seus experimentos.

5. Há muito tempo penso em abrir um tópico separado do RUSERGroop, no qual seria possível discutir questões específicas sobre linguagem, modelos sem inundação. Sonhos...

O surgimento da API para Python (reticulate) abre possibilidades quase ilimitadas para a criação de sistemas de qualquer complexidade. Tenho planos de treinar com aprendizado por reforço em conjunto com redes neurais em um futuro próximo.

Escreva sobre seus sucessos e faça perguntas.

Boa sorte, obrigado

 
СанСаныч Фоменко:

Vladimir Perervenko

Criaremos redes neurais usando o pacote keras/TensorFlow do Python

O que há de errado com o R

keras: Interface do R para o 'Keras'

ou

kerasR: Interface R para a biblioteca de aprendizado profundo do Keras.

Saudações, CC.

É assim que eu o uso. keras para R. Tentei o KerasR, mas devido ao fato de que o backend do tensorflow está se desenvolvendo muito rapidamente (já na versão 1.8), é mais confiável usar o pacote desenvolvido e mantido pela equipe do Rstudio.

Boa sorte