Redes Neurais - página 13

 
Kazam:
Se você quiser uma boa fonte de informação sobre a HONN obtenha o livro "Artificial Higher Order Neural Networks for Economics and Business" (Redes Neurais de Ordem Superior Artificial para Economia e Negócios). É uma nova publicação, portanto, tem muito boa informação. O preço é um assassino (180$), mas você pode encontrá-lo em pdf .

Era disso que eu estava falando, é bom. Só consegui um pouco e já me deu muitas idéias. Implementá-las, para mim de qualquer forma, é um pouco mais complicado, sou um pouco neuberante a este malarquia de codificação...

Obrigado pelas recomendações e veja... Talvez tenha sorte e encontre algumas delas na biblioteca da uni. Eles acabaram de construir um novo edifício de Inteligência Artificial com sua própria biblioteca para que possa haver algo lá. Caso contrário, basta baixá-lo...

Dividi meus dados de 10yr em dois pedaços de 2/3 e 1/3 respectivamente, treinei a rede nos primeiros 2/3rds (incluindo a divisão desses 2/3 em treinamento, teste e pedaços de CV) e depois testei a rede resultante nos 1/3 restantes e pareceu permanecer precisa. Houve alguma perda mínima de precisão, mas ainda era linha de regressão de 0,9995. Isso ainda poderia ser explicado pelo excesso de ajuste nos dados de treinamento anteriores?

 
Kazam:

- "Gen Expression Programming" - por Candida Ferreira.

Cândida Ferreira não é a bactéria que causa o tordo?

 

surfeur

Eu não negocio Forex usando ENN. Posso começar em breve, mas provavelmente usarei sistemas de classificação/sistemas que decidem quando devo fazer negócios longos/curtos em vez de tentar prever o preço - o Forex é volátil.

Por enquanto estou usando ENN e algoritmos genéticos / e algumas outras coisas como lógica difusa, teoria de conjunto aproximada etc./ para gerenciamento de carteira / previsão de taxas de juros de longo prazo para fins de negociação de T-bills etc./.

Os resultados são muito bons. Eles serão melhores quando tudo ficar melhor e mais estável após o fim da crise financeira.

mrwobbles

Para fins de negociação Forex, não olhe para as medidas de erro, mas verifique se as previsões mostram a mesma direção de movimento de preços como a produção desejada. O que quero dizer - se o NN mostrar que o próximo preço fechará mais alto do que o atual do que você deveria esperar que o preço se movesse pelo menos x pips acima de seu nível de abertura. Prever o nível exato do preço é quase impossível para prazos como H1 ou H4.

O pequeno erro que você obtém agora é causado pelo método errado de sua medição.

E você está certo - há um gênero de leveduras chamado Candida

 

Tentei prever o fechamento, bem como a abertura, porque acho que você está certo ao prever que o fechamento exato seria quase impossível. Você acha que uma rede adequada com neurônios e pesos geneticamente otimizados seria capaz de fazê-lo dentro de 5 pips se você a fornecesse com as entradas corretas. Você já pensou em usar os mapas de auto-organização Kohonen (SOMs) para prever mais do que t+1 no futuro? Meu entendimento é que as redes Kohonen podem pegar a previsão para t+1 e depois usar esse valor para prever todos os valores para dizer t+10, talvez eu esteja errado. Isto seria útil, embora todos os exemplos que vi tenham sido menos precisos do que o que estou procurando.

 

Com o objetivo de prever as séries cronológicas Forex, esqueça as SOM's. ENN são muito melhores.

Se você quiser prever passos sobre t+1 /t+2, t+3 etc./ basta usar um período de tempo diferente. Por exemplo, se você quiser prever a tendência para a próxima semana, use o cronograma W1. Não preveja t+n com base em t+n-1 / porque as taxas de câmbio Forex são caóticas e não lineares/. Você também pode treinar uma rede para prever t+1, a segunda para prever t+2 /usando os mesmos dados/ e assim por diante.

Uma idéia muito boa é construir sistemas híbridos. Em palavras simples - pegue 5-6 melhores redes neurais e combine sua saída / você pode usar média simples para isto [(out1+out2+...+outN)/N)], GEM, LWPR [LWPR é a melhor escolha IMO] etc./

 

Foi basicamente o que eu pensei, vi algumas previsões das SOMs e elas podem ter acertado a tendência durante um período de, digamos, 20 passos, mas estavam muito longe no caminho real que o preço tomou. Acho que o uso da otimização genética é o caminho a seguir, dado que a NN foi projetada para imitar os sistemas biológicos, parece lógico que acrescentar alguma forma de processo evolutivo aumentará a precisão.

Não tenho certeza sobre estes resultados, aumentei o zoom para verificar se a direção é a correta e parece que a obtenho com mais freqüência do que não. Há um par de resultados anômalos (um em que o resultado é de 400 pips = S), mas na maior parte das vezes, ele acerta a direção. A figura mostra previsões (verde) contra alvos (azul) para perto, alto e baixo. Li muito sobre as ANNs, mas esta é minha primeira forragem para construí-las, então não sei exatamente o que estou procurando além do óbvio.

Arquivos anexados:
gbpjpy60-3.jpg  67 kb
 

oi

Vou postar novamente: há vários anos escrevi uma tese sobre lógica fuzzy + Rede Neural com Propagação de Costas para prever o depósito de petróleo em um processo de registro de poços e o resultado é bom, então acho que a lógica fuzzy com Propagação de Costas NN pode ser implementada para prever a tendência neste negócio, mas são necessários mais dados para treinar para obter um resultado melhor, usei 9 nós para prever o padrão de rochas, não sei quantos nós para reconhecer um padrão forex.

===================

