Komprimer høydimensjonale data med PCA og visualiser lokal struktur med t-SNE uten å overtolke projeksjonen.
Læringsmål
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
Når flere features gir mindre oversikt
Et datasett med høyde og vekt kan tegnes på papir. Legger vi til alder, puls, søvn, kosthold og hundre sensormålinger, forsvinner den direkte oversikten. Flere features kan gi modellen informasjon, men de kan også være støy, måle nesten det samme eller gjøre avstander vanskelige å tolke. dimensjonalitetens forbannelse beskriver flere problemer som oppstår når rommet blir høydimensjonalt.
Volumet vokser raskt med antall dimensjoner. Med samme antall observasjoner blir punktene derfor glisnere, og et lokalt nabolag må dekke en større del av rommet for å inneholde nok punkter. Avstander kan bli mer like hverandre, og metoder som k-means eller nærmeste nabo får svakere geometrisk signal. Mer dimensjon er ikke alltid mer brukbar informasjon.
dimensjonsreduksjon lager en representasjon med færre koordinater. Målet kan være komprimering, støyreduksjon, raskere modellering eller visualisering. Ingen metode bevarer alt. Vi må si hvilken struktur vi ønsker å beholde: total varians, parvise avstander, lokale naboskap eller noe som er direkte relevant for en senere prediksjon.
Featurevalg og dimensjonsreduksjon er ikke det samme. Featurevalg beholder et utsnitt av de opprinnelige variablene. Dimensjonsreduksjon kan lage nye akser som kombinerer mange features. De nye aksene kan være effektive, men ofte vanskeligere å forklare.
PCA starter med å flytte origo
pca finner ortogonale retninger med størst varians. Først bruker vi ƒsentrering og trekker featuremiddelverdien fra hver observasjon. Da ligger datasettets sentrum i origo. Uten sentrering kan første retning bli styrt av avstanden fra koordinatsystemets opprinnelige nullpunkt i stedet for variasjonen rundt datasenteret.
Skalering er et eget valg. PCA på kovariansmatrisen lar features med stor numerisk varians dominere. Standardiserer vi først, får hver feature varians omtrent 1 og analysen tilsvarer PCA på korrelasjonsmatrisen. Riktig valg avhenger av om en stor måleskala representerer viktig variasjon eller bare enhet.
Den sentrerte datamatrisen gir ƒkovariansmatrise. Diagonalen inneholder variansen til hver feature, mens leddene utenfor diagonalen beskriver hvordan featurepar varierer sammen. Matrisen er symmetrisk, noe som gir reelle egenverdier og ortogonale egenvektorer.
Egenvektorer blir nye akser
En egenvektor beholder retningen når kovariansmatrisen virker på den. ƒegenvektorligning sier at resultatet bare skaleres med egenverdien. For PCA uttrykker egenverdien hvor mye varians dataene har langs denne retningen. Vi sorterer derfor egenvektorene etter synkende egenverdi.
Den første hovedkomponent peker langs størst mulig varians. Den andre må være ortogonal til den første og fanger størst mulig gjenværende varians. Fortsetter vi, får vi like mange komponenter som opprinnelige dimensjoner. Reduksjonen oppstår når vi beholder bare de første k.
FIGPCA roterer aksene mot størst varians
Fortegnet til en egenvektor er vilkårlig. Både v og −v beskriver samme akse, så to programmer kan gi komponenter med motsatte fortegn uten faglig uenighet. Rekkefølgen er derimot styrt av egenverdiene, med mulig ustabilitet når to egenverdier er nesten like.
Projeksjon og forklart varians
Når de k viktigste retningene er samlet i Wk, gir ƒpca-projeksjon de nye koordinatene. Hver rad i Z er observasjonens skygge på komponentaksene. Går vi fra 100 features til 10 komponenter, reduseres lagring og beregning, men informasjonen i de 90 siste retningene fjernes.
forklart varians måler hvor mye av total varians hver komponent fanger. ƒforklart variansandel deler komponentens egenverdi på summen av alle egenverdier. Andelene summerer til 1. Kumulativ forklart varians kan hjelpe oss å velge k, for eksempel den minste verdien som fanger minst 90 prosent.
FIGForklart varians per hovedkomponent
En høy variansandel betyr ikke automatisk at komponenten er nyttig for en senere klassifikasjon. En liten, lavvariansretning kan skille to klasser, mens stor varians kan komme fra irrelevant bakgrunn. PCA er uveiledet og ser ikke labels. Valg av k bør derfor valideres i hele den senere arbeidsflyten, og PCA må tilpasses bare på treningsdata for å unngå lekkasje.
Koden følger definisjonene direkte: sentrering, kovarians, sorterte egenvektorer og projeksjon. eigh brukes fordi kovariansmatrisen er symmetrisk.
Projeksjonen kan også løftes tilbake til originalrommet. Vi multipliserer de reduserte koordinatene med de beholdte komponentretningene og legger middelverdien tilbake. Resultatet er en rekonstruksjon, ikke den opprinnelige observasjonen. Forskjellen mellom original og rekonstruksjon er informasjonen som lå i de forkastede komponentene. For kvadrert rekonstruksjonsfeil er PCA den beste lineære projeksjonen med valgt antall dimensjoner.
Dette gir en konkret måte å forstå informasjonstap på. Beholder vi bare PC1 i figuren, havner hvert rekonstruerte punkt på den lange komponentaksen. Spredningen på tvers av aksen forsvinner. Dersom den spredningen hovedsakelig er målestøy, kan reduksjonen forbedre en senere modell. Dersom den inneholder sjeldne, viktige avvik, kan reduksjonen skjule nettopp signalet vi trenger.
I en maskinlæringspipeline må både middelverdier, eventuell standardisering og komponentretninger læres fra treningsdelen i hver fold. Å kjøre PCA én gang på hele datasettet før kryssvalidering lar valideringsobservasjonene påvirke aksene. Det er datalekkasje selv om labels aldri ble brukt. En pipeline sørger for at transformasjonen tilpasses på nytt inne i hver treningsfold og brukes uendret på den tilhørende valideringsfolden.
PCA kan dessuten brukes til enkel komprimering eller avviksanalyse. Stor rekonstruksjonsfeil kan vise at et punkt ikke beskrives godt av de vanlige variasjonsretningene. Det er likevel ikke en ferdig sannsynlighet for anomali; terskel og nytte må valideres i den aktuelle bruken.
PCA er lineær og global
PCA bevarer lineære retninger. Dersom data ligger på en buet flate, kan én lineær projeksjon legge fjerne deler oppå hverandre. Metoden optimaliserer global varians, ikke lokale cluster eller semantisk likhet. Den er derfor godt egnet som rask baseline og komprimering, men ikke universell visualisering.
Komponentenes vekter kan inspiseres som *loadings*. En stor absolutt vekt viser at en feature bidrar sterkt til retningen. Fortegnet viser hvilken vei den trekker langs aksen, men kan snus sammen med hele egenvektoren. Sterke loadings er ikke årsaksforklaringer; de beskriver samvariasjon i datasettet.
Uteliggere kan dominere både middelverdi og kovarians og dermed rotere komponentene. Kontroller derfor fordelinger og robuste alternativer når ekstreme punkter er vanlige. Manglende verdier må også håndteres før standard PCA, siden matriseoperasjonene krever komplette tall.
t-SNE prioriterer lokale naboer
t-sne er laget for visualisering i to eller tre dimensjoner. Metoden gjør avstander i originalrommet om til sannsynligheter for naboskap og søker en lavdimensjonal representasjon med lignende lokale forhold. Resultatet er en embedding: nye koordinater der hvert punkt representerer en opprinnelig observasjon.
t-SNE minimerer ƒkl-divergens mellom nabofordelingene i originalrommet og projeksjonen. KL-divergensen er asymmetrisk. I denne bruken straffes det hardt når nære naboer i originalrommet plasseres langt fra hverandre. At opprinnelig fjerne punkter havner relativt nær hverandre, kan koste mindre. Derfor bevares lokal struktur bedre enn global geometri.
Perplexity styrer omtrent hvilken nabolagsstørrelse metoden forsøker å balansere. For lav verdi kan fragmentere strukturen, mens for høy verdi kan viske ut lokale mønstre eller være ugyldig for små datasett. Læringsrate, initialisering og seed påvirker også resultatet. Kjør flere rimelige innstillinger før du tolker en figur sterkt.
FIGt-SNE bevarer lokale naboskap i en 2D-embedding
Fast seed gjør én kjøring reproduserbar, men koordinatenes rotasjon og avstander mellom grupper skal fortsatt ikke tolkes som absolutte størrelser.
Avstanden mellom to tydelige t-SNE-grupper er ikke en pålitelig global avstand. Clusterstørrelser og tomrom kan være artefakter av optimaliseringen. Rotasjon og speiling har ingen betydning. Figuren kan foreslå lokale grupper som bør undersøkes, men bør ikke alene bevise at naturen har nøyaktig tre kategorier.
PCA og t-SNE svarer på ulike spørsmål
PCA er deterministisk gitt preprocessing, rask og kan transformere nye observasjoner med samme komponentmatrise. Den gir globale, lineære akser og en direkte variansforklaring. t-SNE er ikke-lineær, mer beregningskrevende og primært en visualiseringsmetode for et konkret datasett. Nye observasjoner kan ikke alltid legges inn uten ny tilpasning eller en egen parametrisk variant.
Bruk PCA når du vil komprimere før en modell, redusere korrelasjon eller undersøke globale variasjonsretninger. Bruk t-SNE når du vil utforske lokale naboskap visuelt. Det er vanlig å redusere svært høydimensjonale data med PCA først og deretter kjøre t-SNE på de viktigste komponentene. Det kan fjerne støy og redusere kjøretid, men også fjerne lavvarianssignal.
På eksamen bør du kunne gjennomføre en liten PCA-beregning: sentrer data, finn eller bruk oppgitte egenvektorer, sorter etter egenverdi, projiser og beregn forklart varians. For t-SNE er tolkning og begrensninger viktigere enn håndregning av hele optimaliseringen. Spør alltid hvilken struktur metoden prøver å bevare, og hvilke konklusjoner projeksjonen ikke støtter.
Mine notater
Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.