Ich habe einen Code für ANN BP entwickelt, um Schnarchsegmente zu klassifizieren. Ich habe 10 Eingabemerkmale und 1 versteckte Schicht mit 10 Neuronen und einem Ausgangsneuron. Ich habe 1 als kein Schnarchen und 0 als Schnarchsegment bezeichnet. Ich habe 3000 Segmente und darunter sind 2500 keine Schnarchsegmente, die als 1. und 500 Schnarchsegmente markiert sind. Ich habe den Datensatz bereits in drei Sätze aufgeteilt (70% Training, 15% Validierung und 15% Test). .Künstliche neuronale Netzwerk-Rückpropagationstests
Nun, während ich das Netzwerk trainierte, mischte ich zunächst das Trainingssatz und mixte das Schnarchen und die Schnarchsegmente alle zusammen. Nachdem ich das Netzwerk trainiert habe, habe ich festgestellt, dass es nur eines von ihnen klassifizieren kann, wenn ich es validiere (nur durch Feed-Forward-Netzwerk). Lassen Sie mich es weiter klarstellen, angenommen, in dem Trainingssatz ist das letzte Element kein Schnarchen (was 1 ist). Also trainierte es das Netzwerk für die letzte Ausgabe. Dann gibt es in der Validierungsphase immer eine Ausgabe nahe 1, selbst für Schnarchsegmente (was 0 ist). Das Gleiche passiert, wenn das letzte Element schnarcht (0). Dann gibt es in der Validierungsphase immer eine Ausgabe nahe 0.
Wie kann ich dieses Problem lösen? Warum kann mein Netzwerk die Ausgabe für vorherige Segmente nicht speichern? Es speichert nur für das letzte Segment? Was sollte ich im Netzwerk ändern, um es zu lösen?
Es sollte mit 0 und 1 das gleiche wie mit -1 und 1, das Problem ist in der Anzahl der Neuronen und Synapsis in versteckter Lage r. –