logo

Lokalt linjär inbäddning i maskininlärning

LLE (Lokalt linjär inbäddning) är ett oövervakat tillvägagångssätt utformat för att omvandla data från dess ursprungliga högdimensionella utrymme till en representation med lägre dimensioner, samtidigt som man strävar efter att behålla de väsentliga geometriska egenskaperna hos den underliggande icke-linjära särdragsstrukturen. LLE fungerar i flera nyckelsteg:

  • För det första konstruerar den en graf över närmaste grannar för att fånga dessa lokala samband. Sedan optimerar den viktvärden för varje datapunkt, i syfte att minimera rekonstruktionsfelet när en punkt uttrycks som en linjär kombination av dess grannar. Denna viktmatris återspeglar styrkan hos kopplingar mellan punkter.
  • Därefter beräknar LLE en lägre dimensionell representation av data genom att hitta egenvektorer av en matris härledd från viktmatrisen. Dessa egenvektorer representerar de mest relevanta riktningarna i det reducerade rummet. Användare kan specificera önskad dimensionalitet för utmatningsutrymmet, och LLE väljer de översta egenvektorerna därefter.

Som en illustration, överväg a Swiss roll dataset , som i sig är icke-linjär i sitt högdimensionella utrymme. LLE, i det här fallet, arbetar för att projicera denna komplexa struktur på ett lägre dimensionellt plan, och bevara dess distinkta geometriska egenskaper under hela transformationsprocessen.



Innehållsförteckning

Matematisk implementering av LLE-algoritm

Nyckelidén med LLE är att lokalt, i närheten av varje datapunkt, ligger data ungefär på ett linjärt delrum. LLE försöker veckla ut eller rulla upp data samtidigt som dessa lokala linjära relationer bevaras.

Här är en matematisk översikt av LLE-algoritmen:

Minimera: sum _{i} | x{_i} - sum _{j} w _{ij} x{_j}|^2



Med förbehåll för: sum {_j} w _{ij} = 1

Var:

  • xirepresenterar den i:te datapunkten.
  • II jär vikterna som minimerar rekonstruktionsfelet för datapunkt xianvänder sina grannar.

Det syftar till att hitta en lägre dimensionell representation av data samtidigt som lokala relationer bevaras. Det matematiska uttrycket för LLE innebär att minimera rekonstruktionsfelet för varje datapunkt genom att uttrycka det som en viktad summa av dess k närmaste grannar ’ bidrag. Denna optimering är föremål för begränsningar som säkerställer att vikterna summerar till 1 för varje datapunkt. Locally Linear Embedding (LLE) är en dimensionsreduktionsteknik som används vid maskininlärning och dataanalys. Den fokuserar på att bevara lokala relationer mellan datapunkter vid kartläggning av högdimensionell data till ett lägre dimensionellt utrymme. Här kommer vi att förklara LLE-algoritmen och dess parametrar.



Lokalt linjär inbäddningsalgoritm

LLE-algoritmen kan delas upp i flera steg:

  • Val av grannskap: För varje datapunkt i det högdimensionella rummet identifierar LLE dess k-närmaste grannar. Detta steg är avgörande eftersom LLE antar att varje datapunkt väl kan approximeras av en linjär kombination av dess grannar.
  • Viktmatriskonstruktion: LLE beräknar en uppsättning vikter för varje datapunkt för att uttrycka den som en linjär kombination av dess grannar. Dessa vikter bestäms på ett sådant sätt att rekonstruktionsfelet minimeras. Linjär regression används ofta för att hitta dessa vikter.
  • Globalt strukturbevarande: Efter att ha konstruerat viktmatrisen strävar LLE efter att hitta en lägre dimensionell representation av data som bäst bevarar de lokala linjära sambanden. Den gör detta genom att söka en uppsättning koordinater i det lägre dimensionella utrymmet för varje datapunkt som minimerar en kostnadsfunktion. Detta Kostnadsfunktion utvärderar hur väl varje datapunkt kan representeras av sina grannar.
  • Utdatainbäddning: När optimeringsprocessen är klar, tillhandahåller LLE den slutliga lägre dimensionella representationen av data. Denna representation fångar informationens väsentliga struktur samtidigt som den minskar dess dimensionalitet.

Parametrar i LLE Algorithm

LLE har några parametrar som påverkar dess beteende:

