t-SNE mit gemischten kontinuierlichen und binären Variablen


10

Ich untersuche derzeit die Visualisierung hochdimensionaler Daten mit t-SNE. Ich habe einige Daten mit gemischten binären und kontinuierlichen Variablen und die Daten scheinen die binären Daten viel zu leicht zu gruppieren. Dies wird natürlich für skalierte Daten (zwischen 0 und 1) erwartet: Der euklidische Abstand ist zwischen binären Variablen immer am größten / kleinsten. Wie soll man mit gemischten binären / kontinuierlichen Datensätzen mit t-SNE umgehen? Sollen wir die Binärspalten löschen? Gibt es da ein anderes was metricwir benutzen können?

Betrachten Sie als Beispiel diesen Python-Code:

x1 = np.random.rand(200)
x2 = np.random.rand(200)
x3 = np.r_[np.ones(100), np.zeros(100)]

X = np.c_[x1, x2, x3]

# plot of the original data
plt.scatter(x1, x2, c=x3)
# … format graph

Meine Rohdaten sind also:

Rohdaten

Dabei ist die Farbe der Wert des dritten Merkmals (x3). In 3D liegen die Datenpunkte in zwei Ebenen (x3 = 0-Ebene und x3 = 1-Ebene).

Ich führe dann t-SNE durch:

tsne = TSNE() # sci-kit learn implementation
X_transformed = StandardScaler().fit_transform(X)
tsne = TSNE(n_components=2, perplexity=5)
X_embedded = tsne.fit_transform(X_transformed)

mit der resultierenden Handlung:

tsne_data

und die Daten wurden natürlich von x3 geclustert. Mein Bauchgefühl ist, dass wir eine Entfernungsmetrik, die für binäre Features nicht gut definiert ist, löschen sollten, bevor wir ein t-SNE ausführen. Dies wäre eine Schande, da diese Features nützliche Informationen für die Erzeugung der Cluster enthalten können.


1
Hinweis: Ich bin immer noch daran interessiert, Kommentare dazu und zur Anwendbarkeit von UMAP auf diesen Bereich zu hören.
FChm

Vielen Dank für das Kopfgeld, wieder interessiert, aber nicht viel Zeit damit verbracht, dies zu prüfen, um fair zu sein. Möglicherweise habe ich heute etwas Zeit, um erste Nachforschungen anzustellen, und werde gegebenenfalls Aktualisierungen hinzufügen.
FChm

2
Ich bin in der Praxis auf dieses Problem gestoßen. Ich denke, es ist nicht spezifisch für tSNE, wirkt sich aber gleichermaßen auf jeden entfernungsbasierten unbeaufsichtigten Lernalgorithmus (einschließlich Clustering) aus. Ich denke auch, dass die geeignete Lösung stark davon abhängt, was die binären Merkmale darstellen, und von einem Expertenurteil darüber, wie wichtig sie sind. Ich suche also nach einer Antwort, die verschiedene mögliche Situationen diskutiert. Ich bin mir sicher, dass es hier keine einheitliche Lösung gibt.
Amöbe

Antworten:


8

Haftungsausschluss: Ich habe nur tangentiales Wissen zu diesem Thema, aber da sonst niemand geantwortet hat, werde ich es versuchen

Entfernung ist wichtig

Jede auf Entfernungen basierende Technik zur Reduzierung der Dimensionalität (tSNE, UMAP, MDS, PCoA und möglicherweise andere) ist nur so gut wie die von Ihnen verwendete Abstandsmetrik. Wie @amoeba richtig hervorhebt, kann es keine Einheitslösung geben. Sie benötigen eine Abstandsmetrik, die erfasst, was Sie für wichtig in den Daten halten, dh, dass Zeilen, die Sie als ähnlich betrachten, einen geringen Abstand und Zeilen haben, die Sie würden Betrachten Sie verschiedene haben große Entfernung.

Wie wählt man eine gute Entfernungsmetrik? Lassen Sie mich zunächst eine kleine Ablenkung vornehmen:

Ordination

Lange vor den glorreichen Tagen des modernen maschinellen Lernens haben Community-Ökologen (und wahrscheinlich auch andere) versucht, schöne Diagramme für die explorative Analyse mehrdimensionaler Daten zu erstellen. Sie nennen den Prozess Ordination und es ist ein nützliches Stichwort für in der Ökologie Literatur geht zurück mindestens bis zu den 70er Jahren zu suchen und immer noch stark heute gehen.

Wichtig ist, dass Ökologen über sehr unterschiedliche Datensätze verfügen und sich mit Gemischen von binären, ganzzahligen und reellen Merkmalen befassen (z. B. Vorhandensein / Fehlen von Arten, Anzahl der beobachteten Proben, pH-Wert, Temperatur). Sie haben viel Zeit damit verbracht, über Entfernungen und Transformationen nachzudenken, damit Ordinationen gut funktionieren. Ich verstehe das Gebiet nicht sehr gut, aber zum Beispiel die Überprüfung der Beta-Diversität von Legendre und De Cáceres als Varianz der Community-Daten: Unähnlichkeitskoeffizienten und Partitionierung zeigen eine überwältigende Anzahl möglicher Entfernungen, die Sie möglicherweise überprüfen möchten.

Mehrdimensionale Skalierung

Das Werkzeug für die Ordination ist die mehrdimensionale Skalierung (MDS), insbesondere die nichtmetrische Variante (NMDS), die Sie zusätzlich zu t-SNE ausprobieren sollten. Ich weiß nichts über die Python-Welt, aber die R-Implementierung in metaMDSFunktion des veganPakets macht viele Tricks für Sie (z. B. mehrere Läufe ausführen, bis zwei ähnliche gefunden werden).

Dies ist umstritten, siehe Kommentare: Das Schöne an MDS ist, dass es auch die Features (Spalten) projiziert, sodass Sie sehen können, welche Features die Dimensionsreduzierung vorantreiben. Dies hilft Ihnen bei der Interpretation Ihrer Daten.

Denken Sie daran, dass t-SNE als Instrument zur Ableitung von Verständnis kritisiert wurde, z. B. diese Untersuchung seiner Fallstricke. Ich habe gehört, dass UMAP einige der Probleme löst, habe aber keine Erfahrung mit UMAP. Ich bezweifle auch nicht, dass ein Teil des Grundes, warum Ökologen NMDS verwenden, Kultur und Trägheit ist, vielleicht sind UMAP oder t-SNE tatsächlich besser. Ich weiß es ehrlich gesagt nicht.

Rollen Sie Ihre eigene Distanz aus

[0,1] unabhängig von der Anzahl der Merkmale, während die Größe des euklidischen Abstands die Anzahl der Merkmale widerspiegelt.

Ein Wort der Vorsicht

Die ganze Zeit sollten Sie bedenken, dass Sie, da Sie so viele Regler zum Stimmen haben, leicht in die Falle des Stimmens geraten können, bis Sie sehen, was Sie sehen wollten. Dies ist bei explorativen Analysen nur schwer vollständig zu vermeiden, Sie sollten jedoch vorsichtig sein.


1
+1. Viele gute Punkte hier, und ich mag die Verweise auf die ältere "Ordinations" -Literatur. Eine Sache, die meine Aufmerksamkeit auf sich gezogen hat: "Das Schöne an MDS ist, dass es auch die Features (Spalten) projiziert, sodass Sie sehen können, welche Features die Dimensionsreduzierung bewirken." - Sind Sie sich da sicher? Soweit ich weiß, stimmt das nicht. Zumindest gilt dies nicht mehr für MDS als für t-SNE.
Amöbe

@amoeba Hier kommt mein begrenztes Wissen ins Spiel :-) Ich weiß nur, dass die Standard-Plotmethode für metaMDSPlots sowohl Beispiele als auch Features ist (siehe z. B. diese Vignette: cran.r-project.org/web/packages/vegan/vignettes/). intro-vegan.pdf )
Martin Modrák

Vielen Dank für Ihre Antworten und Einblicke. Ich konzentriere mich jetzt mehr auf UMAP und denke, dass das Definieren eines Ähnlichkeitsmaßes wie der Jaccard-Entfernung vielleicht ein guter Weg ist, um gemischte Variablentypen zu behandeln. Ich habe kein MDB verwendet, bin mir dessen aber bewusst. Ich werde einige Zeit damit verbringen müssen zu verstehen, ob es nützlich ist.
FChm

1
@ MartinModrák Ich weiß nicht, was genau das veganPaket dort tut, aber MDS / NMDS ist eine nichtlineare und nichtparametrische Methode (genau wie t-SNE), und es gibt keine "interne" Möglichkeit, die ursprünglichen Features an MDS-Dimensionen anzupassen. Ich kann mir vorstellen, dass sie Korrelationen zwischen Originalmerkmalen und MDS-Dimensionen berechnen. In diesem Fall kann dies für jede Einbettung einschließlich t-SNE erfolgen. Wäre interessant zu wissen, was genau veganmacht.
Amöbe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.