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

 
FION >> :

Em seu código - if(NormalizeDouble(SquarHid[i,j],4) != 0,0), a comparação não funciona.

Obrigado, mas também não há erro de "divisão por zero" no meu código.

 
Neutron >> :

Olá, Sergei!

Mas Grasn disse que a 14ª versão está corrompida e o motor está morto, e tem erros nos difusores. O principal é que você não pode usá-lo pela primeira vez em sua vida. O kit de distribuição Matkad custa 100 rublos.

Não é exatamente "arranhado". O que eu estava dizendo é que em 14 o motor é mais barato e tudo se resume ao velho argumento, qual motor é melhor Waterloo Maple vs SciFace Software. Na realidade, alguns são melhores e outros são piores - você tem que ver o que precisa. Aqui está um exemplo, há um problema tão clássico sobre o movimento de 3 planetas. Sob certas condições iniciais, um planeta captura a trajetória do outro.


Aqui está a solução em 13 Mathcadet (capturas)


Aqui está a solução em 14 matcadet (parafusá-lo).



Mas a versão 14 tem muitas vantagens, muitas. Provavelmente terei que mudar para ele, porque 13 apenas se despenharam no Vista. Mas a 13 tem bugs suficientes, portanto, o que dizer sobre as versões mais antigas.

 

Olá, Sergei!

Essas são algumas boas perguntas que você levantou. Eles são lindos. Talvez seja uma questão de precisão para o método numérico. Obtenha uma maior precisão e as soluções convergirão...

 
Neutron, se eu inserir este fator de ajuste (1 - J/N), devo usá-lo para todos os pesos, ou posso usá-lo para pesos de camadas escondidas, por exemplo, e não usá-lo para pesos de neurônios de saída? Neste momento eu só o uso para pesos de camadas ocultas. Os pesos têm mais ou menos estabilizados +/-50. Eu uso o número de épocas como N.
 
Neutron писал(а) >>

Olá, Sergei!

Essas são algumas boas perguntas que você levantou. Eles são lindos. Talvez seja uma questão de precisão para o método numérico. Se você definir a precisão mais alta e as soluções convergem...

Não, não se trata de precisão.

 
paralocus писал(а) >>
Neutron, se eu inserir este fator regulador (1 - J/N), devo usá-lo para todas as escalas, ou posso usá-lo para escalas de camada oculta, por exemplo, e não usá-lo para escalas de neurônio de saída? Neste momento eu só o uso para pesos de camadas ocultas. Os pesos têm mais ou menos estabilizados +/-50. Eu uso o número de épocas como N.

Tente desta e daquela maneira. Eu o aplico em todas as minhas escalas sem exceção. Mas isto se deve ao meu amor pela simplicidade em todas as coisas, ao desejo de igualdade. Talvez isso funcione para você. N é o número de eras.

 

Uma coisa me confunde:

A correção neste sistema acontece o tempo todo, quer você precise dela ou não. Isto é ainda mais estagnado para uma grade de entrada binária.

Isto é, se o sinal for adivinhado corretamente, mas houver uma diferença entre a amplitude na saída da grade e o sinal de teste, a correção ocorre de qualquer maneira. Mas será realmente necessário?

Afinal, a grade, neste caso, não está equivocada.

 
Neutron >> :

... Mas, tem a ver com o meu amor pela simplificação em todas as coisas, o tronco da mesma....

Não um ramo, mas uma aula magistral! Obrigado por um monte de coisas úteis! Eu não faço ORO, mas as recomendações de treinamento também funcionam muito bem no PNN. Mais uma vez obrigado: obrigado Neutron!

 

Obrigado, rsi, por suas amáveis palavras. Sempre feliz em compartilhar conhecimento!

paralocus писал(а) >>

Uma coisa me confunde:

A correção neste sistema acontece o tempo todo, quer você precise dela ou não. Ainda mais estagnado para uma grade com entrada binária.

Isto é, se o sinal for adivinhado corretamente, mas houver uma diferença entre a amplitude na saída da grade e o sinal de teste, a correção ocorre de qualquer forma. Mas será realmente necessário?

Afinal, a grade, neste caso, não está equivocada.

Eu tenho o mesmo comportamento.

E é correto, porque a grade aguça constantemente a precisão da previsão e não apenas o sinal...

 

Olá Neurton! De qualquer forma, ainda não tivemos sorte com a camada dupla.

Escrevi um perceptron de uma única camada com ORO e ontem o fiz correr o dia todo. Está se comportando de forma estranha. Aprende e não aprende, e depende catastroficamente do número de épocas.

Portanto, meus resultados são os seguintes: 8 épocas - a grade não aprende, 12 épocas - a grade aprende, 13 épocas - a grade não aprende.

Em resumo, os resultados se vangloriam de que ainda não posso.

Em qualquer caso, descreverei um algoritmo que implementei. Veja se eu perdi alguma coisa.


1. O perceptron tem entradas binárias D, uma das quais é uma constante +1.

2. a BP utilizada é a incrementos seqüenciais de cotier sobre uma série de Open.

3. Todos os pesos são inicializados com pequenos valores aleatórios a partir da faixa +/-1 antes de começar.

4. O comprimento do vetor de treinamento é calculado como P = 4 * D*D/D = 4*D.

5. O vetor de treinamento é alimentado para a entrada da grade e o erro da grade é calculado como Qs = Test - OUT, onde Test é o valor de BP em n+1, ou seja, o próximo, readout, OUT é a saída da grade em n readout.

6. Para obter o valor do erro nas entradas Qs, o erro de grade Qs é multiplicado pela derivada da função de aperto (1 - OUT+OUT): Q = Qs *(1 - OUT*OUT).

7. O vetor de correção para cada peso que entra em um neurônio COR[i] += Q*D[i] é calculado e acumulado durante a época.

8. SQR[i] += COR[i]*COR[i] é calculado separadamente e acumulado durante toda a época para cada peso, incluído no neurônio.

9. No final de uma época, para cada peso é calculada a correção pessoal e adicionada a esse peso W[i] += COR[i]/SQR[i]


Tentou usar um coeficiente de (1 - j/N), assim como pesos aleatórios cujos valores absolutos cresceram mais de 20. Randomizar ajuda melhor.

P.S. corrigiu um erro no texto