Diskussion zum Artikel "Neuronale Netze leicht gemacht (Teil 17): Reduzierung der Dimensionalität"

 

Neuer Artikel Neuronale Netze leicht gemacht (Teil 17): Reduzierung der Dimensionalität :

In diesem Teil setzen wir die Diskussion über die Modelle der Künstlichen Intelligenz fort. Wir untersuchen vor allem Algorithmen für unüberwachtes Lernen. Wir haben bereits einen der Clustering-Algorithmen besprochen. In diesem Artikel stelle ich eine Variante zur Lösung von Problemen im Zusammenhang mit der Dimensionsreduktion vor.

Die Hauptkomponentenanalyse wurde 1901 von dem englischen Mathematiker Karl Pearson erfunden. Seitdem wird es in vielen wissenschaftlichen Bereichen erfolgreich eingesetzt.

Um das Wesen der Methode zu verstehen, schlage ich eine vereinfachte Aufgabe vor, die sich auf die Reduzierung der Dimension eines zweidimensionalen Datenfeldes auf einen Vektor bezieht. Aus geometrischer Sicht kann dies als Projektion von Punkten einer Ebene auf eine gerade Linie dargestellt werden.

In der folgenden Abbildung sind die Ausgangsdaten durch blaue Punkte dargestellt. Es gibt zwei Projektionen, auf der orangefarbenen und der grauen Linie, mit Punkten in der entsprechenden Farbe. Wie man sehen kann, ist der durchschnittliche Abstand zwischen den Anfangspunkten und ihren orangefarbenen Projektionen kleiner als die entsprechenden Abstände zu den grauen Projektionen. Bei den grauen Projektionen überschneiden sich die Projektionen der Punkte. Daher ist die orangefarbene Projektion vorzuziehen, da sie alle einzelnen Punkte voneinander trennt und bei der Verringerung der Dimension (Abstand zwischen den Punkten und ihren Projektionen) weniger Daten verloren gehen.

Eine solche Linie wird als Hauptkomponente bezeichnet. Aus diesem Grund wird die Methode Hauptkomponentenanalyse (Principal Component Analysis PCA) genannt.

Aus mathematischer Sicht ist jede Hauptkomponente ein numerischer Vektor, dessen Größe der Dimension der Originaldaten entspricht. Das Produkt aus dem Vektor der ursprünglichen Daten, die einen Systemzustand beschreiben, und dem entsprechenden Vektor der Hauptkomponente ergibt den Projektionspunkt des analysierten Zustands auf der Geraden.

Je nach der ursprünglichen Datendimension und den Anforderungen an die Dimensionsreduktion kann es mehrere Hauptkomponenten geben, jedoch nicht mehr als die ursprüngliche Datendimension. Beim Rendern einer volumetrischen Projektion gibt es drei davon. Bei der Komprimierung von Daten ist in der Regel ein Verlust von bis zu 1 % der Daten zulässig.

Hauptkomponenten-Methode

Optisch sieht dies ähnlich aus wie eine lineare Regression. Es handelt sich jedoch um völlig unterschiedliche Methoden, die zu unterschiedlichen Ergebnissen führen.

Autor: Dmitriy Gizlyk

 

Ещё одна область использования методов понижения размерности — это визуализация данных. К примеру, у Вас есть данные описания состояний некой системы, представленные 10 параметрами. И Вам необходимо найти способ визуализировать эти данные. Для восприятия человеком наиболее предпочтительными являются 2-х и 3-мерные изображения. Конечно, можно сделать несколько слайдов с различными вариациями 2-3 параметров. Но это не даст полного представления о картине состояний системы. И в большинстве случаев различные состояния в различных слайдах будут сливаться в 1-ну точку. И не всегда это будут одни и те же состояния.

Deshalb möchten wir einen solchen Algorithmus finden, der uns helfen würde, alle unsere Systemzustände aus 10 Parametern in den 2- oder 3-dimensionalen Raum zu übersetzen. Und gleichzeitig würde er unsere Systemzustände unter Beibehaltung ihrer gegenseitigen Lage so weit wie möglich aufteilen. Und das natürlich mit minimalem Informationsverlust.

Dmitry, ich danke dir für den Artikel!

Nachdem ich diese Zeilen gelesen habe, erinnere ich mich sofort an den Prozess der Analyse der Optimierungsergebnisse, wenn ich ein 3D-Diagramm betrachte und die Parameter für jede der Achsen nacheinander ändere. Schließlich möchte ich nicht nur den besten Wert eines Parameters sehen, sondern auch seinen Einfluss auf andere Parameter.

