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!
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.
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.
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 :)
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.
é 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.
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.
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.
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.
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!
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...
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.
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 :)
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.
é 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! -:)
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.
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.
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.