LLE (Încorporare liniară locală) este o abordare nesupravegheată concepută pentru a transforma datele din spațiul său original de dimensiuni înalte într-o reprezentare de dimensiuni inferioare, toate încercând să păstreze caracteristicile geometrice esențiale ale structurii caracteristice neliniare subiacente. LLE funcționează în mai mulți pași cheie:
- În primul rând, construiește un grafic al vecinilor cei mai apropiați pentru a capta aceste relații locale. Apoi, optimizează valorile ponderii pentru fiecare punct de date, urmărind să minimizeze eroarea de reconstrucție atunci când exprimă un punct ca o combinație liniară a vecinilor săi. Această matrice de greutate reflectă puterea conexiunilor dintre puncte.
- Apoi, LLE calculează o reprezentare dimensională inferioară a datelor prin găsire vectori proprii a unei matrice derivate din matricea de greutate. Acești vectori proprii reprezintă direcțiile cele mai relevante în spațiul redus. Utilizatorii pot specifica dimensionalitatea dorită pentru spațiul de ieșire, iar LLE selectează în consecință vectorii proprii de sus.
Ca o ilustrare, luați în considerare a Setul de date elvețian , care este în mod inerent neliniar în spațiul său dimensional înalt. LLE, în acest caz, lucrează pentru a proiecta această structură complexă pe un plan de dimensiuni inferioare, păstrându-și proprietățile geometrice distinctive pe tot parcursul procesului de transformare.
Cuprins
- Implementarea matematică a algoritmului LLE
- Algoritm de încorporare liniară locală
- Parametri în algoritmul LLE
- Implementarea înglobării locale liniare
- Avantajele LLE
- Dezavantajele LLE
Implementarea matematică a algoritmului LLE
Ideea cheie a LLE este că local, în vecinătatea fiecărui punct de date, datele se află aproximativ pe un subspațiu liniar. LLE încearcă să desfășoare sau să deruleze datele, păstrând în același timp aceste relații liniare locale.
Iată o prezentare matematică a algoritmului LLE:
Minimizați: 
Sub rezerva: 
Unde:
șir de divizare c++
- Xireprezintă al-lea punct de date.
- Înijsunt ponderile care minimizează eroarea de reconstrucție pentru punctul de date xifolosind vecinii săi.
Acesta își propune să găsească o reprezentare de dimensiuni inferioare a datelor, păstrând în același timp relațiile locale. Expresia matematică pentru LLE implică minimizarea erorii de reconstrucție a fiecărui punct de date prin exprimarea acestuia ca o sumă ponderată a acestuia. k vecini cei mai apropiati ‘contribuții. Această optimizare este supusă constrângerilor care asigură că ponderile sunt 1 pentru fiecare punct de date. Locally Linear Embedding (LLE) este o tehnică de reducere a dimensionalității utilizată în învățarea automată și analiza datelor. Se concentrează pe păstrarea relațiilor locale dintre punctele de date atunci când maparea datelor cu dimensiuni mari la un spațiu cu dimensiuni inferioare. Aici, vom explica algoritmul LLE și parametrii acestuia.
Algoritm de încorporare liniară locală
Algoritmul LLE poate fi împărțit în mai mulți pași:
- Selectarea cartierului: Pentru fiecare punct de date din spațiul de dimensiuni mari, LLE își identifică cei mai apropiați k vecini. Acest pas este crucial deoarece LLE presupune că fiecare punct de date poate fi bine aproximat printr-o combinație liniară a vecinilor săi.
- Construcția matricei de greutate: LLE calculează un set de greutăți pentru fiecare punct de date pentru a-l exprima ca o combinație liniară a vecinilor săi. Aceste ponderi sunt determinate în așa fel încât eroarea de reconstrucție să fie minimizată. Regresia liniară este adesea folosită pentru a găsi aceste greutăți.
- Conservarea structurii globale: După construirea matricei de greutate, LLE urmărește să găsească o reprezentare dimensională inferioară a datelor care păstrează cel mai bine relațiile liniare locale. Face acest lucru prin căutarea unui set de coordonate în spațiul de dimensiuni inferioare pentru fiecare punct de date care minimizează o funcție de cost. Acest funcția de cost evaluează cât de bine poate fi reprezentat fiecare punct de date de către vecinii săi.
- Încorporarea ieșirii: Odată ce procesul de optimizare este finalizat, LLE oferă reprezentarea finală de dimensiuni inferioare a datelor. Această reprezentare surprinde structura esențială a datelor, reducând în același timp dimensionalitatea acestora.
Parametri în algoritmul LLE
LLE are câțiva parametri care îi influențează comportamentul:
- k (număr de vecini): Acest parametru determină câți vecini cei mai apropiați sunt luați în considerare la construirea matricei de greutate. Un k mai mare captează mai multe relații globale, dar poate introduce zgomot. Un k mai mic se concentrează pe relațiile locale, dar poate fi sensibil la valori aberante. Selectarea unei valori adecvate pentru k este esențială pentru succesul algoritmului.
- Dimensionalitatea spațiului de ieșire: Puteți specifica dimensionalitatea spațiului de dimensiuni inferioare la care vor fi mapate datele. Acesta este adesea ales pe baza cerințelor problemei și a compromisului dintre complexitatea computațională și conservarea informațiilor.
- Distanța metrică: LLE se bazează pe o metrică de distanță pentru a defini proximitatea dintre punctele de date. Opțiunile obișnuite includ distanța euclidiană, distanța Manhattan sau funcțiile de distanță definite personalizat. Alegerea metricii distanței poate afecta rezultatele.
- Regularizare (Opțional): În unele cazuri, termenii de regularizare sunt adăugați la funcția de cost pentru a preveni supraadaptarea. Regularizarea poate fi utilă atunci când aveți de-a face cu date zgomotoase sau când numărul de vecini este mare.
- Algoritm de optimizare (Opțional): LLE folosește adesea tehnici de optimizare precum Descompunerea unei valori singulare (SVD) sau metode cu vectori proprii pentru a găsi reprezentarea dimensională inferioară. Aceste metode de optimizare pot avea proprii parametri care pot fi ajustați.
LLE (încorporare liniară locală) reprezintă un progres semnificativ în analiza structurală, depășind tehnicile tradiționale de modelare a densității precum cele locale PCA sau amestecuri de analizoare factoriale. Limitarea modelelor de densitate constă în incapacitatea lor de a stabili în mod consecvent un set de coordonate globale capabile să înglobeze observații în întreaga varietate structurală. În consecință, ele se dovedesc inadecvate pentru sarcini precum generarea de proiecții cu dimensiuni reduse ale setului de date original. Aceste modele excelează doar în identificarea caracteristicilor liniare, așa cum este prezentat în imaginea de mai jos. Cu toate acestea, nu captează modele curbe complicate, o capacitate inerentă LLE.
Eficiență de calcul îmbunătățită cu LLE. LLE oferă o eficiență de calcul superioară datorită manipulării sale rare a matricei, depășind alți algoritmi.
Implementarea înglobării locale liniare
Import de biblioteci
Python3
#importing Libraries> import> numpy as np> import> matplotlib.pyplot as plt> from> sklearn.datasets>import> make_swiss_roll> from> sklearn.manifold>import> LocallyLinearEmbedding> |
>
>
Codul începe prin a importa bibliotecile necesare, inclusiv numpy, matplotlib.pyplot , make_swiss_roll din sklearn.datasets și LocallyLinearEmbedding din sklearn.manifold .
Generarea unui set de date sintetice (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)> |
>
>
Acesta generează un set de date sintetice asemănător unui Swiss Roll folosind funcția make_swiss_roll de la scikit-learn.
jdbc jdbc
n_samples specifică numărul de puncte de date de generat.
n_neighbors definește numărul de vecini utilizați în algoritmul LLE.
Aplicarea încorporarii locale liniare (LLE)
Python3
# Including Locally Linear Embedding> lle>=> LocallyLinearEmbedding(n_neighbors>=>n_neighbors, n_components>=>2>)> X_reduced>=> lle.fit_transform(X)> |
>
>
O instanță a algoritmului LLE este creată cu LocallyLinearEmbedding. Parametrul n_neighbors determină numărul de vecini de luat în considerare în timpul procesului de încorporare.
Algoritmul LLE este apoi ajustat la datele originale X folosind potrivi_transforma metodă. Acest pas reduce setul de date la două dimensiuni (n_components=2).
Vizualizarea datelor originale și reduse
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()> |
>
>
Ieșire:
Încorporare liniară locală
când începe q2
În al doilea subplot, datele reduse obținute din LLE (X_reduced) sunt vizualizate într-un mod similar cu datele originale. Culoarea punctelor de date este încă determinată de a treia caracteristică a datelor originale (X[:, 2]). plt.tight_layout() funcția este utilizată pentru a asigura o distanță adecvată între subploturi.
Avantajele LLE
Metoda de reducere a dimensionalității cunoscută sub numele de încorporare liniară locală (LLE) are multe beneficii pentru procesarea și vizualizarea datelor. Următoarele sunt principalele beneficii ale LLE:
- Conservarea structurilor locale : LLE este excelent în menținerea relațiilor sau structurilor locale în date. Captează cu succes geometria inerentă a varietăților neliniare prin menținerea distanțelor pe perechi între punctele de date din apropiere.
- Gestionarea non-liniarității : LLE are capacitatea de a captura modele și structuri neliniare în date, spre deosebire de tehnicile liniare precum Analiza componentelor principale (PCA). Când lucrați cu seturi de date complicate, curbate sau răsucite, este deosebit de util.
- Reducerea dimensionalității : LLE scade dimensionalitatea datelor, păstrând în același timp proprietățile fundamentale ale acestora. În special atunci când lucrați cu seturi de date cu dimensiuni mari, această reducere face prezentarea, explorarea și analiza datelor mai simple.
Dezavantajele LLE
- Blestemul dimensionalității : LLE poate experimenta blestemul dimensionalității atunci când este utilizat cu date extrem de dimensionale, la fel ca multe alte abordări de reducere a dimensionalității. Numărul de vecini necesari pentru a captura interacțiunile locale crește pe măsură ce dimensionalitatea crește, potențial creșterea costului de calcul al abordării.
- Cerințe de memorie și de calcul : Pentru seturi de date mari, crearea unei matrice de adiacență ponderată ca parte a LLE poate necesita multă memorie. Etapa de descompunere a valorilor proprii poate fi, de asemenea, dificilă din punct de vedere computațional pentru seturile mari de date.
- Valori aberante și date zgomotoase : LLE este susceptibil la anomalii și la punctele de date instabile. Calitatea înglobării poate fi afectată, iar relațiile liniare locale pot fi distorsionate de valori aberante.