MetaTrader 4 - Exemplos Usando Redes Neurais Em MetaTrader Introdução Muitos de vocês provavelmente consideraram a possibilidade de usar redes neurais em sua EA. Este assunto foi muito quente especialmente depois de 2007 Automated Trading Championship ea vitória espetacular por Better com seu sistema baseado em redes neurais. Muitos fóruns de internet foram inundados com tópicos relacionados a redes neurais e negociação de Forex. Infelizmente, a implementação MQL4 nativa de NN não é fácil. Ele requer algumas habilidades de programação eo resultado não seria muito eficiente especialmente se você gostaria de testar seu resultado final no testador em grande número de dados. Neste artigo Ill mostrar-lhe como você pode usar o livremente disponível (sob LGPL), renomado Fast Artificial Neural Network Library (FANN) em seu código MQL4, evitando certos obstáculos e limitações. Além disso, eu assumo que o leitor está familiarizado com Redes Neurais Artificiais (ann) e terminologia relacionada com este assunto tão mal se concentrar em aspectos práticos de utilização de implementação particular de ann em linguagem MQL4. Recursos do FANN Para entender completamente as possibilidades de implementação do FANN, é necessário familiarizar-se com a documentação e as funções mais usadas. O uso típico de FANN é criar uma rede feedforward simples, treiná-lo com alguns dados e executar. A rede criada e treinada pode então ser salva em arquivo e restaurada posteriormente para uso posterior. Para criar um ann um tem que usar a função fanncreatestandard (). Vamos ver a sua sintaxe: Onde numlayers representa o número total de camadas, incluindo a entrada ea camada de saída. O lNnum e argumentos a seguir representa o número de neurônios em cada camada começando com a camada de entrada e terminando com a camada de saída. Para criar uma rede com uma camada oculta com 5 neurônios, 10 entradas e 1 saída um teria que chamá-lo como segue: Uma vez que o ann é criado a próxima operação seria treiná-lo com alguns dados de entrada e saída. O método de treinamento mais simples é o treinamento incremental que pode ser alcançado pela seguinte função: Esta função leva o ponteiro para a estrutura fann retornada anteriormente por fanncreatestandard () e tanto o vetor de dados de entrada quanto o vetor de dados de saída. Os vetores de entrada e saída são de matriz de tipo fanntype. Esse tipo é, na verdade, um tipo duplo ou flutuante, dependendo da maneira como o FANN é compilado. Nesta implementação, os vetores de entrada e saída serão matrizes de duplo. Uma vez que o ann é treinado o próximo recurso desejado seria executar essa rede. A função que implementa é definida como segue: Esta função leva o ponteiro para struct fann representando a rede previamente criada e um vetor de entrada do tipo definido (matriz dupla). O valor retornado é uma matriz de vetor de saída. Este fato é importante como para uma rede utput nós allways obter uma matriz de elemento com o valor de saída em vez do valor de saída em si. Infelizmente, a maioria das funções FANN usar um ponteiro para uma estrutura fann representando o ann que não pode ser tratada diretamente pelo MQL4 que não suporta estruturas como tipos de dados. Para evitar essa limitação temos que envolver isso de alguma forma e ocultar de MQL4. O método mais fácil é criar uma matriz de ponteiros struct fann segurando os valores corretos e referenciá-los com um índice representado por uma variável int. Desta forma, podemos substituir o tipo não suportado de variável com um suportado e criar uma biblioteca wrapper que pode ser facilmente integrado com o código MQL4. Envolvendo o FANN em torno Como para o meu melhor conhecimento MQL4 não suporta funções com argumentos variáveis lista por isso temos de lidar com isso também. Por outro lado, se a função C (do comprimento dos argumentos variáveis) é chamada com muitos argumentos, nada de errado acontece, então podemos assumir um número máximo fixo de argumentos na função MQL4 passada para a biblioteca C. A função resultante do wrapper seria como segue: Nós mudamos o fann principal com f2M (que significa FANN TO MQL), usado número estático de argumentos (4 camadas) eo valor de retorno é agora um índice para matriz interna de anns segurando a estrutura Fann requeridos pelo FANN para operar. Desta forma, podemos facilmente chamar essa função de dentro do código MQL. O mesmo vale para: Por último, mas não menos importante é o fato de que você deve destruir a sua vez criado ann pela chamada para: Para liberar anny handles você deve destruir as redes em ordem inversa do que foram criados criados. Como alternativa você pode usar: No entanto Im bastante certo alguns de vocês podem preferir salvar sua rede treinada para uso posterior com: Claro que a rede salva pode ser carregado mais tarde (ou melhor, recriado) com: Uma vez que conhecemos as funções básicas que poderíamos tentar Use isso em nossa EA, mas primeiro precisamos instalar o pacote Fann2MQL. Instalando Fann2MQL Para facilitar o uso deste pacote eu tenho criar o instalador msi que contém todo o código-fonte mais bibliotecas pré-compiladas e arquivo de cabeçalho Fann2MQL. mqh que declara todas as funções Fann2MQL. O procedimento de instalação é bastante simples. Primeiro você é informado de que Fann2MQL está sob licença GPL: Instalação de Fann2MQL, etapa 1 Em seguida, escolha a pasta para instalar o pacote. Você pode usar o programa padrão FilesFann2MQL ou instalar diretamente em seu diretório Meta Traderexperts. O mais tarde irá colocar todos os arquivos diretamente em seus lugares caso contrário você terá que copiá-los manualmente. Instalação do Fann2MQL, etapa 2 O instalador coloca arquivos nas seguintes pastas: Se você optar por instalar na pasta Fann2MQL dedicada, copie o conteúdo de suas subpastas de inclusão e bibliotecas no diretório apropriado do Meta Trader. O instalador instala também a biblioteca FANN na pasta de bibliotecas do sistema (Windowssystem32 na maioria dos casos). A pasta src contém todo o código-fonte do Fann2MQL. Você pode ler o código fonte que é uma documentação final se você precisar de mais informações sobre os internos. Você também pode melhorar o código e adicionar recursos adicionais, se quiser. Encorajo-vos a enviar-me os seus patches se implementarem algo interessante. Usando redes neurais em seu EA Depois que o Fann2MQL estiver instalado, você pode começar a escrever seu próprio EA ou indicador. Theres abundância de possível utilização de NN. Você pode usá-los para prever futuros movimentos de preços, mas a qualidade de tais previsões e possibilidade de tirar proveito real dela é duvidosa. Você pode tentar escrever sua própria estratégia usando técnicas de Reforço Aprendizagem, diga um Q-Learning ou algo semelhante. Você pode tentar usar NN como um filtro de sinal para sua EA heurística ou combinar todas essas técnicas, além de tudo o que você realmente deseja. Youre limitado por sua imaginação somente. Aqui eu vou mostrar um exemplo de usar NN como um filtro simples para sinais gerados pelo MACD. Por favor, não considerá-lo como EA valioso, mas como um exemplo de aplicação de Fann2MQL. Durante a explicação da maneira como o exemplo EA: NeuroMACD. mq4 funciona Ill mostrar-lhe como o Fann2MQL pode ser utilizado eficazmente no MQL. A primeira coisa para cada EA é a declaração de variáveis globais, define e inclui a seção. Aqui está o começo do NeuroMACD contendo essas coisas: O comando include diz para carregar o arquivo de cabeçalho Fann2MQL. mqh contendo a declaração de todas as funções do Fann2MQL. Depois disso, todas as funções do pacote Fann2MQL estão disponíveis para uso no script. A constante ANNPATH define o caminho para armazenar e carregar arquivos com redes FANN treinadas. Você precisa criar essa pasta, por exemplo, C: ANN. A constante NAME contém o nome deste EA, que é usado mais tarde para carregar e salvar arquivos de rede. Os parâmetros de entrada são bastante óbvios e aqueles que não são explicados mais tarde, bem como variáveis globais. O ponto de entrada de cada EA é sua função init (): Primeiro, verifica se o EA é aplicado ao período de tempo correto. A variável AnnInputs contém o número de entradas de rede neural. Como bem usar 3 conjuntos de diferentes argumentos queremos que ele seja divisível por 3. AnnPath é computado para refletir o EA NAME e MagicNumber. Que é calculado a partir do SlowMA. FastMA e SignalMA argumentos de entrada que são usados mais tarde para sinalização do indicador MACD. Uma vez que conhece o AnnPath, a EA tenta carregar redes neurais usando a função annload () que descreverei abaixo. Metade das redes carregadas destina-se a filtrar a posição longa e a outra metade é para curtas. A variável AnnsLoaded é usada para indicar o fato de que todas as redes foram inicializadas corretamente. Como você provavelmente notou este exemplo EA está tentando carregar várias redes. Duvido que seja realmente necessário neste aplicativo, no entanto, eu queria mostrar a você o potencial completo do Fann2MQL, que está lidando com várias redes ao mesmo tempo e pode processá-las em paralelo, aproveitando vários núcleos ou CPUs. Para torná-lo possível, o Fann2MQL está aproveitando a tecnologia Intel Threading Building Blocks. A função f2Mparallelinit () é usada para inicializar essa interface. Como você pode ver se o f2Mcreatefromfile () falha, o que é indicado pelo valor de retorno negativo, a rede é criada com a função f2Mcreatestandard () com argumentos que indicam que a rede criada deve ter 4 camadas (Incluindo entrada e saída), entradas AnnInput, neurônios AnnInput na primeira camada oculta, neurônios AnnInput21 na camada escondida 2 e 1 neurônio na camada de saída. F2Msetactfunctionhidden () é usado para definir a função de ativação de camadas ocultas para SIGMOIDSYMMETRICSTEPWISE (consulte a documentação FANN de fannactivationfuncenum) eo mesmo vale para a camada de saída. Então há a chamada para f2mrandomizeweights () que é usada para inicializar pesos de conexão de neurônios dentro da rede. Aqui eu usei a escala de lt-0.4 0.4gt mas você pode usar qualquer outro dependendo de sua aplicação. Neste ponto, você provavelmente já notou a função debug () eu usei um par de vezes. É um dos métodos mais simples para alterar o nível detalhado do EA. Juntamente com ele eo parâmetro de entrada DebugLevel você pode ajustar a maneira que seu código está produzindo a saída de depuração. Se o primeiro argumento da função debug (), o nível de depuração é maior do que DebugLevel a função não produz nenhuma saída. Se seu menor de igual a seqüência de texto é impresso. Se o nível de depuração é 0, a cadeia de caracteres ERROR: é anexada ao início. Desta forma, você pode dividir depuração produzido pelo seu código para vários níveis. Os mais importantes são provavelmente erros para que eles são atribuídos ao nível 0. Eles serão impressos a menos que você abaixar o DebugLevel para abaixo de 0 (que não é aconselhável). No nível 1, algumas informações importantes serão impressas, como confirmação de carregamento ou criação bem-sucedida da rede. No nível 2 ou superior, a importância da informação impressa está diminuindo gradualmente. Antes da explicação detalhada da função start (), que é bastante demorada, eu preciso mostrar algumas funções mais para preparar a entrada de rede e executar as redes reais: A função annprepareinput () é usada para preparar o nome de entrada para as redes (Assim o nome). A finalidade dele é completamente direta, contudo este é o ponto que eu devo o lembrar que os dados de entrada têm que ser corretamente normalizados. Não há nenhuma normalização sofisticada neste caso, eu simplesmente usei o MACD principal e valores de sinal que nunca estão excedendo o intervalo desejado nos dados contabilizados. No exemplo real você provavelmente deve prestar mais atenção a esta questão. Como você provavelmente pode suspeitar de escolher os argumentos de entrada adequada para entrada de rede, codificando-o, decompor e normalizar é um dos fatores mais importantes no processamento de rede neural. Como eu mencionei antes do Fann2MQL tem a capacidade de estender a funcionalidade normal do MetaTrader, que é paralelo multithreaded processamento de redes neurais. O argumento global Parallel controla esse comportamento. A função runanns () executa todas as redes inicializadas e obtém as saídas delas e armazena na matriz AnnOutput. A função annsrunparallel é responsável pela manipulação do job de maneira multithread. Ele chama o f2mrunparallel () que toma como primeiro argumento o número de redes a processar, o segundo argumento é uma matriz contendo identificadores para todas as redes que você deseja executar fornecendo o vetor de entrada como um terceiro argumento. Todas as redes têm de ser executadas nos mesmos dados de entrada. A obtenção da saída da rede é feita por várias chamadas para f2mgetoutput (). Agora vamos ver a função start (): Ill descrevê-lo brevemente como é bastante bem comentado. O tradeallowed () verifica se é permitido o comércio. Basicamente, ele verifica a variável AnnsLoaded indicando que todos os anns foram inicializados corretamente, em seguida, verifica o período de tempo adequado período mínimo saldo da conta e no final só permite negociar apenas no primeiro tick de uma nova barra. Próxima função dois que são usados para preparar a entrada de rede e executar o processamento de rede foram descritos apenas algumas linhas acima. Em seguida, calculamos e colocamos em variáveis para processamento posterior os valores de MACD de sinal e linha principal para a última barra de acúmulo e a anterior. A barra atual é omitida, uma vez que ainda não está sendo construída e provavelmente será redesenhada. O SellSignal e BuySignal são calculados de acordo com o sinal de MACD e crossover de linha principal. Ambos os sinais são usados para o processamento de posição longa e curta que são simétricos assim Ill descrever apenas o caso de longos. A variável LongTicket contém o número do ticket da posição atualmente aberta. Se o seu igual a -1 nenhuma posição é aberta, então se o BuySignal é definido que pode indicar boa oportunidade para abrir posição longa. Se a variável NeuroFilter não é definida a posição longa é aberta e que é o caso sem a rede neural de filtragem de sinais - a ordem é enviada para comprar. Neste ponto, a variável LongInput destina-se a lembrar o InputVector preparado por annprepareinput () para uso posterior. Se a variável LongTicekt contiver o número de bilhete válido, a EA verificará se ainda está aberta ou foi fechada pelo StopLoss ou pelo TakeProfit. Se a ordem não for fechada, nada acontece, no entanto, se a ordem é fechada, o vetor de saída de treino, que tem apenas uma otput, é calculado para manter o valor de -1 se a ordem foi fechada com perda ou 1 se a ordem foi fechada com lucro . Esse valor é então passado para a função anntrain () e todas as redes responsáveis pela manipulação da posição longa são treinadas com ele. Como o vetor de entrada é usada a variável LongInput, que está mantendo o InputVector no momento da abertura da posição. Desta forma a rede é ensinada que sinal está trazendo lucros e qual não é. Depois de ter uma rede treinada comutação do NeuroFilter para true transforma a filtragem de rede. O annwiselong () está usando a rede neural sábia calculada como uma média de valores retornados por todas as redes destinadas a lidar com a posição longa. O parâmetro Delta é usado como um valor de limiar indicando que o sinal filtrado é válido ou não. Como muitos outros valores que foi obtido através do processo de otimização. Agora, uma vez que sabemos como funciona Ill mostrar-lhe como ele pode ser usado. O par de teste é, naturalmente, EURUSD. Eu usei os dados da Alpari. Convertido para o tempo M5. Eu usei o período de 2007.12.31 a 2009.01.01 para otimização de treinamento e 2009.01.01-2009.03.22 para fins de teste. Na primeira corrida, tentei obter os valores mais rentáveis para o argumento StopLoss, TakeProfit, SlowMA, FastMA e SignalMA, que codifiquei no arquivo NeuroMACD. mq4. O NeuroFIlter foi desligado, bem como SaveAnn. O AnnsNumber foi definido como 0 para evitar processamento neural. Eu usei o algoritmo genético para o processo de otimização. Uma vez que os valores foram obtidos o relatório resultante parecia o seguinte: Relatório sobre dados de treinamento após a otimização de parâmetros básicos. Como você pode ver, eu executei este EA na mini conta com o tamanho do lote de 0,01 eo saldo inicial de 200. No entanto, você pode ajustar esses parâmetros de acordo com suas configurações de conta ou preferências. Neste ponto, temos o suficiente rentável e perder negócios, para que pudéssemos ligar o SaveAnn e definir o AnnsNumber para 30. Depois de feito isso eu executar o testador mais uma vez. O resultado foi exatamente o mesmo com o exceto pelo fato de que o processo foi muito mais lento (como resultado do processamento neural) ea pasta C: ANN foi preenchida com as redes treinadas como mostrado na imagem abaixo. Certifique-se de que a pasta C: ANN existia antes desta execução A pasta C: ANN. Uma vez que temos redes treinadas seu tempo para testar como ele se comporta. Primeiro, experimente os dados de treinamento. Altere o NeuroFilter para true e SaveAnn para false e inicie o testador. O resultado que obtive é mostrado abaixo. Note que pode variar ligeiramente para você caso, como há alguma aleatoriedade dentro de redes em pesos de conexão de neurônios fornecidos no processo de inicialização de rede (neste exemplo eu usei chamada explícita para f2Mrandomizeweights () dentro annload ()). Resultado obtido em dados de treinamento com filtragem neural de sinal ativada. O lucro líquido é pouco maior (20,03 versus 16,92), mas o fator de lucro é muito maior (1,25 versus 1,1). O número de negócios é muito menor (83 vs 1188) eo número médio de perdas consecutivas é reduzido de 7 para 2. No entanto, ele só mostra que a filtragem de sinal neural está funcionando, mas não diz nada sobre como ele opera em dados que não foram usados para Durante o treinamento. O resultado obtido a partir do período de teste (2009.01.01 - 2009.30.28) é mostrado abaixo: Resultado obtido a partir de dados de teste com filtro neural ativado. O número de comércios realizados é bastante baixo e é difícil dizer a qualidade desta estratégia, mas eu não ia mostrar-lhe como escrever a melhor EA rentável, mas para explicar como você poderia usar redes neurais em seu código MQL4. O efeito real da utilização de redes neurais neste caso só pode ser visto quando comparados os resultados da EA nos dados do teste com o NeuroFilter ligado e desligado. Abaixo está o resultado obtido do período de dados de teste sem filtragem de sinal neural: Resultados de dados de teste sem filtragem neural. A diferença é óbvia. Como você pode ver a filtragem de sinal neural virou a EA perdedor em um rentável Conclusão Espero que você tenha aprendido a partir deste artigo como usar redes neurais no MetaTrader. Com a ajuda de Fann2MQL simples, livre e opensource pacote você pode facilmente adicionar a camada de rede neural em praticamente qualquer Expert Advisor ou começar a escrever o seu próprio que é total ou parcialmente baseado em redes neurais. A capacidade de multithreading única pode acelerar o seu processamento muitas vezes, dependendo do número de seus núcleos de CPU, especialmente ao otimizar determinados parâmetros. Em um caso, encurtou a otimização do meu processamento de EA baseado em Aprendizagem de Reinforço de aproximadamente 4 dias para apenas 28 horas em uma CPU Intel de 4 núcleos. Durante a redação deste artigo eu decidi colocar Fann2MQL em seu próprio site: fann2mql. wordpress. Você pode encontrar lá a última versão do Fann2MQL e possivelmente todas as versões futuras, bem como a documentação de todas as funções. Eu prometo manter este software sob a licença GPL para todos os lançamentos, então se você me enviar quaisquer comentários, solicitações de recurso ou patches que eu vou encontrar interessante certifique-se de encontrá-lo próximos lançamentos. Observe que este artigo mostra apenas o uso muito básico de Fann2MQL. Como este pacote não é muito mais do que o FANN você pode usar todas as ferramentas projetadas para gerenciar as redes FANN, como: E há muito mais sobre o FANN no Fast Artificial Neural Rede Biblioteca homepage: leenissen. dkfann Post Scriptum Depois de escrever este artigo eu encontrei Um erro insignificante em NeuroMACD. mq4. A função OrderClose () para a posição curta foi alimentada com o número do ticket de posição longa. Resultou em uma estratégia distorcida que era mais provável segurar shorts e longs próximos: Na versão correta do certificado eu reparei este erro e removi a estratégia de OrderClose () em tudo. Isso não alterou o quadro geral da influência da filtragem neural sobre a EA, mas a forma da curva de equilíbrio foi bastante diferente. Você pode encontrar ambas as versões deste EA anexado a este article. MetaTrader Expert Advisor Rede neural é um dos buzzwords mais recentes na negociação. Parece legal e sofisticado. Muitas pessoas não parecem entender o que são redes neurais. Neurônios no mundo real Nossos cérebros são fenomenalmente complicados. O que mais surpreende a maioria das pessoas, no entanto, é que o cérebro é mais ou menos uma enorme caixa de circuitos. Os neurônios são células que atuam como circuitos com fios elétricos, chamados axônios, que se esgotam e se conectam através do corpo humano. Cada movimento, percepção ou ação que você faz é a soma de todos os axônios que atiram impulsos elétricos. Mudança ocorre sempre que a freqüência de impulsos elétricos enviados a partir do neurônio varia. Mais impulsos causam uma reação, uma redução provoca outra. As redes neurais tentam emular processos do cérebro humano organizando informações em neurônios. Ao contrário das células neuronais reais, um neurônio de rede só existe na máquina. É um peso de máquina que contém informações sobre o que está em estudo. Uma rede neural para um sistema de negociação pode decidir estudar indicadores comuns como uma média móvel, o oscilador RSI e estocástica. O valor da média móvel para a barra atual conta como seu próprio neurônio. O RSI é diferente, então ele chega a ser um neurônio separado. Se eu tiver dez indicadores na minha caixa de ferramentas, então eu tenho 10 neurônios na minha rede. Computadores tradicionalmente resolver problemas lineares, simples. Se você quiser saber o resultado de operações matemáticas como a raiz do cubo de 355, os computadores são perfeitos para a tarefa. Eles calculam rapidamente uma resposta precisa. Como nos cérebros humanos, as redes neurais formam sinapses com outros neurônios. Quando treinados, grupos de neurônios podem aprender a reconhecer padrões. É essa propriedade que torna as redes neurais tão úteis. Isso nos permite criar programas que seriam impossíveis com a computação tradicional. Criar um programa de software para reconhecer um rosto, por exemplo, seria extremamente difícil. É muito mais fácil treinar uma rede para reconhecer um rosto, mostrando repetidamente as faces da rede. O cérebro é um tema fascinante por direito próprio. Como um aparte, minha esposa e eu estamos fazendo um curso de pesquisa em neurociência através de uma série de vídeo dos Grandes Cursos. Se você tem algum interesse em tudo no assunto, eu recomendo altamente compreensão do cérebro por Jeanette Norden. Abrange em detalhes como os neurônios se conectam à anatomia em todo o cérebro e todo o corpo. Neural Networks e Forex Trading Redes neurais entram em jogo quando a resposta não é tão precisa. Furar com este tema de blogs de negociação forex, não há resposta certa para o que torna o sistema de comércio perfeito. Um investidor de varejo típico pode dizer que o melhor sistema de negociação é o que faz mais dinheiro. Outro pode dizer que o melhor sistema de negociação é aquele com a maior proporção de Sharpe. Muitos querem algo no meio. O melhor problema do sistema de negociação é ambíguo, o que o torna um candidato ideal para atacar com redes neurais. O designer delineia conjuntos de regras que, na opinião dos comerciantes, formam uma maneira numérica de medir o melhor sistema. Os cérebros humanos hospedam aproximadamente 100 bilhões de neurônios. Apesar dos melhores esforços de muitos de nossos clientes, eu ainda tenho que encontrar alguém com 100 bilhões de indicadores de mercado à sua disposição. Uma maneira de ampliar o efeito dos neurônios em nossa caixa de ferramentas é criar camadas ocultas. Uma rede é composta por múltiplas camadas, cada uma composta por múltiplos neurônios. Cada neurônio é conectado a cada neurônio na próxima camada. Cada conexão carrega então seu próprio valor ponderado original. Um neurônio transmitirá seu valor multiplicando o valor do neurônio e pelo peso da conexão de saída. O neurônio no final da conexão de saída irá somar todas as suas conexões de entrada e propagar esse resultado para a próxima camada através de todas as suas conexões de saída. Imagens tornam a idéia muito mais intuitiva. A Figura 1 contém um pequeno exemplo. Os 2 e 3 à esquerda são as entradas na rede. Essas entradas são multiplicadas pelo peso da conexão para a próxima camada. O 2 é multiplicado por 0,5 dando-nos 1 e 3 por 2 dando-nos 6. A segunda camada contém um nó que resume os resultados da camada anterior, dando-nos 7. O próximo passo seria multiplicar 7 pelos pesos em As conexões de saída e passá-lo para a próxima camada. Figura 1: Um exemplo de uma rede neural propagando resultados para a frente. O pequeno exemplo acima pode ser repetido e encadeado em conjunto para formar uma rede maior. Abaixo, na Figura 2, temos um exemplo de uma rede maior. A rede exemplo tem 3 entradas que estão conectadas a uma camada oculta. A camada oculta é então conectada a uma única saída. As camadas ocultas são para facilitar o treinamento. Quanto mais complexo o problema, mais camadas e nós precisamos. Figura 2: Um exemplo de uma rede neural maior. A rede aprende atualizando os pesos de suas muitas conexões. Existem muitos algoritmos de software que são usados para realizar o aprendizado em redes neurais. Eles se dividem em duas categorias: aprendizagem supervisionada e aprendizagem não supervisionada. A aprendizagem supervisionada é realizada com o usuário informando a rede se suas previsões estão corretas ou não. A rede então calcula seu erro e usa um dos algoritmos para corrigir o erro. Um exemplo disso é a propagação reversa, que calcula o erro de uma previsão de redes. A rede usa um algoritmo rápido para atualizar cada um dos pesos de conexão com esse erro. A propagação reversa é uma das estratégias de treinamento mais comuns. Aprendizagem não supervisionada usa algum tipo de aptidão ou algoritmo de pontuação em que a rede vai marcar-se com e tentar melhorar em cada tentativa subseqüente. Um exemplo de treinamento não supervisionado é o algoritmo genético. Este algoritmo cria uma população de redes neurais e usa um algoritmo de pontuação projetado pelo usuário para classificar a população. Depois disso, é a sobrevivência do mais apto. As redes mais bem classificadas conseguem ficar e se reproduzir e a classificação inferior é descartada. As redes se reproduzem misturando e combinando pesos de conexão. As redes neurais podem auxiliar substancialmente os comerciantes de sistemas em seu projeto de algoritmo, explorando bilhões de combinações entre uma caixa de ferramentas relativamente pequena de indicadores. Isso difere da otimização padrão, que envolve a conexão de números em vários indicadores à procura de qualquer combinação retorna mais dinheiro. O fato de que as redes podem considerar múltiplas medidas (equilíbrio, Sharpe Ratio, etc) para determinar o melhor sistema de comércio ajuda a reduzir a probabilidade de que enfatiza demais uma determinada medida. Um bom exemplo disto é o saldo da conta. Se um sistema pesa o dar e receber entre o retorno líquido eo retorno ajustado ao risco, ele começa a se afastar do número crunching para descobrir os melhores números para usar e cabeça para aprendizagem real e reconhecimento de padrões. As redes neurais estão se provando muito úteis em uma ampla gama de aplicações, desde o reconhecimento facial às previsões do mercado cambial. Eles se destacam onde existem padrões que são difíceis de reconhecer. Essa capacidade torna as redes de valor inestimável na resolução de problemas difíceis envolvendo várias variáveis. Janeiro 12, 2015 150 07:46 pm Aqui uma galeria Flash SimpleViewer deve ser exibida. Clique aqui para abrir a postagem no seu navegador para ver a galeria. Remapping investiga novas idéias sobre mapeamento como manifesto na arte, mas que são gerados por algoritmos que ligam diferentes sites ou são inspirados pela teoria da rede neural. Suzanne Anker é uma artista visual que trabalha com iconografia científica nos domínios da genética e da neurociência. Seu trabalho foi exibido nacional e internacionalmente em locais como o Museu J. Paul Getty, o Instituto Smithsonian, a Coleção Philips, o Walker Art Center, o Museu de Arte Moderna no Japão, entre outros. Seu trabalho é representado por Universal Concepts Unlimited em Nova York. A borboleta no cérebro continua a investigação Ankers sobre as técnicas de visualização disponíveis através de simulação de alta tecnologia, como o microscópio eo telescópio. Este trabalho enfoca um diálogo de signos dentro das estruturas simétricas (ou praticamente simétricas) da borboleta e do cérebro, ambas possuindo uma cópia de eixo. Usando mapas neurológicos, bem como gráficos de expansão urbana, Anker traça a forma de uma borboleta em cada padrão. As constelações emergem destes modelos distintos que põem em questão as maneiras pelas quais a forma biológica é replicada no domínio cultural. Você também pode gostar: HyperNEAT Quadruped Aprendendo a correr em duas pernas Hexapod com OpenCV AForge. VB Sistema de Reconhecimento de Face Usando Eigen Faces (2) Segunda-feira prosperar material de leitura. 2008-08-25 09:22:48 by grativo 1. Este empréstimo irá fornecer o capital necessário para comprar software, materiais de marketing e ferramenta educacional empreendedor ensinado pelo mestre empresário e CEO da Universidade Nouveau Riche, Jim Piccolo. Com a capacidade de agora se concentrar em tempo integral em oposição ao tempo livre, espero aumentar minha renda para um respeitável 1,800 meses. 2. Seriamente pessoas, este empréstimo será usado para levar a minha estratégia de negociação Forex, que está funcionando muito bem, para o próximo nível. Olhe para a imagem na listagem. Mais de 150 lucros em 13 dias de ativos, 24 horas, negociação automatizada usando meu software. (Acontece nunca negociado por dinheiro real) 3. Este empréstimo será usado para me ajudar a investir 10k em um fundo de investimento de conta gerenciada forex. Eu sou um bom candidato para este empréstimo, porque eu estou investindo meu próprio dinheiro. Nenhum plano de negociação de perda que realmente funciona para o seu. 2008-01-18 20:41:56 by bfnnrgn Você está na área de Dallas, TX Eu tenho um plano de negociação que não é especulativo, não direcional, e gera uma taxa muito elevada de retorno. Funciona todos os dias - todo o tempo - sem perdas - (sim) ele realmente funciona. Eu tenho negociado os mercados financeiros por 30 anos e eu entendo exatamente o que estou fazendo. Como uma demonstração, comecei a negociar uma conta Forex amigos de apenas 6.000,00 em 122007 e eu gerou um retorno de 100 em apenas três semanas usando alavancagem sem perdas. A sorte não fazia parte do sucesso. Uma conta de corretagem corretamente financiada nunca terá perdas. Sei que parece improvável, mas posso demonstrar e provar que é verdade. Levei a maior parte da minha vida para desenvolver essa técnica e não veio barato para mim. Eu chamo-lhe minha soma zero nenhum plano de negociação de perda e ele vai vencer qualquer. Pagar de uma forma ou outra 2005-09-04 14:25:42 por o-lOl-o 2000 para um curso online huh. Se ele funciona para você. Algumas semanas é realmente bom para realmente começar a lucrar na negociação ao vivo. Permanecer consistente sobre o hual longo é o truque agora. Isso exige disciplina. Evite as sessões blowout onde um comerciante persegue bom dinheiro depois mau tentando recuperar perdas. Ou gananciosamente salta em um comércio com pouca pesquisa. Eu me ensinei em casa por cerca de um ano. I didnt têm o dinheiro para comércio no momento que realmente didnt assunto. Eu estava contente de aprender e salvar até que eu tinha. Eu tinha algumas despesas que era uma prioridade sobre forex. When I did have the extra cash not swallowed by life I had been profiting for over 6 months on paper and the transition to live was relatively seemless. Im getting nice returns now for almost a year live. From. 2013 LOUIS-JEANTET Prize for Medecine mdash Cordis News The 2013 LOUIS-JEANTET PRIZE FOR MEDICINE is awarded to the geneticist, Michael Stratton, director of the Wellcome Trust Sanger Institute in Cambridge, and jointly to the German biochemists Peter Hegemann, researcher at the Department of Experimental. Facial Feature Detection. avi
No comments:
Post a Comment