1

Ich möchte eine Merkmalsextraktion (oder ein Clustering) für ein Dataset mit Untermerkmalen durchführen. Zum Beispiel, Datensatz ist wie folgt. Ziel ist es, den Robotertyp anhand der Daten zu klassifizieren.Merkmalsextraktion für mehrere Untermerkmale

Samples : 100 robot samples [Robot 1, Robot 2, ..., Robot 100] 
Classes : 2 types [Type A, Type B] 
Variables : 6 parts, and 3 sub-features for each parts (total 18 variables) 
[Part1_weight, Part1_size, Part1_strength, ..., Part6_size, Part6_strength, Part6_weight] 

Ich möchte Merkmalsextraktion durchzuführen mit [Gewicht, Größe, Stärke] und extrahiert Verwendung Funktion als repräsentativer Wert für den Teil.

Kurz gesagt, mein Ziel ist es, das Feature auf 6 - [Part1_total, Part2_total, ..., Part6_total] zu reduzieren - und dann den Typ des Roboters mit diesen 6 Merkmalen zu klassifizieren. Also, kombiniere Feature mit "Gewicht", "Größe" und "Stärke" ist das Problem zu lösen.

Zuerst dachte ich über die Anwendung von PCA (Principal Component Analysis), weil es einer der beliebtesten Feature Extrahierungsalgorithmus ist. Aber es berücksichtigt alle 18 Merkmale separat, so dass "Part1_weight" als wichtiger angesehen werden kann als "Part2_weight". Aber was ich wissen muss, ist die Wichtigkeit von "Gewichten", "Größen" und "Stärken" unter den Proben, so dass PCA nicht anwendbar ist.

Gibt es eine Möglichkeit, dieses Problem zu lösen?

Antwort

1

Wenn Sie genau ein Feature pro Teil haben möchten, sehe ich keinen anderen Weg, als die Feature-Reduktion teilweise durchzuführen. Es könnte jedoch eine bessere Wahl als einfache PCA geben. Zum Beispiel, wenn die Teile meist massiv sind, korreliert ihr Gewicht wahrscheinlich mit der dritten Potenz der Größe, so dass Sie die kubische Wurzel des Gewichts oder den Würfel der Größe vor der Durchführung der PCA nehmen könnten. Alternativ können Sie einen Logarithmus beider Werte verwenden, was wiederum zu einer linearen Abhängigkeit führt.

Natürlich gibt es viele weitere ausgefallene Transformationen, die Sie verwenden könnten. In der Statistik wird die Box-Cox Transformation verwendet, um eine normal aussehende Verteilung der Daten zu erreichen.

Sie sollten auch in Betracht ziehen, die transformierten Daten zu normalisieren, bevor Sie die PCA durchführen, d. H. Den Mittelwert subtrahieren und durch die Standardabweichungen jeder Variablen dividieren. Es wird den Einfluss von Maßeinheiten entfernen. I.e. Es spielt keine Rolle, ob Sie das Gewicht in kg, atomaren Einheiten oder Sonnenmassen messen.

+0

Vielen Dank für Ihren Rat. Es ist jedoch leicht, PCA getrennt durchzuführen (dh PCA zu Part1_size, Part1_strength, Part1_weight zum Extrahieren von Feature für Part1, PCA zu Part2_size, Part2_strength ... für Part2 usw.), aber es scheint schwierig zu sein, allgemeine PCA zu berechnen jedes Untermerkmal (dh PCA zu gemeinsamer Parts_size, Parts_strength, Parts_weight für die Merkmalsextraktion für jedes Teil). Hast du eine Ahnung davon? – z991

+0

Ich verstehe den zweiten (schwierigen) Teil der Frage nicht. Versuchen Sie, die Größe, das Gewicht und die Stärke in einem Merkmal zu kombinieren? In diesem Fall müssen Sie sie normalisieren, da sie in verschiedenen Einheiten und auf unterschiedlichen Skalen gemessen werden. –

+0

Sorry, ich war ein wenig verwirrt, aber jetzt habe ich verstanden. Vielen Dank für Ihre Antwort. – z991

1

Wenn die Teilenummer sie voneinander unterscheidet (z. B. Teil1 unterscheidet sich von Teil2, ist egal, ob Größe, Gewicht, Festigkeitsparameter identisch sind), können Sie PCA für jedes Teil einmal durchführen. Verwenden Sie nur die Größe, das Gewicht und die Stärke des aktuellen Teils als Parameter in der aktuellen PCA.

Alternativ können Sie, wenn die Reihenfolge der Teile-Arrays keine Rolle spielt, nur eine PCA verwenden, die alle Parameter (Größe, Gewicht, Stärke) verwendet und diese nicht durch ihre Teilenummer unterscheidet.

Verwandte Themen