Sunday, 5 November 2017

Redes Neurais Média Móvel


Rede Neural 2 Médias Móveis Uma rede neural Expert Advisor com base em duas médias móveis com o modo de treinamento. Treine o Consultor Especialista em exemplos selecionados e obtenha lucros na vida real. A EA pode trabalhar em qualquer instrumento e em qualquer período de tempo. Algoritmo de negociação da EA Duas médias móveis são analisadas pelo núcleo da rede neural, que produz comandos para comprar ou vender. Os valores de duas médias móveis, rápidas (FMA) e lentas (SMA) são fornecidos para a primeira camada, na segunda camada calcula dois neurônios responsáveis ​​pela compra (N buy) e Sell (N sell), a decisão de comprar Ou a venda é feita no terceiro nível. O diagrama de blocos da rede neural é mostrado na figura. Treinamento Advisor Advisor No modo de treinamento, a EA lembra os valores das médias móveis marcadas pelo usuário no gráfico do instrumento monetário. No futuro, durante a operação normal, reconhece os valores das médias móveis. Para treinar a EA, marque pelo menos um longo e um curto comércio no gráfico. Para indicar um uso comercial longo, a Seta de compra e, para o curto comércio, use a Seta de venda. Você pode colocar mais setas no gráfico. Quanto mais flechas, maior será o processo de treinamento. A presença de outros objetos no gráfico além das setas não é desejável. Após o treinamento, a pasta NN 2MA será criada na pasta comum do terminal. Ele conterá o arquivo HHHHHHNN2MA. bin com as configurações da rede neural treinada. XXXXXX no nome do arquivo é o nome do instrumento financeiro. Em operação normal, a EA carrega os dados do arquivo. Se o arquivo não for encontrado, ele usará as configurações padrão. Por padrão, a EA é treinada em USDJPY e praça de uma hora, as negociações são selecionadas em 2012. Os seguintes parâmetros de entrada são responsáveis ​​pelo treinamento de EA: o número de pesos por neurônio. Igual ao comprimento do MA. Padrão - 48. O número de ciclos de treinamento - padrão 100. Quanto maior o valor, maior será o processo de treinamento. Na versão de teste é 10. Fator b - o valor afeta a velocidade da correção de pesos dos neurônios, é usado para treinar a rede. O valor padrão é 0.7, não precisa ser alterado. Modo de aprendizagem EA - permite o modo de treinamento da EA. Exemplos de especificações para treinamento da EA estão disponíveis na figura. Configurações do modo normal Configurações das médias móveis Você pode ajustar as configurações de cada média móvel: o período, o preço, o modo de cálculo. Volume de ordem - o padrão é 0,1. Valor de derrapagens em pontos - o padrão é 30. Número de tentativas para abrir uma posição - o padrão é 5. Nível StopLoss em pontos - o padrão é 0. Nível TakeProfit em pontos - o padrão é 0. Level TrailingStop em pontos - o padrão é 650. Permitir Gerenciamento de dinheiro - controle o tamanho da ordem para entrar no mercado, habilitado pela defalt. Se o modo estiver desativado, o tamanho da ordem é tirado do parâmetro Volume do pedido. O volume de pedidos como uma porcentagem do depósito - usado para controlar o tamanho da ordem, o padrão é de 5%. Adicionando à posição aberta - ativado por padrão. Se houver um sinal para entrar no mercado na direção de uma posição aberta, a EA entra no mercado. Configurações da Rede Neural O número de pesos por neurônio. Igual ao comprimento do MA. Quanto maior o valor, mais preciso será reconhecido o atual estado do mercado, mas reduz o número de negócios. Quanto menor o valor, menos reconhecimento será o estado atual do mercado, mas o número de negócios aumenta. O valor da ativação do neurônio. O valor é aproximadamente 0,75 do valor de O número de pesos por neurônio. Quanto maior o valor, mais rigoroso é a seleção de neurônios para tomar uma decisão. Na versão de teste é 40. O número de ciclos de treinamento - padrão é 100. Fator b a velocidade de correção de peso, o padrão é 0.7. Modo de aprendizagem EA o modo de treinamento de EA. Durante o treinamento, os valores máximos dos neurônios serão exibidos nos comentários no gráfico. Esses valores podem ser usados ​​como um valor de ativação do neurônio. Um exemplo é mostrado na figura. Ativar comentários - permite comentários no gráfico. Magic Number of Advisor. Pausar depois de negociar em milissegundos. Por padrão, a EA é treinada no USDJPY H1 em duas negociações em 2012. O resultado dos testes do Expert Advisor em 2013 é mostrado na figura. Quando temos que fazer uma previsão, os livros nos dizem que o método principal é o autorregressivo Modelo médio móvel. Na minha opinião, existe uma outra grande ferramenta, a rede de transmissão neural (FFNN). Então, eu acho que poderíamos usar duas ferramentas principais: média móvel autoregressiva Avançar rede neural contínua Claro que deve haver diferenças, mas não sou especialista. Quem, com experiência suficiente nesses dois métodos, pode me explicar as diferenças entre esses dois métodos ao fazer previsões feitas em 20 de fevereiro 14 às 14: 53.Eu entendi redes neurais com qualquer número de camadas ocultas podem se aproximar de funções não-lineares, no entanto, pode se aproximar : Não consigo pensar em como poderia. Parece uma limitação muito óbvia de redes neurais que podem potencialmente limitar o que pode fazer. Por exemplo, devido a essa limitação, as redes neurais provavelmente não podem adequadamente aproximar muitas funções usadas em estatísticas como Exponential Moving Average, ou mesmo variância. Falando em média móvel, as redes neuronais recorrentes podem se aproximar adequadamente de que eu entendo como uma rede neural feedforward ou mesmo um único neurônio linear pode produzir uma média móvel usando a técnica da janela deslizante, mas como as redes neurais recorrentes o fazem sem X quantidade de camadas ocultas (X sendo o tamanho médio móvel) Além disso, vamos assumir que não conhecemos a função original f. O que acontece para obter a média das últimas 500 entradas e, em seguida, emitir um 1 se for superior a 3 e 0 se não for. Mas por um segundo, fingir que não sabemos isso, é uma caixa preta. Como uma rede neural recorrente se aproximaria de que primeiro precisamos saber quantos timestaps deveria ter, o que não fazemos. Talvez uma rede LSTM pudesse, mas mesmo assim, e se não for uma média móvel simples, é uma média móvel exponencial, não acho que mesmo o LSTM possa fazê-lo. Pior ainda, e se f (x, x1) que estamos tentando aprender é simplesmente. Isso parece muito simples e direto. Pode uma rede neural aprender isso, eu não vejo como. Estou faltando algo enorme aqui ou são algoritmos de aprendizado de máquinas extremamente limitados. Existem outras técnicas de aprendizado além de redes neurais que realmente podem fazer qualquer um desses. O ponto chave para entender é compacto. As redes neurais (assim como qualquer outra estrutura de aproximação, polinômios, splines ou funções de base radiais) podem aproximar qualquer função contínua somente em um conjunto compacto. Em outras palavras, a teoria afirma que, dado: existe uma rede neural que se aproxima de f (x) com um erro de aproximação inferior a epsilon. Em todos os lugares dentro de um, b. Em relação ao seu exemplo de f (x) x 2. Sim, você pode aproximá-lo com uma rede neural dentro de qualquer intervalo finito: -1,1. 0, 1000. Etc. Para visualizar isso, imagine que você aproxima f (x) dentro de -1,1 com uma função Step. Você pode fazer isso em papel Note que, se você fizer as etapas suficientemente estreitas, você pode obter a precisão desejada. A forma como as redes neurais se aproximam de f (x) não é muito diferente disso. Mas, novamente, não existe uma rede neural (ou qualquer outra estrutura de aproximação) com um número finito de parâmetros que podem se aproximar de f (x) x 2 para todos os x in -,. Eu entendo que as redes neurais com qualquer número de camadas ocultas podem se aproximar das funções não-lineares, no entanto, ela pode se aproximar: A única maneira que eu posso entender essa questão é que você está falando sobre extrapolação. Então, e. Amostras de treinamento fornecidas no intervalo -1 lt x lt 1 pode uma rede neural aprender os valores certos para x gt 100. É isso o que você quer dizer, se você tivesse conhecimento prévio, que as funções que você está tentando aproximar provavelmente serão de baixa ordem Polinômios (ou qualquer outro conjunto de funções), então você certamente poderia criar uma rede neural que pode representar essas funções e extrapolar x2 em todos os lugares. Se você não tem conhecimento prévio, as coisas são um pouco mais difíceis: existem infinitamente muitas funções suaves que cabem em x2 no intervalo -1..1 perfeitamente, e não há nenhuma boa razão pela qual esperamos que x2 dê melhores previsões do que qualquer outra função. Em outras palavras: se não tivéssemos conhecimento prévio sobre a função tentando aprender, por que queremos aprender x - gt x2. No âmbito dos conjuntos de treinamento artificial, x2 pode ser uma função provável, mas no mundo real, provavelmente não é. Para dar um exemplo: Digamos que a temperatura na segunda-feira (t0) é 0, na terça-feira 1, na quarta-feira, 4. Não temos motivos para acreditar que as temperaturas se comportem como polinômios de baixa ordem, então não queremos inferir a partir desses dados Que a temperatura na próxima segunda-feira provavelmente será cerca de 49. Além disso, suponha que não conheçamos a função original f, que passa a obter a média das últimas 500 entradas e, em seguida, a saída de 1 se for superior a 3 e 0 se não é. Mas por um segundo, fingir que não sabemos isso, é uma caixa preta. Como uma rede neuronal recorrente se aproximaria de que eu acho que são duas questões: primeiro, uma rede neural pode representar essa função, isto é, Existe um conjunto de pesos que dariam exatamente esse comportamento. Obviamente depende da arquitetura da rede, mas acho que podemos criar arquiteturas que possam representar (ou pelo menos aproximar) esse tipo de função. Pergunta dois: Pode aprender esta função, com amostras de treinamento suficientes. Bem, se o seu algoritmo de aprendizado não ficar preso em um mínimo local, certifique-se: Se você tem amostras de treinamento suficientes, qualquer conjunto de pesos que não aproxima sua função dá um erro de treinamento maior Que 0, enquanto um conjunto de pesos que se encaixam na função que você está tentando aprender tem um erro de treinamento0. Então, se você encontrar um ótimo global, a rede deve caber na função. A razão pela qual eu estava pensando em x2. E médias móveis simples ou exponenciais, especialmente porque é usado um bom negócio na previsão do mercado financeiro na análise técnica. Eu estava esperando que uma rede neural pudesse potencialmente aprender esses algoritmos e negociar com base neles antes de precisar codificá-los e inserir seus resultados. No entanto, estou tentando descobrir se uma rede neural pode até aprender uma função como essa. Ndash Essam Al-Mansouri 1 de setembro 14 às 18:29 Compreendo como o x2 não é exatamente útil para a previsão do tempo e pode fazer com que a rede preveja 49 graus na próxima segunda-feira, mas I39m certeza de poder aprender uma função polinomial pode ser útil Para a previsão de preços FOREX, por exemplo. Eu entendo talvez uma arquitetura de rede diferente do que eu tenhamos em mente poderia ser capaz, mas não conheço nenhuma arquitetura que possa representar f (x, x1) xx1. Penso que posso ter usado a palavra aproximada em vez de representar, mas eu acredito em você Ainda entendi o que eu estava tentando dizer bem. Desculpe, eu não poderia editar minha última publicação a tempo. Ndash Essam Al-Mansouri 1 de setembro 14 às 18:41 Eu entendo redes neurais com qualquer número de camadas escondidas podem se aproximar de funções não-lineares, no entanto, pode se aproximar: Sim, pode. Eu não sei o que faz você pensar que é uma função difícil de se aproximar, é muito fácil. Dado suficientes unidades ocultas, uma rede neural pode aproximar qualquer função a uma precisão arbitrária em um intervalo arbitrário. Falando em média móvel, as redes neuronais recorrentes podem se aproximar adequadamente de que sim, pode. É novamente um problema muito simples que você parece pensar é difícil por algum motivo, você não está compartilhando. Você pode ver a solução trivial simplesmente criando o estado oculto suficientemente grande para conter toda a história e o resto da rede para calcular a média do estado oculto recorrente. Primeiro, precisamos saber quantos timestaps deveria ter, o que não fazemos. Isso é um problema de afinação de parâmetros, estes foram tratados anteriormente. Você pode facilmente procurar mais informações sobre eles. Estou faltando algo enorme aqui ou são algoritmos de aprendizado de máquinas extremamente limitados. Existem outras técnicas de aprendizado além de redes neurais que realmente podem fazer isso. Sim, você parece estar perdendo qualquer compreensão real das redes neurais. Sua primeira afirmação de que eu entendo redes neurais com qualquer número de camadas ocultas pode aproximar as funções não-lineares, no entanto, ela pode se aproximar mostra que você realmente não entende as palavras que você está usando. Há uma enorme variedade de tópicos que você pode estar falhando em entender ou combinar uns com os outros, e ninguém será capaz de configurá-lo diretamente em um formato QampA simples. Se você realmente quer entender o que está acontecendo, leve alguns cursos de pós-graduação em Aprendizado de Máquinas e Redes Neurais em particular. Um bom ponto de partida seria esses vídeos se você já possuir os conhecimentos necessários. Respondeu 1 de setembro 14 às 16:37 Este não é o lugar apropriado para ensinar. Pegue um dos muitos livros sobre o assunto e leia isso. Você ainda não considera o tipo de função de ativação ou há mais de uma unidade por entrada ou pode haver muitas camadas ocultas (não que elas sejam necessárias, mas ajudem a entender). Ndash Raff. Edward 1 de setembro às 19:09 Raff Edward, você era rude e depreciante em suas respostas simplesmente porque VOCÊ, e não o Essam, não entendem as limitações teóricas das Redes Neurais. NÃO, NÃO, NÃO Nenhuma rede neural pode aprender a função f (x) xx Também não pode aprender um número infinito de outras funções, a menos que você assuma o impraticável: 1- um número infinito de exemplos de treinamento 2- um número infinito de unidades 3- uma quantidade infinita de tempo para convergir NNs são bons em aprender problemas de reconhecimento de padrões de baixo nível (sinais que, no final, possuem algum padrão estatístico que pode ser representado por alguma função contínua), mas isso não é mais. Heres uma dica: tente Para criar um NN que leva n1 entradas de dados (x0, x1, x2. Xn) e retornará true (ou 1) se (2 x0) estiver no resto da seqüência. E boa sorte. As funções infinitas especialmente as que são recursivas não podem ser aprendidas. Apenas Raff Edward mal interpretou minha pergunta. Ele estava certo ao dizer que as redes neurais podem se aproximar de qualquer função, mas uma parte importante que ele e eu não especificamos corretamente é que pode aproximar qualquer função quotboundedquot. Isso significa que ele pode aproximar f (x) se x tiver um alcance infinito, como Panagiotis apontou. Ndash Essam Al-Mansouri 10 de janeiro às 9:03

No comments:

Post a Comment