logo

Vietinis tiesinis įterpimas į mašininį mokymąsi

LLE (Vietinis linijinis įterpimas) yra neprižiūrimas metodas, skirtas duomenims iš pradinės didelės erdvės paversti žemesnio matmens vaizdavimu, kartu stengiantis išlaikyti pagrindines netiesinės ypatybių struktūros geometrines charakteristikas. LLE veikia keliais pagrindiniais etapais:

  • Pirma, jis sukuria artimiausių kaimynų grafiką, kad užfiksuotų šiuos vietinius ryšius. Tada jis optimizuoja kiekvieno duomenų taško svorio reikšmes, siekdamas sumažinti atkūrimo klaidą, kai taškas išreiškiamas kaip linijinis jo kaimynų derinys. Ši svorio matrica atspindi jungčių tarp taškų stiprumą.
  • Tada LLE apskaičiuoja žemesnio matmens duomenų atvaizdavimą, rasdama savieji vektoriai matricos, gautos iš svorio matricos. Šie savieji vektoriai žymi svarbiausias kryptis sumažintoje erdvėje. Vartotojai gali nurodyti norimą išvesties erdvės matmenį, o LLE atitinkamai parenka svarbiausius savuosius vektorius.

Kaip iliustraciją apsvarstykite a Šveicarijos ritinio duomenų rinkinys , kuri savo didelėje erdvėje iš esmės yra netiesinė. Šiuo atveju LLE projektuoja šią sudėtingą struktūrą į žemesnių matmenų plokštumą, išsaugant jos išskirtines geometrines savybes per visą transformacijos procesą.



Turinys

Matematinis LLE algoritmo įgyvendinimas

Pagrindinė LLE idėja yra ta, kad lokaliai, šalia kiekvieno duomenų taško, duomenys yra maždaug tiesinėje poerdvėje. LLE bando išskleisti arba išskleisti duomenis išsaugodama šiuos vietinius linijinius ryšius.

Štai matematinė LLE algoritmo apžvalga:

nuorodų duomenų tipai java

Sumažinti: sum _{i} | x{_i} – suma _{j} w _{ij} x{_j}|^2



Atsižvelgiant į: sum {_j} w _{ij} = 1

Kur:

  • xireiškia i-ąjį duomenų tašką.
  • Įijyra svoriai, kurie sumažina duomenų taško x atkūrimo paklaidąinaudodamasis savo kaimynais.

Juo siekiama rasti žemesnio matmens duomenų atvaizdavimą išsaugant vietinius ryšius. Matematinė LLE išraiška apima kiekvieno duomenų taško atkūrimo klaidos sumažinimą, išreiškiant ją kaip jo svertinę sumą. k artimiausi kaimynai “ įnašai. Šiam optimizavimui taikomi apribojimai, užtikrinantys, kad kiekvieno duomenų taško svorių suma būtų 1. Vietinis tiesinis įterpimas (LLE) yra matmenų mažinimo metodas, naudojamas mašininiam mokymuisi ir duomenų analizei. Jame pagrindinis dėmesys skiriamas vietinių ryšių tarp duomenų taškų išsaugojimui, kai didelės dimensijos duomenys susiejami su žemesnio matmens erdve. Čia paaiškinsime LLE algoritmą ir jo parametrus.



Vietinis tiesinis įterpimo algoritmas

LLE algoritmą galima suskirstyti į kelis etapus:

  • Kaimynystės pasirinkimas: Kiekvienam duomenų taškui didelės dimensijos erdvėje LLE identifikuoja savo k artimiausius kaimynus. Šis žingsnis yra labai svarbus, nes LLE daro prielaidą, kad kiekvienas duomenų taškas gali būti gerai aproksimuotas linijiniu jo kaimynų deriniu.
  • Svorio matricos konstrukcija: LLE apskaičiuoja kiekvieno duomenų taško svorių rinkinį, kad išreikštų jį kaip linijinį kaimynų derinį. Šie svoriai nustatomi taip, kad rekonstrukcijos paklaida būtų kuo mažesnė. Šiems svoriams rasti dažnai naudojama tiesinė regresija.
  • Pasaulinis struktūrų išsaugojimas: Sukūrusi svorio matricą, LLE siekia rasti žemesnio matmens duomenų vaizdą, kuris geriausiai išsaugotų vietinius tiesinius ryšius. Tai daroma ieškant koordinačių rinkinio žemesnio matmens erdvėje kiekvienam duomenų taškui, kuris sumažina sąnaudų funkciją. Tai kaštų funkcija įvertina, kaip gerai kiekvieną duomenų tašką gali pavaizduoti jo kaimynai.
  • Išvesties įterpimas: Kai optimizavimo procesas bus baigtas, LLE pateikia galutinį žemesnio matmens duomenų vaizdą. Šis vaizdavimas užfiksuoja esminę duomenų struktūrą ir sumažina jų matmenis.

Parametrai LLE algoritme

LLE turi keletą parametrų, turinčių įtakos jo elgsenai:

  • k (kaimynų skaičius): Šis parametras nustato, kiek artimiausių kaimynų atsižvelgiama kuriant svorio matricą. Didesnis k užfiksuoja daugiau globalių ryšių, bet gali sukelti triukšmą. Mažesnė k skirta vietiniams santykiams, bet gali būti jautri nuokrypiams. Norint, kad algoritmas būtų sėkmingas, būtina pasirinkti tinkamą k reikšmę.
  • Išvesties erdvės matmenys: Galite nurodyti žemesnio matmens erdvės, su kuria bus susieti duomenys, matmenis. Tai dažnai pasirenkama atsižvelgiant į problemos reikalavimus ir kompromisą tarp skaičiavimo sudėtingumo ir informacijos išsaugojimo.
  • Atstumo metrika: LLE remiasi atstumo metrika, kad nustatytų artumą tarp duomenų taškų. Įprasti pasirinkimai apima Euklido atstumą, Manheteno atstumą arba pasirinktinai apibrėžtas atstumo funkcijas. Atstumo metrikos pasirinkimas gali turėti įtakos rezultatams.
  • Sureguliavimas (nebūtina): Kai kuriais atvejais į sąnaudų funkciją pridedami reguliavimo terminai, kad būtų išvengta permontavimo. Reguliavimas gali būti naudingas dirbant su triukšmingais duomenimis arba kai daug kaimynų.
  • Optimizavimo algoritmas (pasirinktinai): LLE dažnai naudoja tokius optimizavimo būdus kaip Vienaskaitos reikšmės skaidymas (SVD) arba savųjų vektorių metodais, kad būtų galima rasti žemesnio matmens vaizdą. Šie optimizavimo metodai gali turėti savo parametrus, kuriuos galima koreguoti.

LLE (vietinis linijinis įterpimas) yra reikšminga struktūrinės analizės pažanga, pranokstanti tradicinius tankio modeliavimo metodus, tokius kaip vietinis PCA arba faktorių analizatorių mišiniai. Tankio modelių apribojimas yra tas, kad jie nesugeba nuosekliai nustatyti pasaulinių koordinačių rinkinio, galinčio įterpti stebėjimus visame struktūriniame kolektoriuje. Todėl jie pasirodo netinkami tokioms užduotims kaip mažų matmenų pradinio duomenų rinkinio projekcijų generavimas. Šie modeliai pasižymi tik linijinių savybių identifikavimu, kaip parodyta paveikslėlyje žemiau. Tačiau jie nesugeba užfiksuoti sudėtingų lenktų raštų, o tai yra būdinga LLE.

Padidintas skaičiavimo efektyvumas naudojant LLE. LLE siūlo puikų skaičiavimo efektyvumą dėl negausios matricos tvarkymo ir pranoksta kitus algoritmus.