Nätverks topologi
  • k (Antal grannar): Denna parameter bestämmer hur många närmaste grannar som beaktas när viktmatrisen konstrueras. Ett större k fångar fler globala relationer men kan introducera brus. Ett mindre k fokuserar på lokala relationer men kan vara känsligt för extremvärden. Att välja ett lämpligt värde för k är avgörande för att algoritmen ska lyckas.
  • Dimensionalitet för utmatningsutrymme: Du kan ange dimensionaliteten för det lägre dimensionella utrymmet som data ska mappas till. Detta väljs ofta utifrån problemets krav och avvägningen mellan beräkningskomplexitet och informationsbevarande.
  • Avståndsmått: LLE förlitar sig på ett avståndsmått för att definiera närheten mellan datapunkter. Vanliga val inkluderar euklidiskt avstånd, Manhattan-avstånd eller specialdefinierade avståndsfunktioner. Valet av avståndsmått kan påverka resultaten.
  • Regulering (valfritt): I vissa fall läggs regleringsvillkor till kostnadsfunktionen för att förhindra överutrustning. Regularisering kan vara användbart när man hanterar bullriga data eller när antalet grannar är högt.
  • Optimeringsalgoritm (valfritt): LLE använder ofta optimeringstekniker som Singulärvärdesfaktorisering (SVD) eller egenvektormetoder för att hitta den lägre dimensionella representationen. Dessa optimeringsmetoder kan ha sina egna parametrar som kan justeras.

LLE (Locally Linear Embedding) representerar ett betydande framsteg inom strukturanalys, som överträffar traditionella densitetsmodelleringstekniker som lokala PCA eller blandningar av faktoranalysatorer. Begränsningen för densitetsmodeller ligger i deras oförmåga att konsekvent upprätta en uppsättning globala koordinater som kan bädda in observationer över hela strukturella mångfalden. Följaktligen visar de sig vara otillräckliga för uppgifter som att generera lågdimensionella projektioner av den ursprungliga datamängden. Dessa modeller utmärker sig endast när det gäller att identifiera linjära egenskaper, som avbildas i bilden nedan. Men de misslyckas med att fånga intrikata krökta mönster, en förmåga som är inneboende i LLE.

Förbättrad beräkningseffektivitet med LLE. LLE erbjuder överlägsen beräkningseffektivitet tack vare sin sparsamma matrishantering, som överträffar andra algoritmer.

Implementering av lokalt linjär inbäddning

Importera bibliotek

Python3

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

Koden börjar med att importera nödvändiga bibliotek, inklusive numpy, matplotlib.pyplot , make_swiss_roll från sklearn.datasets och LocallyLinearEmbedding från sklearn.manifold .

Generera en syntetisk datauppsättning (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)>
>
>

Den genererar en syntetisk datauppsättning som liknar en Swiss Roll med hjälp av make_swiss_roll-funktionen från scikit-learn.

n_samples anger antalet datapunkter som ska genereras.
n_neighbors definierar antalet grannar som används i LLE-algoritmen.

Tillämpa lokalt linjär inbäddning (LLE)

Python3

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

En instans av LLE-algoritmen skapas med LocallyLinearEmbedding. Parametern n_neighbors bestämmer antalet grannar som ska beaktas under inbäddningsprocessen.

LLE-algoritmen anpassas sedan till originaldata X med hjälp av fit_transform metod. Detta steg reducerar datasetet till två dimensioner (n_components=2).

Visualisera originaldata och reducerade data

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()>
>
>

Produktion:


Lokalt linjär inbäddning



I den andra subplotten visualiseras de reducerade data som erhållits från LLE (X_reduced) på ett liknande sätt som originaldata. Färgen på datapunkterna bestäms fortfarande av den tredje egenskapen hos originaldata (X[:, 2]). plt.tight_layout() funktion används för att säkerställa korrekt avstånd mellan subplots.

Fördelar med LLE

Den dimensionsreducerande metoden som kallas lokalt linjär inbäddning (LLE) har många fördelar för databearbetning och visualisering. Följande är LLE:s främsta fördelar:

  • Bevarande av lokala strukturer : LLE är utmärkta på att upprätthålla de lokala relationerna eller strukturerna i data. Den fångar framgångsrikt den inneboende geometrin hos olinjära grenrör genom att bibehålla parvisa avstånd mellan närliggande datapunkter.
  • Hantering av icke-linjäritet : LLE har förmågan att fånga olinjära mönster och strukturer i data, till skillnad från linjära tekniker som Huvudkomponentanalys (PCA). När du arbetar med komplicerade, böjda eller vridna datauppsättningar är det särskilt användbart.
  • Dimensionalitetsminskning : LLE sänker dimensionaliteten hos datan samtidigt som dess grundläggande egenskaper bevaras. Särskilt när man arbetar med högdimensionella datauppsättningar gör denna minskning datapresentation, utforskning och analys enklare.

Nackdelar med LLE

  • Dimensionalitetens förbannelse : LLE kan uppleva dimensionalitetens förbannelse när de används med extremt högdimensionella data, precis som många andra metoder för dimensionsreduktion. Antalet grannar som krävs för att fånga lokala interaktioner ökar i takt med dimensionaliteten, vilket potentiellt ökar beräkningskostnaden för metoden.
  • Minne och beräkningskrav : För stora datamängder kan det vara minneskrävande att skapa en viktad närliggande matris som en del av LLE. Egenvärdesupplösningsstadiet kan också vara beräkningsmässigt belastande för stora datamängder.
  • Outliers och Noisy data : LLE är känsligt för anomalier och skakiga datapunkter. Kvaliteten på inbäddningen kan påverkas och de lokala linjära sambanden kan förvrängas av extremvärden.