Begreper & referanser
Alle nøkkelbegrepene, formlene og referansene fra Dimensjonsreduksjon, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.
Begreper
Sentrale begreper fra kapittelet med korte definisjoner.
Samlebetegnelse for problemer som oppstår når datarommet blir svært glissent etter hvert som antall dimensjoner øker.
Å representere data med færre variable samtidig som valgt struktur bevares best mulig.
En lineær metode som finner ortogonale retninger med størst mulig varians i sentrerte data.
En retning som bare skaleres, ikke roteres, når en lineærtransformasjon anvendes.
Mengden eller andelen av datasettets totale varians som fanges av en hovedkomponent.
En ikke-lineær visualiseringsmetode som prøver å bevare lokale naboskap i en lavdimensjonal projeksjon.
En lavdimensjonal representasjon der observasjoner uttrykkes med nye koordinater.
Formler
Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.
Sentrering
PCA starter med å trekke middelverdien fra hver observasjon.
Kovariansmatrise
Kovariansmatrisen beskriver varians og samvariasjon mellom featureaksene.
Egenvektorligning
PCA-retningene er egenvektorer til kovariansmatrisen, sortert etter egenverdiene.
PCA-projeksjon
Kolonnene i er de viktigste hovedkomponentene som dataene projiseres på.
Forklart variansandel
Andelen viser hvor mye av total varians hovedkomponent forklarer.
KL-divergens
t-SNE minimerer en KL-divergens mellom nabosannsynligheter i originalrommet og projeksjonen.
Kodesnutter
Kodesnutter fra kapittelet, vist literal.
PCA med egenverdidekomponering
import numpy as np rng = np.random.default_rng(4172)x1 = rng.normal(size=80)x2 = 1.8 * x1 + rng.normal(0, 0.35, size=80)x3 = rng.normal(0, 0.25, size=80)X = np.column_stack([x1, x2, x3]) Xc = X - X.mean(axis=0)S = Xc.T @ Xc / (len(Xc) - 1)egenverdier, egenvektorer = np.linalg.eigh(S)rekkefolge = np.argsort(egenverdier)[::-1]egenverdier = egenverdier[rekkefolge]W = egenvektorer[:, rekkefolge]Z = Xc @ W[:, :2] print("forklart varians:", np.round(egenverdier / egenverdier.sum(), 3))print("form før/etter:", X.shape, Z.shape)Koden følger definisjonene direkte: sentrering, kovarians, sorterte egenvektorer og projeksjon. eigh brukes fordi kovariansmatrisen er symmetrisk.
t-SNE på tre syntetiske grupper
import numpy as npfrom sklearn.manifold import TSNE rng = np.random.default_rng(4172)sentra = np.array([ [-2, -2, 0, 0, 1, 1], [2, 0, -2, 1, 0, 1], [0, 2, 2, -1, 1, 0],])X = np.vstack([rng.normal(senter, 0.45, size=(30, 6)) for senter in sentra]) modell = TSNE( n_components=2, perplexity=20, init="pca", learning_rate="auto", random_state=4172,)Z = modell.fit_transform(X)print("embedding-form:", Z.shape)print("KL-divergens:", round(modell.kl_divergence_, 4))Fast seed gjør én kjøring reproduserbar, men koordinatenes rotasjon og avstander mellom grupper skal fortsatt ikke tolkes som absolutte størrelser.
Læringsmål
Hva du skal kunne etter å ha lest kapittelet.
- 01Forklare hvorfor avstander og datatetthet blir vanskeligere i høy dimensjon
- 02Gjennomføre sentrering, egenvektorvalg og projeksjon i en liten PCA-beregning
- 03Beregne forklart variansandel og velge antall komponenter med en begrunnet terskel
- 04Tolke PCA-retninger og loadings uten å gjøre dem til årsaksforklaringer
- 05Sammenligne PCA og t-SNE ut fra bevart struktur, bruk og begrensninger
- 06Tolke en t-SNE-embedding uten å overtolke globale avstander eller clusterstørrelser