Artigo: Previsão de preços com redes neurais - página 10

 
Sergey_Murzinov:

Sim.

Como uma pessoa que está apenas ligeiramente envolvida em redes neurais (apenas 12 anos) posso dizer a uma pessoa que está envolvida em redes neurais há muito tempo que a aplicação de redes neurais em qualquer tarefa é inseparável de seu projeto (programação). O principal é dois postulados: os dados iniciais (que é uma canção separada), e o mais importante - o algoritmo de treinamento. As redes podem fazer tudo - o principal é treiná-las corretamente.
Eu acrescentaria a interpretação dos resultados ao algoritmo de treinamento. É mais fácil obter resultados através de treinamento do que fornecer a solução correta para o problema. Se considerarmos que a flutuação de preços é uma série cronológica pseudo-estocástica, então apenas a questão da aplicação e interpretação surge acentuadamente ...
 
Reshetov:
suculento_emad:

Eu nunca pensaria que alguém questionaria a necessidade de usar malhas multicamadas para melhorar o desempenho da classificação. =)

Recomendo a leitura do que Jan LeCun escreve sobre o assunto - http://yann.lecun.com/exdb/mnist/index.html. No entanto, a área temática é um pouco diferente lá - o reconhecimento do caráter. De qualquer forma, de qualquer forma, as malhas de camada única apresentaram os piores resultados - 8,4%. No entanto! Uma das multicamadas (bilayer, com 300 neurônios na camada oculta) teve um resultado muito bom - 1,6% de erro. Isto é, com a adição de até mesmo uma camada, a malha se torna muito "mais poderosa".


Exatamente, porque se trata de uma área temática diferente e, portanto, uma abordagem diferente. Os contornos dos caracteres em fontes padrão são imutáveis, portanto faz sentido treinar a rede uma vez em um exemplo, por exemplo, em algumas páginas, para que a rede neural reconheça os caracteres no resto do livro com alta precisão.

Quanto aos mercados financeiros, trata-se de outra área onde tudo está em constante mudança e em constante movimento. E, por isso, as complexas multicamadas estão aqui estragadas. Uma analogia exagerada no campo do reconhecimento de caracteres é que se em uma página de um livro um símbolo "A" deve ser interpretado como "A" e na seguinte, o mesmo "A" já é interpretado como "B".

Por esta razão, o mesmo padrão reconhecido em diferentes seções dos dados históricos do instrumento financeiro pode ser interpretado de forma diferente nos sinais comerciais, ou seja, em algumas seções sua identificação é mais apropriada para abrir posições longas e fechar posições curtas, enquanto em outras seções é vice-versa: abrir posições curtas e fechar posições longas.

O trabalho que liguei acima utilizou o banco de dados MNIST. Este banco de dados contém imagens manuscritas, não manuscritas ou impressas de caracteres.

É claro que entendo que tudo nos mercados financeiros está em constante dinâmica, mas os padrões conflitantes (entrada é a mesma e saída são duas classes diferentes) podem ser eliminados aumentando a quantidade de informações na entrada da grade ou (como alguém sugeriu acima) tais padrões podem ser excluídos da amostra de treinamento. É claro, na variante sugerida por você no artigo sobre o uso de um perceptron de camada única, havia muitos padrões conflitantes. Pois, havia apenas 4 entradas.

Meu argumento é que os perceptrons de camada única não são capazes de resolver o problema XOR (ver o livro de Minsky) e isto os torna imperfeitos.

 
rip:

Eu também adicionaria interpretação dos resultados ao algoritmo de treinamento.
Alcançar um resultado de aprendizado é mais fácil do que garantir o correto
para resolver o problema. Se você considerar que a flutuação de preços é um pseudo-estocástico
série cronológica, é a questão da aplicação e interpretação
...

Com a interpretação da(s) saída(s) da rede, o trabalho começa. Ou seja, lá se vai a declaração do problema. Portanto, concordo plenamente com você.

 
Eu gostaria de levantar a questão do que exatamente você usa para criar uma amostra de treinamento. Isto é o mais importante, afinal de contas.
 
slava1:
Eu gostaria de levantar a questão do que exatamente você usa para criar uma amostra de treinamento. Isto é o mais importante.

O aprendizado por amostragem é criado pelos indicadores convencionais

E que tipo é o mais íntimo, assim como a preparação dos dados

 
Por quê? Porque ninguém está pedindo um algoritmo. Apenas para compartilhar seus pensamentos.
 
slava1:
Por quê? Porque ninguém está pedindo um algoritmo. Apenas para compartilhar seus pensamentos.
Não é um assunto público.
 
Então eu me pergunto do que estamos falando aqui se ninguém quer falar sobre as coisas mais importantes.
 
slava1:
Então eu me pergunto do que estamos falando aqui, se ninguém quer falar sobre o mais importante.

Neste caso, é como uma corrida armamentista, ninguém acredita em ninguém :)


O conjunto inicial de dados de treinamento também pode ser {H,L,O,C} ... O que importa é o modelo, a idéia por trás da rede e o sistema como um todo.

Se a idéia estiver correta, o objetivo for formulado corretamente e a estimativa de erro f-f-função for escolhida corretamente, o resultado é um certo acerto da rede para o local

mínimo após N épocas de treinamento. Além disso, a arte é tirar a rede do impasse com o mínimo de perdas e continuar aprendendo.

E aqui todos os meios são bons, pré-processamento de dados, substituição de arquitetos, algoritmos de aprendizagem - o principal é geralmente alcançar o modelo que você está desenvolvendo.



E quanto ao que alimentar, recomendo tentar uma implementação de uma das redes da Reshetov, há várias delas neste fórum e depois avaliar.

O modelo, o resultado - bem, tudo está em suas mãos.

 
Há muito tempo que sei o que devo aplicar. Eu queria discutir possíveis modelos, por assim dizer. Normalmente funciona melhor se trabalharmos juntos. Eu mesmo tenho trabalhado em um robô já há um ano. Há resultados, mas não muito estáveis.
Razão: