[PYTHON] [AI-Algorithmus] Informationen zur Dimensionsreduktion (t-SNE)

Dieses Mal werde ich einen Artikel über das unbeaufsichtigte Lernen des maschinellen Lernens schreiben, den Algorithmus der "Dimensionsreduktion (t-SNE)". Es gibt mehrere bekannte Algorithmen zur Dimensionsreduktion, aber hier möchte ich über t-SNE schreiben, eine Methode, die für mehrdimensionale Daten geeignet ist.

Die Dimensionsreduzierung ist eine Transformation, die die erklärenden Variablen der Eingabedaten reduziert, sodass die Eigenschaften der Originaldaten mit einer kleinen Anzahl von Variablen erklärt werden können, während die Informationen der ursprünglichen Eingabedaten erhalten bleiben.

Angenommen, wenn Sie das Alter von Herrn A vorhersagen möchten (Zielvariable y), werden nur Größe (erklärende Variable x1) und Gewicht (erklärende Variable x2) als Informationen von Herrn A angegeben. Da Erwachsene größer und schwerer als Kinder werden, scheint eine gewisse Korrelation mit dem Alter zu bestehen. Wenn Sie zu diesem Zeitpunkt versuchen, die Abmessungen der beiden Variablen Größe und Gewicht zu verringern, sollten Sie eine Variable erstellen, während Sie die Informationen dieser beiden Variablen bis zu einem gewissen Grad beibehalten. Dann scheint es, dass eine Variable namens "Körperbau" aus der Beziehung zwischen Größe und Gewicht erstellt werden kann. Und es scheint möglich zu sein, das Alter anhand der Variablen des Körpers vorherzusagen. Das Kombinieren mehrerer Variablen zu einer auf diese Weise wird als Dimensionsreduktion bezeichnet.

Es ist üblich, multivariate Daten, die normalerweise Dutzende und Hunderte von Variablen enthalten, auf zwei oder drei Variablen zu reduzieren.

Dann gibt es zwei Hauptgründe, warum wir uns die Mühe machen, die Abmessungen zu reduzieren. Die erste besteht darin, mehrdimensionale Daten zu visualisieren. Die Visualisierung erleichtert es dem Menschen, auch Daten zu erfassen, die nicht leicht zu verstehen sind. Je einfacher es ist, Trends in Daten zu erfassen, desto einfacher ist es, diese in EDA zu erklären und die Analyseergebnisse auszuwerten. Die zweite besteht darin, den "Fluch der Dimension" zu verhindern. Grob gesagt ist ein Dimensionsfluch, dass sich die Leistung verschiedener Algorithmen für maschinelles Lernen verschlechtert, wenn die Daten zu viele Variablen enthalten (die Anzahl der Dimensionen ist groß). Ich bin mit dem Fluch der Dimensionen nicht sehr vertraut, aber unter der Annahme, dass sich die von allen Daten enthaltenen Informationen nicht ändern, scheint sich die Leistung des Algorithmus zu verbessern, wenn weniger Variablen und mehr Informationen pro Variable vorhanden sind als viele Variablen. ..

Lassen Sie uns nun über den t-SNE-Algorithmus nachdenken. Wiederum ist t-SNE unter verschiedenen Dimensionsreduktionsmethoden wie PCA einfach zu verwenden. Das Merkmal von t-SNE ist, dass die im mehrdimensionalen Raum verteilten Daten (ein Raum, in dem der Abstand zwischen zwei Punkten auch in einem teilweise mehrdimensionalen Raum ausgedrückt werden kann) dimensional komprimiert und visualisiert werden können. Übrigens kann PCA die Dimension linearer Daten insgesamt gut reduzieren, aber t-SNE kann nichtlineare Daten lokal (zwischen zwei Punkten) gut reduzieren. Mit anderen Worten, t-SNE reduziert die Anzahl der Dimensionen auf 2 bis 3, indem es sich auf den Abstand zwischen Daten konzentriert und die mehrdimensionale Struktur so weit wie möglich verlässt.

Da die Basis von t-SNE ein Algorithmus namens SNE ist, werde ich ihn zunächst hier erläutern. SNE image.pngの数式です。 Dies ist die bedingte Wahrscheinlichkeit von j unter der gegebenen i-Bedingung. Es ist nur die Wahrscheinlichkeit, die es darstellt, aber es drückt die Nähe zwischen den Daten im hochdimensionalen Raum aus. Der Inhalt entspricht genau der Formel der Gaußschen Verteilung mit mehreren Variablen. Ich verstehe, dass es sich um eine Normalverteilung handelt, die in drei oder mehr Dimensionen behandelt wird. Weitere Informationen finden Sie in einem anderen Artikel. Wichtig ist, dass x ein Datenpunkt im unkomprimierten Datensatz X ist.

Recommended Posts

[AI-Algorithmus] Informationen zur Dimensionsreduktion (t-SNE)