Ist die Methode der Hauptkomponenten in diesem Fall hilfreich? Wie wird das Diagramm nach der Dimensionalitätsreduktion aussehen? Wie wird es möglich sein, aus ihm die Werte dieses oder jenes Parameters an jedem Punkt zu extrahieren?

 
Andrey Khatimlianskii Optimierungsergebnisse, wenn ich ein 3D-Diagramm betrachte und die Parameter für jede der Achsen nacheinander ändere. Schließlich will man ja nicht nur den besten Wert eines Parameters sehen, sondern auch seine Auswirkungen auf andere Parameter.

Ist die Methode der Hauptkomponenten in diesem Fall hilfreich? Wie wird das Diagramm nach der Dimensionalitätsreduktion aussehen? Wie wird es möglich sein, aus ihm die Werte dieses oder jenes Parameters an jedem Punkt zu extrahieren?

Im Fall von eindeutigen Achsenpositionen (wenn sie eindeutig bestimmt werden können), ja, das wird helfen, wenn es mehrere Varianten der Position gibt, die in den Werten nahe beieinander liegen, dann werden die ersten Berechnungen das Ergebnis der Achsenrichtung liefern, was nicht immer stimmt. Im Allgemeinen funktioniert die Dimensionalitätsreduktion nicht bei gleichmäßigen Verteilungen.

ZY, der Artikel ist anerkennenswert, der Autor wird respektiert.
 
Valeriy Yastremskiy #:

Bei eindeutigen Achsenpositionen (wenn sie eindeutig bestimmt werden können) ist es hilfreich, wenn es mehrere Varianten der Position gibt, die in den Werten nahe beieinander liegen, werden die ersten Berechnungen das Ergebnis der Achsenrichtung ergeben, was nicht immer der Fall ist. Im Allgemeinen funktioniert die Dimensionalitätsreduktion nicht bei gleichmäßigen Verteilungen.

Offenbar muss man sich mit dem Thema beschäftigen, um die Antwort zu verstehen.

Strategieparameter befinden sich auf den Achsen, sie können sehr unterschiedliche Werte haben, zusammenhängen oder unabhängig sein. Ich würde gerne 1 Diagramm analysieren und alle Beziehungen auf einmal sehen.

 

Die "Reduzierung der Dimensionalität" kann einen schnell in eine zweidimensionale Ecke drängen, wenn man nicht erkennt, dass sie in den meisten Fällen nur "in der Probe" funktioniert :)

aber der Artikel ist cool in Bezug auf die Portierung von PCA auf MQL, obwohl er in alglib ist
 
Andrey Khatimlianskii #:

Offenbar muss man beim Thema bleiben, um die Antwort zu verstehen.

Strategieparameter befinden sich auf den Achsen, sie können sehr unterschiedliche Werte haben, zusammenhängen oder unabhängig sein. Ich möchte 1 Diagramm analysieren und alle Beziehungen auf einmal sehen.

Nein, die PCA zeigt Ihnen nicht alle Korrelationen auf einmal, sondern nur einen Durchschnitt. Dabei werden die stärksten Korrelationen hervorgehoben. Wenn das langfristige Ergebnis nicht von den Parametern abhängt, d. h. konstant ist, hilft die PCA nicht weiter. Wenn der Einfluss der Parameter auf das Ergebnis schrittweise oder wellenförmig konstant ist, hilft sie ebenfalls nicht weiter, es sei denn, die Analyse erfolgt innerhalb einer Welle/Schritt).

 
Maxim Dmitrievsky #:

Die "Reduzierung der Dimensionalität" kann einen schnell in eine zweidimensionale Ecke drängen, wenn man nicht weiß, dass sie in den meisten Fällen nur "in der Probe" funktioniert :)

aber der Artikel ist cool in Bezug auf die Portierung von PCA auf MQL, obwohl er in alglib ist.

Sie können den Trend sehen))))

 
Andrey Khatimlianskii Optimierungsergebnisse, wenn ich ein 3D-Diagramm betrachte und die Parameter für jede der Achsen nacheinander ändere. Schließlich will man ja nicht nur den besten Wert eines Parameters sehen, sondern auch seine Auswirkungen auf andere Parameter.

Ist die Methode der Hauptkomponenten in diesem Fall hilfreich? Wie wird das Diagramm nach der Dimensionalitätsreduktion aussehen? Wie wird es möglich sein, aus ihm die Werte dieses oder jenes Parameters an jedem Punkt zu extrahieren?

Andrew, die Situation lässt sich anhand des im ersten Beitrag vorgestellten Diagramms erklären. Mit PCA reduzieren wir die Dimensionalität auf eine einzige Linie. Das heißt, von 2 Koordinaten, die wir mit dem Dimensionalitätsreduktionsvektor multiplizieren, erhalten wir einen Wert - den Abstand von "0" zu dem Punkt auf der orangen Linie. Multipliziert man diesen Abstand mit der transponierten Reduktionsmatrix, erhält man die Koordinaten dieses Punktes im 2-dimensionalen Raum. Dabei erhalten wir natürlich einen Punkt auf der Linie mit einer gewissen Abweichung vom wahren Punkt. So können wir für jeden Punkt im reduzierten Raum die Koordinaten im ursprünglichen Raum erhalten. Allerdings mit einer gewissen Abweichung von den ursprünglichen Daten.

 
Dmitriy Gizlyk #:

Andrew, die Situation lässt sich anhand der im ersten Beitrag vorgestellten Grafik erklären. Mit PCA reduzieren wir die Dimensionalität auf eine einzige Linie. D.h. aus 2 Koordinaten, die wir mit dem Dimensionalitätsreduktionsvektor multiplizieren, erhalten wir einen Wert - den Abstand von "0" zu dem Punkt auf der orangen Linie. Multipliziert man diesen Abstand mit der transponierten Reduktionsmatrix, erhält man die Koordinaten dieses Punktes im 2-dimensionalen Raum. Dabei erhalten wir natürlich einen Punkt auf der Linie mit einer gewissen Abweichung vom wahren Punkt. So können wir für jeden Punkt im reduzierten Raum die Koordinaten im ursprünglichen Raum erhalten. Allerdings mit einer gewissen Abweichung von den ursprünglichen Daten.

Vielen Dank für die Antwort.

Wenn die X-Achse der Wert des Parameters und die Y-Achse das Ergebnis des Geldlaufs ist, geht nach der Transformation eine Menge Information verloren.

Und am unklarsten ist, wie dies in einem 3D-Diagramm aussehen könnte. Wie wird die Dimensionalität herabgesetzt?

Und für 4d? Was würde das Ergebnis sein?

Wahrscheinlich braucht man hier eine gute Vorstellungskraft oder ein tiefes Verständnis aller Prozesse.)

 
Andrey Khatimlianskii #:

Ich danke Ihnen für Ihre Antwort.

Wenn die X-Achse der Wert des Parameters und die Y-Achse das Ergebnis des Geldlaufs ist, geht nach der Umrechnung eine Menge Information verloren.

Und am unklarsten ist, wie es in einem 3D-Diagramm aussehen könnte. Wie wird die Dimensionalität reduziert?

Und für 4d? Was würde das Ergebnis sein?

Ich schätze, man braucht eine gute Vorstellungskraft oder ein tiefes Verständnis für alle Prozesse.)

Dies ist nur ein vereinfachtes Beispiel. Wenn wir 2 Parameter und ein Ergebnis haben, ist diese Methode natürlich nicht unbedingt erforderlich. Bei mehr als 5 Parametern gibt es ein Problem mit der Visualisierung. 4 Parameter können durch ein Video dargestellt werden (ein Parameter als Zeit), 3 Parameter als volumetrisches Bild. Und das Ergebnis, Dichte oder Farbe im volumetrischen Bild

von wiki ist keine schlechte Erklärung

Formale Formulierung des CRA-Problems

Das Problem der Hauptkomponentenanalyse hat mindestens vier Grundversionen:

  • Approximation der Daten durch lineare Mannigfaltigkeiten niedrigerer Dimension;
  • Suche nach Unterräumen geringerer Dimensionalität in derorthogonalen Projektion, auf denen die Datenstreuung (d. h. dieStandardabweichung vom Mittelwert) maximiert wird;
  • Suche nach Unterräumen geringerer Dimensionalität in der orthogonalen Projektion, auf denen der RMS-Abstand zwischen Punkten maximal ist;
  • für eine gegebene mehrdimensionale Zufallsvariable eine solche orthogonale Koordinatentransformation zu konstruieren, durch diedie Korrelationen zwischen den einzelnen Koordinaten auf Null zurückgehen.
 
Ich habe immer gehört, dass Neurals die Zukunft der KI sind.