Redes neurais, como dominá-las, por onde começar? - página 7

 
Neutron >> :
Bem, não seja tão duro. Afinal de contas, a rede é às vezes reeducada (e eu faço isso em cada contagem da BP sendo analisada) e o método médio encontra um mínimo. Quanto à redução da dimensionalidade, não funciona para as BPs como as de preço, infelizmente.

Qual o prazo que você está usando? Quanto ao downsizing, depende do que você vai fazer por ele. Se for um pré-processamento trivial, então não terá um efeito adequado sem algumas considerações a priori, ou seja, quando você já tem dados suficientes e só está melhorando o resultado. Se você estiver usando downsizing para outra coisa, pode ser qualquer coisa ;)

 
registred писал(а) >>

Qual o cronograma que você usa?

Eu não uso nenhuma TF.

A razão é que os castiçais são usados em todos os períodos de tempo, portanto a BP construída através de preços de abertura (ou abertura) está mais próxima da BP aleatória integrada do que a BP construída a partir da inicial por outros métodos (como a mudança para o tempo do instrumento, etc.).

 

Obrigado gpwr, arnautov!

Шаг 1: Выбираем входные данные. Например,


x1 = WPR Per1

x2 = WPR Per2

x3 = WPR Per3

Entendo corretamente que os dados de entrada significam as variáveis nos parâmetros externos do Expert Advisor, com as quais os coeficientes serão comparados?

Mais perto do assunto? Sem problemas! Você deve começar escrevendo um neurônio, e depois combiná-los em uma rede. E programas avançados - isso é depois. Todos os outros conselhos são lixo.

E escrever um neurônio, você pode dividi-lo em etapas?


Bem? Quem escreveu no fio que ele gostaria de usar um exemplo, devemos começar?

Os primeiros passos foram apontados para nós, o assessor está na página cinco...

 
Neutron >> :

Eu sei que dois teoremas foram provados não há muito tempo.

Serei grato pelas referências

De acordo com a primeira, o NS não linear de três camadas (que consiste em três camadas de neurônios, com não linearidade na saída de cada camada) é um aproximador universal

Bem, parece ter sido provado há muito tempo. Que você possa aproximar qualquer função, por menor que seja a sua precisão, com um perseptron de 3 camadas.

e aumentar ainda mais o número de camadas não acrescenta poder à rede.

Segundo o segundo teorema, o poder computacional da rede não depende do tipo específico de não-linearidade nas saídas de seus neurônios. É importante que ela (não-linearidade) seja em princípio, e não importa o que é exatamente - sigmóide ou arctangente.

O que eu estava dizendo é o resultado de experiências práticas. Quanto à não-linearidade... Mas primeiro é preciso se familiarizar com esses teoremas.

Além disso, provou-se uma relação inequívoca entre o comprimento ideal da amostra de treinamento nos dados históricos, a dimensionalidade da entrada NS e o número total de suas sinapses, no sentido de minimizar o erro de previsão sobre os dados não envolvidos no treinamento da rede. Isto permite não se envolver no leninismo, selecionando manualmente este ótimo. Com as capacidades existentes da EM, isto economiza muito tempo e esforço.

Você quis dizer números de parâmetros ajustáveis? Os limiares também estão incluídos. A propósito, também seria útil ter uma prova documental. E não faria mal àqueles que estão começando a lidar com redes neurais se familiarizarem com este material.

 
Andrey4-min >> :

E escrever um neurônio, você pode dividi-lo em degraus?

É melhor escrever em uma linguagem orientada a objetos.


O neurônio é um conceito muito raso quando se escreve NS.

Uma camada é uma união de neurônios idênticos, portanto não faz sentido considerar um neurônio separadamente.


Utilizei apenas 2 tipos de abstrações em minha biblioteca - camada e pesos.


Os pesos são um bloco de sinapses ligando 2 camadas.

Uma camada tem um buffer de entrada, um buffer de saída e um buffer de erro, e uma função de ativação. As sinapses são uma matriz bidimensional, e ligam o buffer de saída da camada com o buffer de entrada da seguinte forma.

Uma rede é um conjunto de camadas e ligações entre elas. Qualquer camada que tenha sinais não zero no buffer de erros pode ser considerada uma camada de saída.

 
TheXpert писал(а) >>

Bem, isso já foi comprovado há muito tempo. Que um Perspectron de 3 camadas pode se aproximar de qualquer função, com qualquer pequena precisão dada.

Erro, não precisão.

Se isso está claro, então qual é o objetivo de toda essa complexidade:

TheXpert escreveu >>

Em muitos problemas o perseptron de 4 camadas mostra resultados e convergência muito melhores.

E em alguns lugares é usado um 5-camada. Quanto às redes complexas (com várias camadas de saída e links complexos) baseadas em um perseptron, deixarei essa parte de fora por enquanto.

Você quis dizer o número de parâmetros configuráveis? Os limiares também estão incluídos. A propósito, também seria útil documentá-los. E aqueles que estão começando a se envolver em redes neurais fariam bem em se familiarizar com este material.

Sim, eu quis dizer o número de pesos em NS e sua relação com o número de entradas e a duração ótima da amostra de treinamento. A derivação da relação é dada no artigo anexado ao Anexo nas páginas 64-65. 64-65. Resumidamente, se o número de pesos de NS for w , o número de entradas d e a duração do treinamento amostra P, no ótimo, a condição deve ser cumprida: P = (w^2)/d

Referências a teoremas que darei mais tarde - preciso encontrá-los.

Arquivos anexados:
yvtwslxtn.zip  1592 kb
 
Neutron >> :

Por margem de erro, não por precisão.

Sim.

Se isto está claro, então por que a complexidade:

É simples, ao adicionar uma camada ou mudar a arquitetura é feito com alguns cliques do mouse ou algumas linhas de código, então essas complexidades se transformam em extras interessantes.

Sim, eu quis dizer o número de pesos no NS em relação ao número de entradas e a duração ótima da amostra de treinamento. A derivação da relação é dada no artigo em anexo na pp. 64-65.

>> Obrigado. E a prova do teorema? Ou pelo menos o texto exato?

 

O teorema de adequação para qualquer função neuronal não linear foi provado pelo ex-soviético e, desde o final dos anos 80, pelo matemático americano Vladik Kreynovich [1] e publicado em uma das principais revistas de redes neurais ocidentais.

1. Kreinovich V.Y. A não-linearidade arbitrária é suficiente para representar todas as funções por redes neurais: A theorem / Neural Networks, 1991, Vol.4, № 3. - pp.381-383.

P.S. Sobre a suficiência de 3 camadas - mais tarde.

 

A prova de suficiência de 3 camadas que vi no artigo de Gorban A.N. "..." - não consigo encontrá-la.

A constância do fato da suficiência está no artigo anexado abaixo na página 39.

Arquivos anexados:
esibfjnus.zip  967 kb
 
Parece haver alguma conexão com o teorema, provado por Kolmogorov, de que qualquer função de qualquer número de variáveis pode ser exatamente expressa em termos de funções de duas variáveis. Posso não tê-lo expresso com exatidão, mas ele é freqüentemente mencionado em artigos sobre NS.
Razão: