Tutorials  /  Python

Dimensionsreduktion - IsoMap

Ccentron Redaktion · Januar 2025 ·3 Min. Lesezeit ·Python, Tutorial

Einführung

Isomap steht für isometrisches Mapping. Isomap ist eine nichtlineare Dimensionsreduktionsmethode, die auf der Spektraltheorie basiert und versucht, geodätische Distanzen in der niedrigeren Dimension zu erhalten. Es beginnt mit der Erstellung eines Nachbarschaftsnetzwerks, verwendet dann Graph-Distanzen, um die geodätischen Distanzen zwischen allen Punktpaaren zu approximieren, und findet schließlich die niedrigdimensionale Einbettung des Datensatzes durch Eigenwertzerlegung der geodätischen Distanzmatrix.

In nichtlinearen Mannigfaltigkeiten gilt die euklidische Metrik nur, wenn die Nachbarschaftsstruktur als linear angenähert werden kann. Enthält die Nachbarschaft Löcher, können euklidische Distanzen irreführend sein. Die Messung der Distanz entlang der Mannigfaltigkeit liefert eine bessere Annäherung, wie weit zwei Punkte voneinander entfernt sind. Lassen Sie uns dieses Konzept anhand eines einfachen 2D-Beispiels erkunden.

VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Voraussetzungen für die Dimensionsreduktion

  • Erfahrung mit Python-Code und grundlegendes Verständnis von Deep Learning.
  • Zugriff auf leistungsstarke Maschinen oder GPUs, die man über Cloud-Anbieter wie DigitalOcean GPU Droplets mieten kann.
  • Vertrautheit mit der Einrichtung von Python-Umgebungen und der Ausführung von Tutorials für Anfänger.

Warum geodätische Distanzen für Dimensionsreduktion besser sind

Geodätische Distanzen approximieren Beziehungen in nichtlinearen Mannigfaltigkeiten besser. Punkte, die weit voneinander entfernt sind, wie a und b, werden mit euklidischen Metriken schlecht abgebildet. Geodätische Distanzen hingegen bewahren die lokale und globale Nachbarschaftstreue. Isomap wendet dieses Prinzip an, indem es eine Ähnlichkeitsmatrix für die Eigenwertzerlegung erstellt. Im Gegensatz zu anderen Methoden wie LLE oder LPP verwendet Isomap sowohl lokale als auch globale Informationen für die Abbildung.

Dimensionsreduktion: Schritte des IsoMap-Algorithmus

Nachbarschaftsgraph

Erstellen Sie einen Nachbarschaftsgraphen und eine Adjazenzmatrix aus dem Datensatz. Stellen Sie sicher, dass der resultierende Graph eine einzige zusammenhängende Komponente bildet, um inkohärente Ergebnisse zu vermeiden.

Unähnlichkeitsmatrix

Verwenden Sie die GraphX-Bibliothek von Spark, um geodätische Distanzen zu berechnen. Iterieren Sie über Nachbarschaftsparameter, um einen vollständig verbundenen Graphen zu erhalten. Implementieren Sie kürzeste Pfadberechnungen für gewichtete Graphen mit einer Pregel-ähnlichen API.

Python

      def ShortestPath(Verts, Edges, landmarks): ...
    

Eigenwertzerlegung

Quadratieren Sie die Distanzmatrix und zentrieren Sie sie doppelt, bevor Sie die Eigenwertzerlegung durchführen. Wählen Sie die obersten K Eigenvektoren aus, die den höchsten Eigenwerten entsprechen.

Landmark IsoMap

Landmark IsoMap adressiert die rechnerischen Herausforderungen großer Datensätze, indem es Landmarkenpunkte und klassische MDS darauf angewendet. Übrige Punkte bettet es durch Triangulation ein.

Schwächen von Isomap

Isomap hat Schwierigkeiten, wenn die Mannigfaltigkeit nicht gut abgetastet ist oder Löcher enthält. Die Erstellung von Nachbarschaftsgraphen erfordert eine sorgfältige Parametereinstellung, um schlechte Ergebnisse zu vermeiden.

Fazit zur Dimensionsreduktion

Dieser Artikel führte IsoMap, einen Algorithmus für Mannigfaltigkeitslernen, ein und untersuchte seine Anwendungsfälle und Einschränkungen. Wir diskutierten seine theoretischen Grundlagen, implementierten ihn mit der GraphX-Bibliothek von Spark und hoben seine Vorteile für nichtlineare Dimensionsreduktion hervor.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren