Frage

Sie wissen, jede Anwendung neben Muster aner. worthe um neuronale Netzwerkmodell zu implementieren Hopfield?

War es hilfreich?

Lösung

rekurrenten neuronalen Netzen (von denen Hopfield-Netze sind eine spezielle Art) werden für mehrere Aufgaben in der Reihenfolge Lernen verwendet:

  • Sequence Prediction (Karte eine Geschichte von Bestandswerten auf den erwarteten Wert in dem nächsten Zeitschritt)
  • Sequenzklassifizierung (Karte jeden kompletten Audio-Schnipsels an einen Lautsprecher)
  • Sequence Kennzeichnung (Karte ein Audio-Schnipsel auf den Satz gesprochen)
  • Non-Markow Verstärkung Lernen (z Aufgaben, die tiefen Speicher als T-Maze-Benchmark erfordert)

Ich bin nicht sicher, was Sie unter „Mustererkennung“ genau bedeuten, da es im Grunde ein ganzes Feld ist, in denen jede Aufgabe, für die neuronale Netze fits verwendet werden.

Andere Tipps

Sie können mit Hopfieldnetzes für Optimierungsprobleme als auch.

Sie können diese Repository Kasse -> Hopfieldnetzes

Da haben Sie ein Beispiel für den Test ein Muster nach dem Zuge der Netzwerk-off-line. Dies ist der Test

 @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();
 }

Und nach dem Testlauf können Sie sehen,

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

Ich hoffe, dies kann Ihnen helfen,

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top