Vietinio linijinio įterpimo įgyvendinimas

Bibliotekų importavimas

Python3

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

Kodas pradedamas importuojant būtinas bibliotekas, įskaitant numpy, matplotlib.pyplot , make_swiss_roll iš sklearn.datasets ir LocallyLinearEmbedding iš sklearn.kolektorius .

Sintetinių duomenų rinkinio generavimas (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)>
>
>

Jis generuoja sintetinį duomenų rinkinį, panašų į „Swiss Roll“, naudodamas „make_swiss_roll“ funkciją iš scikit-learn.

n_samples nurodo generuojamų duomenų taškų skaičių.
n_neighbors apibrėžia kaimynų, naudojamų LLE algoritme, skaičių.

Vietinio linijinio įterpimo (LLE) taikymas

Python3

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

LLE algoritmo egzempliorius sukuriamas naudojant LocallyLinearEmbedding. Parametras n_neighbors nustato kaimynų, į kuriuos reikia atsižvelgti įdėjimo proceso metu, skaičių.

Tada LLE algoritmas pritaikomas prie pradinių duomenų X naudojant tinka_transformuoti metodas. Šis veiksmas sumažina duomenų rinkinį iki dviejų matmenų (n_components=2).

Pirminių ir sumažintų duomenų vizualizavimas

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

Išvestis:


Vietinis tiesinis įterpimas



Antrajame poskyryje sumažinti duomenys, gauti iš LLE (X_reduced), vizualizuojami panašiai kaip pirminiai duomenys. Duomenų taškų spalvą vis dar lemia trečioji pirminių duomenų savybė (X[:, 2]). plt.tight_layout() Funkcija naudojama norint užtikrinti tinkamą atstumą tarp sklypų.

LLE privalumai

Matmenų mažinimo metodas, žinomas kaip vietinis tiesinis įterpimas (LLE), turi daug privalumų duomenų apdorojimui ir vizualizavimui. Toliau pateikiami pagrindiniai LLE pranašumai:

  • Vietinių konstrukcijų išsaugojimas : LLE puikiai palaiko duomenų vietinius ryšius ar struktūras. Jis sėkmingai užfiksuoja būdingą netiesinių kolektorių geometriją, išlaikant porinius atstumus tarp netoliese esančių duomenų taškų.
  • Netiesiškumo valdymas : LLE turi galimybę užfiksuoti netiesinius duomenų modelius ir struktūras, priešingai nei linijiniai metodai, tokie kaip Pagrindinių komponentų analizė (PCA). Tai ypač naudinga dirbant su sudėtingais, išlenktais ar susuktais duomenų rinkiniais.
  • Matmenų mažinimas : LLE sumažina duomenų matmenis, išsaugant pagrindines jų savybes. Ypač dirbant su didelio matmens duomenų rinkiniais, šis sumažinimas palengvina duomenų pateikimą, tyrinėjimą ir analizę.

LLE trūkumai

  • Matmenų prakeiksmas : LLE gali patirti matmenų prakeiksmas kai naudojamas su itin didelių matmenų duomenimis, kaip ir daugelis kitų matmenų mažinimo metodų. Kaimynų, reikalingų vietinei sąveikai užfiksuoti, skaičius didėja didėjant matmenims, todėl gali padidėti metodo skaičiavimo sąnaudos.
  • Atminties ir skaičiavimo reikalavimai : dideliems duomenų rinkiniams sukurti svertinę gretimų matricą kaip LLE dalį gali prireikti daug atminties. Savotosios vertės skaidymo etapas taip pat gali būti apmokestinamas dideliems duomenų rinkiniams.
  • Išskirtiniai ir triukšmingi duomenys : LLE jautriai reaguoja į anomalijas ir nerimą keliančius duomenų taškus. Gali turėti įtakos įterpimo kokybei, o vietinius linijinius ryšius gali iškraipyti nuokrypiai.