Rede neural sob a forma de um roteiro - página 3

 
sprite:
kombat:
Algo sobre a lógica deste script se assemelha a um simples codificador 4 em 2

Um scrambler é um sistema não-treinável.

E a rede neste roteiro é ensinável. E o processo de aprendizagem é mostrado em dinâmica de época em época na tela.

Você pode ver como os pesos dos neurônios em cada camada mudam, e como a grade fica cada vez mais precisa à medida que é treinada.

Acima estão três cargos onde o mesmo algoritmo foi aprendido

para trabalhar com três conjuntos diferentes de dados.

No caso de um codificador, seriam necessários três codificadores para cada conjunto de dados.

Aperfeiçoei um pouco o algoritmo de aprendizagem.

1º mudando dinamicamente o número de neurônios algo como um ALGORITMO GENÉTICO, embora sem selecionar o melhor e sem criar a partir deles gerações :-) sem correção de conexões

2 - parar de aprender quando se atinge alta precisão de resultados

 
YuraZ:

Eu afinei ligeiramente o algoritmo de aprendizagem

1) mudando dinamicamente o número de neurônios, algo como um ALGORITHM GENÉTICO, mas sem selecionar o melhor e sem produzir a partir deles :-) sem corrigir conexões

2 - e parar de aprender quando se obtém alta precisão dos resultados.



E a versão finalizada não estará disponível para o público?

 
YuraZ:
sprite:
kombat:
Algo sobre a lógica deste script se assemelha a um simples codificador 4v2

O codificador é um sistema sem treinamento.

E a rede é treinada neste roteiro. E o processo de aprendizagem é mostrado em dinâmica de época em época na tela.

Você pode ver como os pesos dos neurônios em cada camada mudam, e como a grade fica cada vez mais precisa à medida que é treinada.

Acima estão três posts onde o mesmo algoritmo aprendeu

para trabalhar com três conjuntos diferentes de dados .

No caso de um codificador, seriam necessários três codificadores para cada conjunto de dados.

Aperfeiçoei um pouco o algoritmo de aprendizagem.

1) mudando dinamicamente o número de neurônios, algo como um ALGORITMO GENÉTICO, mas sem selecionar os melhores neurônios ou criar descendentes deles :-) sem corrigir as conexões

2ª parada de treinamento quando a alta precisão dos resultados é alcançada


Aqui vamos nós!!! O gelo quebrou! :))))

 
Vinin:
YuraZ:

Eu afinei ligeiramente o algoritmo de aprendizagem

1) mudando dinamicamente o número de neurônios, algo como um ALGORITHM GENÉTICO, mas sem selecionar o melhor e sem produzir a partir deles :-) sem corrigir conexões

2 - e parar de aprender quando se obtém alta precisão dos resultados.



Haverá uma versão finalizada para o público?

Claro, eu gostaria de dar uma olhada. Talvez alguém acrescente algo mais :)


Quanto à precisão, eu não acho que esse seja o objetivo.

O objetivo é que a rede, ao final do treinamento, distinga todos os conjuntos de treinamento

entre si . E isto está disponível com precisão normal.


Como as experiências demonstraram, esta rede precisa apenas de 300 épocas de treinamento para aprender a "pensar".

com os conjuntos acima. Sim, você pode ver isto visualmente durante o treinamento,

A rede começa rapidamente a distinguir entre os conjuntos de dados.


E seria interessante ver como mudar dinamicamente o número de neurônios em um Expert Advisor durante os testes,

na qual esta grade será construída. E o número de neurônios a serem capturados no otimizador de MT.

 
Topor:

Como você faz para prever o preço?

Você não pode. Você não deve esperar um milagre de uma rede neural. Não é o NS que faz a previsão, mas o algoritmo embutido nela, o algoritmo é baseado nas condições comerciais, e as condições comerciais .... são determinados por VOCÊ.

 
sprite:
kombat:

Não contra, mas ainda não A FAVOR do uso de redes neurais no comércio.

Da mesma forma :) !!!

Mas o algoritmo está funcionando e aprendendo :) E então veremos :)


O interesse em redes é alimentado ainda mais pela EA ganhando o Campeonato com a rede .

É claro que ali tínhamos uma rede diferente. Mas o homem fez o trabalho e obteve o resultado.


A questão não é qual rede, mas o que você quer obter com ela. E o resultado foi obtido não por causa da NS, mas por causa das condições comerciais, que a NS compunha e dava uma certa previsão provável. NS é de fato um filtro, que pode ser adaptável (NS auto-aprendizagem) e, portanto, tem um atraso (para o período de aprendizagem). A vantagem da NS é que ela pode fundir componentes diferentes de seu TS em um único resultado e organizar independentemente as relações de significância para esses componentes (aprender).

 
Vinin:
YuraZ:

Eu afinei ligeiramente o algoritmo de aprendizagem

1) mudando dinamicamente o número de neurônios, algo como um ALGORITHM GENÉTICO, mas sem selecionar o melhor e sem produzir a partir deles :-) sem corrigir conexões

2 - e parar de aprender quando se obtém alta precisão dos resultados.


Você não vai fornecer uma versão melhorada para o público?

Victor, haverá.


O problema é que o algoritmo leva muito tempo para ser treinado :-)))

Eu ainda não resolvi este problema - não me esquecerei de postar o código!

Eu não tenho o código baseado em um temporizador! Não o tenho na MQL4!

 
Xadviser:
Topor:

Como você faz para prever o preço?

Você não pode. Você não deve esperar um milagre de uma rede neural. O prognóstico não é dado pelo NS, mas pelo algoritmo incorporado nele, o algoritmo é baseado em condições comerciais, e condições comerciais .... são determinados por VOCÊ.

Você já encontrou algum algoritmo decente?

Apenas uma ou duas palavras sobre eles .

 
Xadviser:
Topor:

Como você faz para prever o preço?

Você não pode. Você não deve esperar um milagre de uma rede neural. O prognóstico não é dado pelo NS, mas pelo algoritmo incorporado nele, o algoritmo é baseado em condições comerciais, e condições comerciais .... E as condições comerciais são definidas por VOCÊ.

Os gurus aconselham a prever não o preço, mas o troco .

 
YuraZ:

Nem sempre é necessário normalizar, quem diz que a grade PODE e DEVE funcionar apenas com 0 e 1?


Posso anexar uma grade simples com um exemplo, (infelizmente não há materiais à mão no momento) - o farei mais tarde

onde um simples NN resolve este problema sem preparação de dados com normalização

infelizmente esta não é a fonte


no entanto, o exemplo que dei! já está meio normalizado

a condição tem duas faixas


1 0-100

2 10-30


você só precisa encontrar a proporção da posição em uma faixa - que é conhecida por

em essência, isto é escalada.

A normalização é quase sempre necessária. Os dados devem estar dentro do intervalo de definição da função de ativação.

No roteiro, o sigmóide é [-1;+1]. Se você o substituir por, digamos, um exponencial ... ou raiz quadrada.


http://www.statsoft.ru/home/portal/applications/NeuralNetworksAdvisor/Adv-new/ActivationFunctions.htm