logo

Lokaal lineaire inbedding in machine learning

LLE (Lokaal lineaire inbedding) is een aanpak zonder toezicht die is ontworpen om gegevens van de oorspronkelijke hoogdimensionale ruimte om te zetten in een lagerdimensionale representatie, terwijl er tegelijkertijd naar wordt gestreefd de essentiële geometrische kenmerken van de onderliggende niet-lineaire kenmerkstructuur te behouden. LLE werkt in verschillende belangrijke stappen:

  • Ten eerste construeert het een grafiek van de dichtstbijzijnde buren om deze lokale relaties vast te leggen. Vervolgens optimaliseert het de gewichtswaarden voor elk datapunt, met als doel de reconstructiefout te minimaliseren bij het uitdrukken van een punt als een lineaire combinatie van zijn buren. Deze gewichtsmatrix weerspiegelt de sterkte van verbindingen tussen punten.
  • Vervolgens berekent LLE een lagerdimensionale weergave van de gegevens door te zoeken eigenvectoren van een matrix afgeleid van de gewichtsmatrix. Deze eigenvectoren vertegenwoordigen de meest relevante richtingen in de verkleinde ruimte. Gebruikers kunnen de gewenste dimensionaliteit voor de uitvoerruimte specificeren, en LLE selecteert dienovereenkomstig de bovenste eigenvectoren.

Beschouw ter illustratie a Zwitserse rolgegevensset , dat inherent niet-lineair is in zijn hoogdimensionale ruimte. LLE probeert in dit geval deze complexe structuur op een lager dimensionaal vlak te projecteren, waarbij de onderscheidende geometrische eigenschappen tijdens het transformatieproces behouden blijven.



Inhoudsopgave

Wiskundige implementatie van LLE-algoritme

Het kernidee van LLE is dat de gegevens lokaal, in de buurt van elk datapunt, ongeveer op een lineaire deelruimte liggen. LLE probeert de gegevens te ontvouwen of uit te rollen, terwijl deze lokale lineaire relaties behouden blijven.

Hier is een wiskundig overzicht van het LLE-algoritme:

Minimaliseren: som _{i} | x{_i} - som _{j} w _{ij} x{_j}|^2



Onderworpen aan: som {_j} w _{ij} = 1

Waar:

  • Xivertegenwoordigt het i-de gegevenspunt.
  • Inijzijn de gewichten die de reconstructiefout voor datapunt x minimaliserenizijn buren gebruiken.

Het doel is om een ​​lager-dimensionale weergave van gegevens te vinden met behoud van lokale relaties. De wiskundige uitdrukking voor LLE omvat het minimaliseren van de reconstructiefout van elk datapunt door dit uit te drukken als een gewogen som van zijn k naaste buren ‘ bijdragen. Deze optimalisatie is onderhevig aan beperkingen die ervoor zorgen dat de gewichten voor elk gegevenspunt optellen tot 1. Locally Linear Embedding (LLE) is een techniek voor het verminderen van de dimensionaliteit die wordt gebruikt bij machinaal leren en data-analyse. Het richt zich op het behouden van lokale relaties tussen datapunten bij het in kaart brengen van hoogdimensionale gegevens naar een lagerdimensionale ruimte. Hier zullen we het LLE-algoritme en zijn parameters uitleggen.



Lokaal lineair inbeddingsalgoritme

Het LLE-algoritme kan in verschillende stappen worden opgesplitst:

  • Buurtselectie: Voor elk gegevenspunt in de hoogdimensionale ruimte identificeert LLE de k-dichtstbijzijnde buren. Deze stap is cruciaal omdat LLE ervan uitgaat dat elk gegevenspunt goed kan worden benaderd door een lineaire combinatie van zijn buren.
  • Gewichtsmatrixconstructie: LLE berekent een reeks gewichten voor elk gegevenspunt om dit uit te drukken als een lineaire combinatie van zijn buren. Deze gewichten worden zo bepaald dat de reconstructiefout geminimaliseerd wordt. Lineaire regressie wordt vaak gebruikt om deze gewichten te vinden.
  • Behoud van de mondiale structuur: Na het construeren van de gewichtsmatrix streeft LLE ernaar een lager-dimensionale weergave van de gegevens te vinden die de lokale lineaire relaties het beste behoudt. Het doet dit door voor elk datapunt een reeks coördinaten in de lager-dimensionale ruimte te zoeken, waardoor een kostenfunctie wordt geminimaliseerd. Dit kostenfunctie evalueert hoe goed elk gegevenspunt kan worden weergegeven door zijn buren.
  • Uitvoer insluiten: Zodra het optimalisatieproces is voltooid, zorgt LLE voor de definitieve, lager-dimensionale weergave van de gegevens. Deze representatie legt de essentiële structuur van de gegevens vast, terwijl de dimensionaliteit ervan wordt verminderd.

Parameters in LLE-algoritme

LLE heeft een paar parameters die het gedrag beïnvloeden:

  • k (aantal buren): Deze parameter bepaalt met hoeveel naaste buren rekening wordt gehouden bij het construeren van de gewichtsmatrix. Een grotere k legt meer mondiale relaties vast, maar kan ruis introduceren. Een kleinere k richt zich op lokale relaties, maar kan gevoelig zijn voor uitschieters. Het selecteren van een geschikte waarde voor k is essentieel voor het succes van het algoritme.
  • Dimensionaliteit van uitvoerruimte: U kunt de dimensionaliteit opgeven van de lagerdimensionale ruimte waaraan de gegevens worden toegewezen. Dit wordt vaak gekozen op basis van de vereisten van het probleem en de afweging tussen computationele complexiteit en informatiebehoud.
  • Afstandsmetrisch: LLE vertrouwt op een afstandsmetriek om de nabijheid tussen datapunten te definiëren. Veel voorkomende keuzes zijn de Euclidische afstand, de Manhattan-afstand of op maat gedefinieerde afstandsfuncties. De keuze van de afstandsmetriek kan van invloed zijn op de resultaten.
  • Regularisatie (optioneel): In sommige gevallen worden regularisatietermen aan de kostenfunctie toegevoegd om overfitting te voorkomen. Regularisatie kan nuttig zijn als er sprake is van gegevens met veel ruis of als het aantal buren groot is.
  • Optimalisatiealgoritme (optioneel): LLE maakt vaak gebruik van optimalisatietechnieken zoals Singuliere waarden ontbinding (SVD) of eigenvectormethoden om de lagerdimensionale representatie te vinden. Deze optimalisatiemethoden kunnen hun eigen parameters hebben die kunnen worden aangepast.

LLE (lokaal lineaire inbedding) vertegenwoordigt een aanzienlijke vooruitgang in structurele analyse en overtreft traditionele dichtheidsmodelleringstechnieken zoals lokaal PCA of mengsels van factoranalysatoren. De beperking van dichtheidsmodellen ligt in hun onvermogen om op consistente wijze een reeks globale coördinaten vast te stellen die in staat zijn observaties over het gehele structurele verdeelstuk in te bedden. Bijgevolg blijken ze niet geschikt voor taken zoals het genereren van laagdimensionale projecties van de oorspronkelijke dataset. Deze modellen blinken alleen uit in het identificeren van lineaire kenmerken, zoals weergegeven in de onderstaande afbeelding. Ze schieten echter tekort in het vastleggen van ingewikkelde gebogen patronen, een mogelijkheid die inherent is aan LLE.

Verbeterde rekenefficiëntie met LLE. LLE biedt superieure rekenefficiëntie dankzij de spaarzame matrixverwerking en presteert beter dan andere algoritmen.

Implementatie van lokaal lineaire inbedding

Bibliotheken importeren

Python3

#importing Libraries> import> numpy as np> import> matplotlib.pyplot as plt> from> sklearn.datasets>import> make_swiss_roll> from> sklearn.manifold>import> LocallyLinearEmbedding>
>
>

De code begint met het importeren van de benodigde bibliotheken, inclusief numpy, matplotlib.pyplot , make_swiss_roll van sklearn.datasets en LocallyLinearEmbedding van sklearn.spruitstuk .

Een synthetische dataset genereren (Swiss Roll)

Python3

# Code for Generating a synthetic dataset (Swiss Roll)> n_samples>=> 1000> # Define the number of neighbors for LLE> n_neighbors>=> 10> X, _>=> make_swiss_roll(n_samples>=>n_samples)>
>
>

Het genereert een synthetische dataset die lijkt op een Swiss Roll met behulp van de make_swiss_roll-functie van scikit-learn.

java byte-array naar string

n_samples specificeert het aantal gegevenspunten dat moet worden gegenereerd.
n_neighbors definieert het aantal buren dat wordt gebruikt in het LLE-algoritme.

Lokaal Lineaire Inbedding (LLE) toepassen

Python3

# Including Locally Linear Embedding> lle>=> LocallyLinearEmbedding(n_neighbors>=>n_neighbors, n_components>=>2>)> X_reduced>=> lle.fit_transform(X)>
>
>

Er wordt een exemplaar van het LLE-algoritme gemaakt met LocallyLinearEmbedding. De parameter n_neighbors bepaalt het aantal buren waarmee rekening moet worden gehouden tijdens het inbeddingsproces.

Het LLE-algoritme wordt vervolgens aangepast aan de originele gegevens X met behulp van de fit_transform methode. Deze stap reduceert de gegevensset tot twee dimensies (n_components=2).

Visualisatie van de originele en gereduceerde gegevens

Python3

# Code for Visualizing the original Versus reduced data> plt.figure(figsize>=>(>12>,>6>))> plt.subplot(>121>)> plt.scatter(X[:,>0>], X[:,>1>], c>=>X[:,>2>], cmap>=>plt.cm.Spectral)> plt.title(>'Original Data'>)> plt.xlabel(>'Feature 1'>)> plt.ylabel(>'Feature 2'>)> plt.subplot(>122>)> plt.scatter(X_reduced[:,>0>], X_reduced[:,>1>], c>=>X[:,>2>], cmap>=>plt.cm.Spectral)> plt.title(>'Reduced Data (LLE)'>)> plt.xlabel(>'Component 1'>)> plt.ylabel(>'Component 2'>)> plt.tight_layout()> plt.show()>
>
>

Uitgang:


Lokaal lineaire inbedding



In de tweede subplot worden de gereduceerde gegevens verkregen uit LLE (X_reduced) op een vergelijkbare manier gevisualiseerd als de originele gegevens. De kleur van de datapunten wordt nog steeds bepaald door het derde kenmerk van de originele data (X[:, 2]).The plt.tight_layout() De functie wordt gebruikt om de juiste afstand tussen subplots te garanderen.

Voordelen van LLE

De dimensionaliteitsreductiemethode die bekend staat als lokaal lineaire inbedding (LLE) heeft veel voordelen voor gegevensverwerking en visualisatie. Dit zijn de belangrijkste voordelen van LLE:

  • Behoud van lokale structuren : LLE is uitstekend in het onderhouden van de lokale relaties of structuren in de data. Het legt met succes de inherente geometrie van niet-lineaire verdeelstukken vast door paarsgewijze afstanden tussen nabijgelegen datapunten te handhaven.
  • Omgaan met niet-lineariteit : LLE heeft de mogelijkheid om niet-lineaire patronen en structuren in de gegevens vast te leggen, in tegenstelling tot lineaire technieken zoals Hoofdcomponentenanalyse (PCA). Bij het werken met ingewikkelde, gebogen of gedraaide datasets is dit vooral handig.
  • Dimensionaliteitsreductie : LLE verlaagt de dimensionaliteit van de gegevens terwijl de fundamentele eigenschappen ervan behouden blijven. Vooral bij het werken met hoogdimensionale datasets maakt deze reductie de presentatie, verkenning en analyse van gegevens eenvoudiger.

Nadelen van LLE

  • Vloek van de dimensionaliteit : LLE kan de ervaren vloek van de dimensionaliteit bij gebruik met extreem hoogdimensionale gegevens, net als veel andere benaderingen voor dimensionaliteitsreductie. Het aantal buren dat nodig is om lokale interacties vast te leggen, neemt toe naarmate de dimensionaliteit toeneemt, waardoor mogelijk de rekenkosten van de aanpak toenemen.
  • Geheugen- en rekenvereisten : Voor grote datasets kan het maken van een gewogen aangrenzende matrix als onderdeel van LLE geheugenintensief zijn. De fase van de decompositie van de eigenwaarden kan ook computationeel belastend zijn voor grote datasets.
  • Uitschieters en ruisige gegevens : LLE is gevoelig voor afwijkingen en zenuwachtige datapunten. De kwaliteit van de inbedding kan worden beïnvloed en de lokale lineaire relaties kunnen worden vertekend door uitschieters.