Pergunta

você sabe qualquer aplicação ao lado padrão reco. worthe, a fim de implementar Hopfield modelo de rede neural?

Foi útil?

Solução

redes neurais recorrentes (dos quais redes de Hopfield são um tipo especial) são usados ??para diversas tarefas na aprendizagem seqüência:

  • Previsão Sequence (Mapear uma história de valores de ações para o valor esperado na próxima iteração)
  • classificação Sequence (Mapeie cada trecho de áudio completo para um alto-falante)
  • rotulagem Sequence (Mapear um trecho de áudio para a frase falada)
  • Não-markoviano reforço de aprendizagem (por exemplo, tarefas que exigem memória profunda como a referência T-Maze)

Eu não tenho certeza que você entende por "reconhecimento de padrões" exatamente, uma vez que, basicamente, é todo um campo em que cada tarefa para a qual as redes neurais podem ser usados ??se encaixa.

Outras dicas

Você pode usar rede de Hopfield para problemas de otimização também.

Você pode verificar este repositório -> Hopfield de rede

Lá você tem um exemplo para o teste de um padrão depois de treinar a rede off-line. Este é o teste

 @Test
 public void HopfieldTest(){
     double[] p1 = new double[]{1.0, -1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0};
     double[] p2 = new double[]{1.0, 1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0};
     double[] p3 = new double[]{1.0, 1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0};

     ArrayList<double[]> patterns = new ArrayList<>();
     patterns.add(p1);
     patterns.add(p2);

     Hopfield h = new Hopfield(9, new StepFunction());

     h.train(patterns); //train and load the Weight matrix

     double[] result = h.test(p3); //Test a pattern

     System.out.println("\nConnections of Network: " + h.connections() + "\n"); //show Neural connections
     System.out.println("Good recuperation capacity of samples: " + Hopfield.goodRecuperation(h.getWeights().length) + "\n");
     System.out.println("Perfect recuperation capacity of samples: " + Hopfield.perfectRacuperation(h.getWeights().length) + "\n");
     System.out.println("Energy: " + h.energy(result));

     System.out.println("Weight Matrix");
     Matrix.showMatrix(h.getWeights());
     System.out.println("\nPattern result of test");
     Matrix.showVector(result);

     h.showAuxVector();
 }

E depois de executar o teste você pode ver

Running HopfieldTest

Connections of Network: 72

Good recuperation capacity of samples: 1

Perfect recuperation capacity of samples: 1

Energy: -32.0

Weight Matrix
 0.0        0.0     2.0    -2.0      2.0       -2.0       0.0       0.0     0.0
 0.0        0.0     0.0     0.0      0.0        0.0      -2.0       2.0    -2.0
 2.0        0.0     0.0    -2.0      2.0       -2.0       0.0       0.0     0.0
-2.0        0.0    -2.0     0.0     -2.0        2.0       0.0       0.0     0.0
 2.0        0.0     2.0    -2.0      0.0       -2.0       0.0       0.0     0.0
-2.0        0.0    -2.0     2.0     -2.0        0.0       0.0       0.0     0.0
 0.0       -2.0     0.0     0.0      0.0        0.0       0.0      -2.0     2.0
 0.0        2.0     0.0     0.0      0.0        0.0      -2.0       0.0    -2.0
 0.0       -2.0     0.0     0.0      0.0        0.0       2.0      -2.0     0.0

Pattern result of test 

 1.0        1.0     1.0     -1.0     1.0       -1.0      -1.0       1.0     -1.0
-------------------------
The auxiliar vector is empty

Espero que isso pode ajudá-lo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top