Etiqueta de mercado ou boas maneiras em um campo minado - página 28

 
YDzh писал(а) >>

Rede neural, 13 entradas, sem camada oculta. Treinamento em algoritmos genéticos

Incrível, YDzh!

Meus resultados são muito mais modestos. Você precisa colocá-lo em uma demonstração e ver onde a grade se corta.

paralocus escreveu >>

Neutron, parece que você estava certo sobre as 25 contagens de prontidão... -:)

Algo em minha rede não está aprendendo. Após 100 épocas, os pesos são praticamente os mesmos com que a rede foi inicializada.

Em uma nota relacionada, outra pergunta boba:

O vetor de aprendizado é o mesmo em cada época ou não?

De qualquer forma, acontece que a razão entre correção acumulada e correção quadrática acumulada tende a zero muito rapidamente. É por isso que já após a 10ª iteração, o aprendizado praticamente pára.

Provavelmente, há um erro no código. Preciso procurá-lo. Por esta razão, eu primeiro faço a corrida da grade no Matcadet, é conveniente traçar toda a dinâmica de aprendizagem em qualquer nível de detalhe e é muito mais fácil compilar estatísticas. Para comparar os resultados do aprendizado, obtenho estatísticas independentes de 100 experimentos (sobre ensinabilidade e predição) e comparo apenas as médias de status.

Quanto ao vetor de treinamento, ele certamente é diferente a cada época. Mas é diferente de uma forma especial - a mesma, mas deslocada para a esquerda a cada passo, e o elemento zero toma o lugar de um novo dado, etc.

P.S. Estou investigando o colapso da BP agora com um passo uniforme, então acontece que, de época em época, é melhor re-randomizar todos os pesos e re-treinar completamente a malha, em vez de reter o conhecimento adquirido. Talvez esta seja uma peculiaridade dos dados de entrada utilizados. Quero enfatizar, paralocus, quão importante é verificar tudo em combate - os pesos crescem lentamente? - Basta colocar um coeficiente constante = 10 na frente da soma calculada e certificar-se de que não corre mal!

 
Neutron >> :

Deve haver um erro no código. Temos de procurá-lo. Eu uso primeiro o Matcadet para esta grade, é conveniente rastrear toda a dinâmica de aprendizagem com qualquer detalhe, e é muito mais fácil compilar estatísticas. Para comparar os resultados do aprendizado, obtenho estatísticas independentes de 100 experimentos (sobre ensinabilidade e predição) e comparo apenas as médias de status.

Quanto ao vetor de treinamento, ele certamente é diferente a cada época. Mas ele difere de uma maneira especial - é o mesmo vetor, mas deslocado para a esquerda por um passo, e o elemento zero é substituído por um novo dado, etc.

Estive cavando o código desde ontem. Parece que limpei tudo, verifiquei-o duas vezes, reescrevi parte dele para simplificá-lo. Agora tudo escreve e lê exatamente como deve ser.

Mas será que preciso zerar o vetor de correção após cada época? Acho que essa é a razão. Entendo sobre a mudança do vetor um passo à frente - estou fazendo isso.

 

Bem, é claro que sim!

Todos os contadores são zerados até o início do novo treinamento (época).

 

O Mathcad é difícil de aprender?

Apesar de ter medo, acho que terei de me acostumar a isso...

 
Neutron >> :

Quero enfatizar, paralocus, quão importante é verificar tudo você mesmo em batalha - os pesos são lentos para crescer? - Portanto, coloque um coeficiente constante = 10 na frente da soma que você recebe e certifique-se de que eles não se quebrem!

A necessidade de auto-verificação é evidente para mim, embora o crescimento dos pesos nesta implementação ainda não tenha sido observado. Sobre onde colocar 10 - ainda não entenderam.

A propósito, se você tocasse os pesos no início de cada época, isso equivaleria a usar apenas uma época. É muito semelhante à verdade, uma vez que o incremento do vetor de erro torna-se insignificantemente pequeno para N épocas, e não temos recursos extras de um computador pessoal.

 
Neutron писал(а) >>

Legal, YDzh!

Meus resultados são muito mais modestos. Você precisa colocá-lo em uma demonstração e ver onde a grade se corta.

Tenho um problema trivial com ele - não tenho um computador sempre ligado... Eu deveria tentar usar prazos mais curtos, caso contrário a análise de erros levará meio ano :)

 
paralocus писал(а) >>

O Mathcad é difícil de aprender?

...

a linguagem de programação mais fácil, algumas pessoas não a consideram nem mesmo uma linguagem. Na maioria das vezes, você vê uma fórmula escrita em um livro e a escreve no Matcad.

a única coisa que você tem que lembrar é que o matcad é uma linguagem matricial. Até mesmo um número primo no matcad é uma matriz. A única coisa a ser lembrada é que até mesmo um número primo é uma matriz.

 
Prival >> :

é a linguagem de programação mais fácil, algumas pessoas nem sequer a consideram uma linguagem. Na maioria das vezes, você vê uma fórmula escrita em um livro e a escreve no Matcad.

A única coisa que você tem que lembrar é que o matcad é uma linguagem matricial. Até mesmo um número primo no matcad é uma matriz. Eu considero (matcad) o auge da evolução nas linguagens de programação.

Obrigado Prival!

>>: Prazer em vê-los! -:)

 
paralocus писал(а) >>

O vetor de aprendizado é o mesmo em todas as épocas ou não?

Eu estava errado ao responder sua pergunta no post anterior - eu estava me referindo à previsão de uma nova época, não de uma nova época. Dentro do treinamento em um novo salto, temos apenas um vetor de treinamento e cem épocas de treinamento com correção de pesos NS em cada época!

Uma nova contagem regressiva é recebida - o vetor de treinamento muda e nós fazemos uma centena de épocas de treinamento novamente, e assim por diante.

Desculpe. Eu mesmo já estou ficando confuso.

paralocus escreveu >>

O matcad é difícil de ser dominado?

Apesar de estar aterrorizado com isso, mas acho que terei que descobrir...

Não, é fácil. Adquira um 2001i Pro.

 
paralocus писал(а) >>

Obrigado Prival!

Prazer em vê-lo! -:)

Sim, eu leio esta linha com muito cuidado o tempo todo. Mas não entendo muito disso por causa dos termos. Sinapses, épocas ...etc.

Leva tempo para entender, é melhor fazê-lo com um professor (será mais rápido). Mas até agora não sou capaz de fazer isso. Estou preparando os dados para a verificação da idéia, acho que a idéia dela para verificar através da Assembléia Nacional. Então, chegará o momento de entender o que e como programar nele. Por enquanto, só sei (acho que sei) com que dados deve ser alimentado e em que deve ser treinado.

Estou trabalhando com Matkad 14 e ele tem algumas características mais úteis do que 2001i.

Razão: