Frage:
Wann sollte eine Dimensionsreduktion angewendet werden?
Dov
2012-02-15 13:17:41 UTC
view on stackexchange narkive permalink

Gestern habe ich diese Frage gestellt, in der ich 180 Probanden mit jeweils 500 Merkmalen hatte. Obwohl ich mir sicher war, dass Dimensionsreduktion in diesem Fall ein Muss ist (500 Features), sagten die meisten Antworten, dass 500 nicht zu viele sind.

Meine Frage lautet also: Gibt es eine Faustregel, wann man vor dem Klassifikator die Dimensionsreduktion verwenden sollte? Wie viele Funktionen sind zu viele? (Ich denke, es hängt vom Verhältnis zwischen der Anzahl der Motive und den Merkmalen ab. Nicht wahr?)

Fünf antworten:
andreister
2012-02-15 15:31:00 UTC
view on stackexchange narkive permalink

Anstatt nach " wann verwenden" zu fragen, schauen wir uns " warum verwenden" an - ich glaube, dies führt uns gut zur "wann" -Antwort.

Ich verstehe, dass die Reduzierung der Dimensionalität hauptsächlich dazu dient,

  • das Lernen zu beschleunigen (viele Funktionen führen zu längeren Berechnungen) und Daten zu komprimieren (Viele Funktionen beanspruchen viel Speicherplatz). In dieser Ansicht sollten Sie die Abmessungen nur reduzieren, wenn die Laufzeit oder die Datengröße "nicht akzeptabel" ist, und Sie reduzieren den Funktionsbereich, bis die Dinge "akzeptabel" werden.

"Inakzeptabel" ist offensichtlich , ausschließlich durch die jeweilige Aufgabe definiert. Moderne Computer können viele Berechnungen durchführen und viele Daten speichern - weshalb Ihnen, glaube ich, gesagt wurde, dass 500 Funktionen nicht zu viel sind. Es gibt nur wenige andere Gründe für die Verringerung der Dimensionalität, die ich mir vorstellen kann:

  • Matrixinversionsprobleme - Ein Algorithmus kann eine Matrix aus einem Beispielsatz erstellen, und wenn ja Merkmale sind voneinander abhängig, wodurch der Marix nicht invertierbar ist. In der Praxis ist dies jedoch keine große Sache und wird über Moore-Penrose pseudoinverse umgangen. Meiner Ansicht nach sollte dies nicht der Grund für die Verringerung der Dimensionalität sein.

  • Datenvisualisierung - Als Faustregel gilt hier das Extrahieren von Features, bis aufgrund eines Mangels an menschlicher Wahrnehmung maximal zwei übrig bleiben :)

Upul
2012-02-15 14:43:12 UTC
view on stackexchange narkive permalink

Soweit ich weiß, gibt es keine Faustregel, wann die Dimensionsreduktion verwendet werden soll. Ich denke auch, dass dies vom Verhältnis zwischen der Anzahl der Themen und Merkmalen abhängt. Auch andere Faktoren wie die Verarbeitungsleistung des Systems, für das Sie Ihren Lernalgorithmus einsetzen möchten, müssen möglicherweise berücksichtigt werden.

Weitere Techniken zur Dimensionsreduzierung wie spärlicher Auto-Encoder sind in der Lage, interessante Muster in den Daten zu finden, wodurch die Genauigkeit von Algorithmen verbessert wird. Daher könnte man denken, dass es immer besser ist, eine Dimensionsreduktionsmethode zu verwenden.

Was lässt Sie denken, dass es vom Verhältnis zwischen der Anzahl der Themen und Merkmalen abhängt?
Guy
2012-02-16 02:35:51 UTC
view on stackexchange narkive permalink

Die Anzahl der Features ist nicht der einzige Grund für eine Reduzierung. Es ist auch wichtig zu überprüfen, welche Funktionen vorhanden sind.

Obwohl dies eine Informatik-orientierte Site ist, sind die Themen Speicher und Laufzeit relevant, aber sie sollten nicht der einzige Schwerpunkt vieler Lernaufgaben sein.

Wenn Sie Wenn Sie Ihre Funktionen auswählen, sollten Sie eine Art Hypothese haben, was für die jeweilige Aufgabe relevant ist. Wenn Sie Ihre Features auf zufällige Weise oder in einer Weise ausgewählt haben, die nicht mit der Aufgabe zusammenhängt, die Sie lernen möchten, ist es in Ordnung, weiterhin "zufällige" Methoden zu verwenden, um diese Anzahl zu reduzieren. Wenn Sie jedoch eine Hypothese zu den Funktionen hätten, würde ich versuchen, so viele wie möglich im Lernprozess beizubehalten.

Im Allgemeinen gilt: Je besser Sie verstehen und welche Je besser Sie Ihre Aufgabe planen, um herauszufinden, mit welchen Funktionen Sie am besten lernen können, desto besser sind Ihre Ergebnisse.

Lucas
2012-02-16 14:07:11 UTC
view on stackexchange narkive permalink

Wenn die Komplexität Ihres Modells oder Klassifikators, der auf diesen n Merkmalen trainiert wurde, schlecht skaliert (z. B. wächst die Anzahl der Parameter mit O (n ^ 3)), können sogar 500 Merkmale ein Problem sein. Nicht nur, weil die Optimierung länger dauert, sondern auch, weil Sie möglicherweise nicht über genügend Daten verfügen, um Ihre Parameter einzuschränken, was zu einer Überanpassung führen würde.

Durch die Reduzierung der Modellkomplexität kann die Reduzierung der Dimensionalität daher auch als Mittel dienen Regularisierung .

neuron
2012-02-18 14:29:31 UTC
view on stackexchange narkive permalink

Vor einiger Zeit habe ich in einem Video aus Stanford einen weiteren sehr interessanten Anwendungsfall für die Reduzierung der Dimensionalität gesehen. Sie haben eine Menge Leute mit einem Körperscanner gescannt und daraus 3D-Modelle erstellt. Nachdem sie eine Reihe von Daten hatten, wandten sie die Dimensionsreduktion an, um die Anzahl der Variablen zu reduzieren, mit denen sie arbeiten mussten. Durch Ändern dieser Variablen konnten sie die Größe / das Gewicht / das Geschlecht der resultierenden 3D-Modelle schnell ändern.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...