Muss die auf neuronalen Netzen basierende Klassifizierung reduziert werden?

9

Ich verwende einen auf neuronalen Netzen basierenden Klassifizierer, um eine Klassifizierung für meine Daten in n-dimensional durchzuführen.

Dann dachte ich, es wäre vielleicht eine gute Idee, zuerst eine Dimensionsreduzierung wie PCA für meine Daten durchzuführen und dann die PCA-Ergebnisse in den Klassifikator zu schreiben (ich behalte 3 PCs). Die Klassifizierung der dimensionsreduzierten Merkmale ist jedoch nicht so gut wie die direkte Verwendung der ursprünglichen hochdimensionalen Merkmale.

Dann stieß ich auf diesen Beitrag NN als DR1 , in dem neuronale Netze als Dimensionsreduktionsmethode behandelt wurden. Auch einige Informationen finden Sie in diesem Artikel NN als DR2 Ich bin jetzt verwirrend:

  1. Wenn ich eine auf neuronalen Netzen basierende Klassifizierung (in Matlab) verwende, führt sie dann automatisch die Dimensionsreduzierung für mich durch?
  2. Sollte ich eine Dimensionsreduktion wie PCA ausführen, bevor ich die Klassifizierung neuronaler Netze ausführe?
  3. Gibt es andere Gründe, warum die Klassifizierung der PCA-Ergebnisse nicht so gut ist wie die Verwendung der ursprünglichen hochdimensionalen Merkmale?
Samo Jerom
quelle

Antworten:

18

Grundsätzlich kann die von PCA durchgeführte lineare Transformation genauso gut von den Eingangsschichtgewichten des neuronalen Netzwerks durchgeführt werden, so dass dies streng genommen nicht erforderlich ist. Mit zunehmender Anzahl von Gewichten im Netzwerk steigt jedoch auch die Datenmenge, die erforderlich ist, um die Gewichte des Netzwerks zuverlässig bestimmen zu können (häufig recht schnell), und eine Überanpassung wird zu einem größeren Problem (die Verwendung von Regularisierung ist ebenfalls erforderlich) eine gute Idee). Der Vorteil der Dimensionsreduzierung besteht darin, dass die Größe des Netzwerks und damit die zum Trainieren erforderliche Datenmenge reduziert wird. Der Nachteil der Verwendung von PCA besteht darin, dass die Unterscheidungsinformationen, die eine Klasse von einer anderen unterscheiden, möglicherweise in den Komponenten mit geringer Varianz enthalten sind, sodass die Verwendung von PCA die Leistung verschlechtern kann.

Wie die meisten Dinge in der statistischen Mustererkennung gibt es kein einziges Rezept, das für alle Probleme zuverlässig funktioniert, und das Beste ist, beide Ansätze auszuprobieren und herauszufinden, welches am besten funktioniert.

Dikran Beuteltier
quelle
1

Wenn ich eine auf neuronalen Netzen basierende Klassifizierung (in Matlab) verwende, führt sie dann automatisch die Dimensionsreduzierung für mich durch? Antwort: Wenn Sie mehr als eine Schicht für die Klassifizierung verwenden und die Anzahl der Neuronen in der verborgenen Schicht geringer ist als die der Eingangsneuronen, haben Sie eine Art neuronales Netzwerk zur Dimensionsreduktion. Wenn Sie in Bild n> m ein Dimensionsreduktionsnetzwerk haben aber es könnte kein PCA sein.

mohammad amiri
quelle
0

Da das neuronale Netzwerk jede nichtlineare Abbildung durch Lernen approximieren kann und frei von den Einschränkungen eines nichtlinearen Modells ist, war es nicht erforderlich, die Dimension wie PCA im Voraus zu reduzieren. Dies zeigt auch, dass ein künstliches neuronales Netzwerk (ANN) eine starke nichtlineare Rechenleistung aufweist.

ywj_huang
quelle