Coleta de Indicadores Forex

 
prasxz:
Vou postar isto novamente: há vários anos escrevi uma tese sobre lógica fuzzy + Rede Neural com Propagação de Costas para prever o depósito de petróleo em um processo de registro de poços e o resultado é bom, então acho que a lógica fuzzy com Propagação de Costas NN pode ser implementada para prever a tendência neste negócio, mas são necessários mais dados para treinar para obter um resultado melhor, usei 9 nós para prever o padrão de rochas, não sei quantos nós para reconhecer um padrão forex.

===================

Coleção de Indicadores Forex

Li que isso depende em grande parte do número de entradas que você está dando à rede. Estou dando 32 entradas e quero 3 saídas para que eu comece com (32-3)/2=14,5 assim digamos 14 neurônios e depois trabalhe a partir daí. O modelo que construí usa 13 nós, curiosamente diminuindo os nós aumentou tanto a precisão quanto o tempo de convergência que diminuiu depois de um ponto. A aplicação de um algoritmo genético ao problema para criar um ENN, como Kazam estava falando, deveria permitir à rede escolher a rede mais otimizada em um espaço de amostra de todas as redes possíveis que produzem resultados precisos. Isto se eu tiver entendido o que li sobre elas. Imagino que isto aumentaria significativamente o tempo necessário para construir a rede.

 

prasxz

Redes neurais felpudas e sistemas neurais híbridos felpudos podem ser uma escolha muito boa na construção de sistemas comerciais. Eles podem ser menos úteis para o propósito de prever séries cronológicas caóticas.

mrwobbles

Esses gráficos mostram os dados de treinamento /desejados vs previstos/?

A escolha de um número adequado de nós é muito difícil. A fórmula apresentada é inútil /mas é muito popular/ - não há nenhuma maneira determinista de escolher uma arquitetura ótima, ou quase ótima, NN.

Os algoritmos genéticos superam este problema. Você fornece um AG com dois grupos - um com símbolos /inputs terminais, constantes etc./ e o outro com funções /nós com diferentes funções de ativação, funções trigonométricas etc./, e o algoritmo "constrói" NN's usando membros desses grupos. Desta forma, você pode obter um NN que tem 3 nós e 5 entradas ou um NN que tem 30 nós e 50 entradas. Quanto mais gerações você esperar, melhores NN's você receberá/lerá sobre o teorema do esquema da Holanda se quiser saber por que isso acontece assim

http://en.wikipedia.org/wiki/Holland%27s_schema_theorem

/.

 
Kazam:

mrwobbles

Esses gráficos mostram os dados de treinamento /desejados vs previstos/?

A escolha de um número adequado de nós é muito difícil. A fórmula apresentada é inútil /mas é muito popular/ - não há nenhuma maneira determinista de escolher uma arquitetura ótima, ou quase ótima, NN.

Os algoritmos genéticos superam este problema. Você fornece um AG com dois grupos - um com símbolos /inputs terminais, constantes etc./ e o outro com funções /nós com diferentes funções de ativação, funções trigonométricas etc./, e o algoritmo "constrói" NN's usando membros desses grupos. Desta forma, você pode obter um NN que tem 3 nós e 5 entradas ou um NN que tem 30 nós e 50 entradas. Quanto mais gerações você esperar, melhores NN's você receberá/lerá sobre o teorema do esquema da Holanda se quiser saber por que isso acontece assim

http://en.wikipedia.org/wiki/Holland%27s_schema_theorem
/.

Sim, treinamento vs. previsto. Eu construí uma nova rede com os primeiros 6-7 anos de dados usados para treinar, testar e validar transversalmente. Depois alimentei os 3 anos restantes de dados como um teste sem aprendizagem, sendo a idéia imitar um teste ao vivo. A linha de regressão do treinamento tinha uma inclinação de 0,99995 e quando a alimentei com cerca de 3 anos de dados antes não vistos que mergulharam para 0,9995. Não tenho certeza de como interpretar isto. Parece um pouco exato demais para algo que eu juntei em menos de uma hora.

Sim, eu encontrei essa fórmula em uma introdução ao livro de redes neurais que encontrei na biblioteca. Ela cobriu o básico e para mim foi uma boa indução ao mundo das redes neurais. Para alguém que está começando, é um lugar tão bom quanto qualquer outro para começar antes de enfrentar conceitos mais difíceis como algoritmos genéticos.

Se eu entendi corretamente, isso envolve gerar, no início, uma população aleatória de programas (pesos de entrada, camadas ocultas, neurônios, etc.) que poderiam resolver o problema e, em seguida, usar programas de pais ótimos para criar uma nova geração de programas que, espera-se, deveriam ser melhores do que os últimos. Certamente, se você gerar a primeira população ao acaso, não há uma chance de gerar uma população na qual nenhum programa resolva o problema? Ou a idéia é começar com uma população que não resolva o problema e depois desenvolver uma população que resolva? Certamente isso envolveria muito cálculo? Mais do que dizer que a área de trabalho média poderia lidar? Eu imaginaria processamento paralelo de placas gráficas ou, melhor ainda, um sistema maciçamente paralelo seria necessário. Dito isto, entretanto, parece ser a melhor abordagem para selecionar a solução mais otimizada.

Você não seria melhor começar com uma população de, digamos, 12 redes criadas a partir de treinamento usando métodos existentes e depois usar esse conjunto de programas para produzir descendentes uns com os outros? Você poderia então criar uma estrutura do tipo árvore familiar, usando os métodos que você sugeriu para evoluir uma população melhor, podando a descendência mal sucedida e selecionando os 12 programas mais otimizados para serem os pais das próximas gerações? A idéia é começar com uma população que você conhece que resolva o problema e depois desenvolver um programa mais eficiente a partir da descendência resultante.

Razão: