Pergunta sobre programação de redes neurais - página 4

 
2rip: Alguma sugestão? ;)
 
plan:
2rip: Alguma sugestão? ;)
Há sempre ofertas ... Precisamos entender o quão adequado o intercâmbio será :)
 
Curiosamente, a troca nunca é mutuamente benéfica. Portanto, alguém tem que pensar. E ainda bem que não sou eu.
 
plan:
2rip: Alguma sugestão? ;)

Poderíamos fazer algo mais simples. Cada um faz o seu trabalho, e os outros decidem. Mas ninguém quer dar o seu nas mãos erradas, embora alguém já o tenha feito. Portanto, o problema é mais freqüentemente encontrado em outra coisa. Mas se você chega a uma idéia comum, muitas vezes você obtém um resultado muito bom.
 
plan:
2rip: Alguma sugestão? ;)


Há uma sugestão para usar esta configuração como uma "célula comunitária":

//+------------------------------------------------------------------+
//| 2-х слойная нейросеть из 3-х нейронов                            |
//| первый слой - два нейрона                                        |
//| второй слой - один нейрон                                        |
//| веса W[0], W[N+1], W[2*N+2] - задают смещение нейронов           |
//| N - число входов                                                 |
//| Число подстраиваемых весов расчитывается как N*2+2+3             |
//+------------------------------------------------------------------+
double neuronet1(double W[],double x[]) 
  {
   int i;
   int N=ArraySize(x);
   if(ArraySize(W)!=N*2+5) {
      Print("Ошибка! Размер массива весов должен быть = ",N*2+5);
      return(0);
   }
   double sum=0.0;
   double Out1=0.0, Out2=0.0;
   //---Neuron 1 ----------------+
   sum=W[0];
   //---
   for(i=1; i<=N; i++) { 
      sum+=W[i]*x[i-1];
   }
   Out1=MathArctan(sum);//th(sum);
   //---Neuron 2 ----------------+
   sum=W[N+1];
   //---
   for(i=N+2; i<=2*N+1; i++) { 
      sum+=W[i]*x[i-(N+2)];
   }
   Out2=MathArctan(sum);//th(sum);
   //---Neuron 3 ----------------+
   return(MathArctan(Out1*W[2*N+3]+Out2*W[2*N+4]+W[2*N+2]));
  }
//-------------------------------------------------------------------------------------------------
 
Vinin:
plano:
2rip: Alguma sugestão? ;)

Podemos fazê-lo de uma maneira mais simples. Cada um expõe seu trabalho e os outros decidem. Mas ninguém quer dar o seu nas mãos erradas, embora alguém já o tenha feito. Portanto, o problema é mais freqüentemente encontrado em outra coisa. Mas se você chega a uma idéia comum, você obtém muito bons resultados.
Sim. Colocá-lo em exposição pública não é uma boa idéia, a menos, é claro, que seja um graal, do qual há muito! Embora eu seja a favor do Código Aberto, mas meu trabalho sobre o diploma depois irá e não seria sábio colocá-los na rede antes
 
rip:
plano:
2rip: Alguma sugestão? ;)
Há sempre ofertas ... Precisamos entender se o intercâmbio será adequado :)

Não há necessidade e, portanto, não há desejo de trocar nada ... Mas a ajuda em alguns assuntos é sempre bem-vinda! Minhas idéias resumi brevemente acima. Interessante ouvir o que você tem :)
 

Isto é um indicador! Uma AG feita pelo próprio pode ser usada como uma ferramenta de treinamento para os NS acima:

Arquivos anexados:
 
klot:
Há uma sugestão para usar esta configuração como uma 'célula comunitária':
...
Obrigado pelo código. Por que esta configuração em particular? Você tem algum resultado com isso? E você não pode usar algo mais rápido que a arctangência como uma função sigmóide?
 
rsi:
klot:
Há uma sugestão para usar esta configuração como uma 'célula comunitária':
...
Obrigado pelo código. Por que esta configuração em particular? Você tem algum resultado com isso? E você não pode usar algo mais rápido que a arctangência como uma função sigmóide?

Qualquer função não-linear serve. É um indicador!
Razão: