Det hensikten med dette innlegget er å gi en komplett og forenklet forklaring av Principal Component Analyse, og spesielt for å svare på hvordan det fungerer, trinn for trinn, slik at alle kan forstå det og gjøre bruk av den, uten nødvendigvis å ha en sterk matematisk bakgrunn.
PCA er faktisk et vidt dekket metode på nettet, og det er noen flotte artikler om det, men bare få av dem går rett på sak og forklare hvordan det fungerer uten dykking for mye inn i de tekniske og ‘hvorfor’ ting., Det er grunnen til at jeg bestemte meg for å lage min egen post for å presentere det på en forenklet måte.
Før du får forklaring, dette innlegget gir logiske forklaringer på hva PCA gjør i hvert trinn, og forenkler matematiske begreper bak det, som standardisering, covariance, eigenvectors og eigenvalues uten å fokusere på hvordan å beregne dem.
Hva Er Principal Component Analyse?,
Principal Component Analysis, eller PCA, er en dimensionality-reduksjon metode som ofte brukes for å redusere dimensionality av store datasett, ved å transformere et stort sett av variabler til et mindre en som fortsatt inneholder det meste av informasjonen i den stort sett.
å Redusere antall variabler til et datasett som naturlig kommer på bekostning av nøyaktighet, men trikset i dimensionality reduksjon er å handle litt nøyaktighet for enkelhet., Fordi mindre datasett er lettere å utforske og visualisere og gjør analyse av data mye raskere og enklere for maskinlæring algoritmer uten utenforliggende variabler i prosessen.
Så for å oppsummere, ideen om PCA er enkelt — redusere antall variabler til et datasett, og samtidig bevare så mye informasjon som mulig.
Trinn-for-Trinn Forklaring på PCA
Trinn 1: Normering
målet med dette trinnet er å standardisere utvalg av kontinuerlig første variabler, slik at hver og en av dem bidrar likt til analyse.,
Mer spesifikt, grunnen til at det er avgjørende for å utføre standardisering før PCA, er at sistnevnte er ganske følsom om variansen i de opprinnelige variablene. Det er, hvis det er store forskjeller mellom områder av første variabler, de variablene med større områder vil dominere fremfor de med små områder (For eksempel, en variabel som varierer mellom 0 og 100 vil dominere over en variabel som varierer mellom 0 og 1), noe som vil føre til ensidige resultater. Så, for å transformere data til sammenlignbare vekter kan unngå dette problemet.,
Matematisk kan dette gjøres ved å trekke fra gjennomsnittet og dividere med standardavviket for hver verdi av hver variabel.
Når standardisering er gjort, alle variablene som vil bli forvandlet til det samme skala.
Trinn 2: Covariance Matrix beregning
målet med dette trinnet er å forstå hvordan variablene av input data er varierende fra gjennomsnittet med hensyn til hverandre, eller med andre ord, for å se om det er noen sammenheng mellom dem., Fordi noen ganger, variabler som er høyt korrelert på en slik måte at de inneholder overflødig informasjon. Så, for å identifisere disse sammenhenger, som vi beregne covariance matrise.
covariance matrix er en p × s symmetrisk matrise (der p er antall dimensjoner) som har som oppføringer i covariances forbundet med alle mulige par av de opprinnelige variablene., For eksempel, for en 3-dimensjonale data sett med 3 variablene x, y og z, covariance matrix er en 3×3 matrise av dette:
Siden covariance av en variabel med seg selv er sin varians (Cov(a,a)=Var(a), og i de viktigste diagonal (Øverst til venstre til nederst til høyre) vi har faktisk variansen i hver innledende variabel., Og siden covariance er kommutative (Cov(a,b)=Cov(b,a)) oppføringene i den covariance matrise er symmetrisk med hensyn til de viktigste diagonal, noe som betyr at den øvre og den nedre triangulær deler er like.
Hva gjør covariances at vi har så oppføringer av matrix-fortell oss om korrelasjoner mellom variablene?,
Det er faktisk tegnet av covariance som teller :
- hvis positiv da : de to variablene øke eller redusere sammen (korrelert)
- hvis negativ da : Man øker når den andre synker (Omvendt korrelert)
Nå, som vi vet at covariance matrix er ikke mer enn en tabell som sammendrag sammenhenger mellom alle mulige par av variabler, la oss gå til neste trinn.,
Trinn 3: Beregn eigenvectors og eigenvalues av covariance matrise for å identifisere hovedkomponentene
Eigenvectors og eigenvalues er lineær algebra konsepter som vi trenger for å beregne fra covariance matrise for å fastslå de viktigste komponentene av data. Før vi kommer til forklaring av disse begrepene, la oss først forstå hva mener vi med hovedkomponentene.
hovedkomponentene er nye variabler som er konstruert som lineære kombinasjoner eller blandinger av de opprinnelige variablene., Disse kombinasjonene er gjort på en slik måte at nye variabler (dvs., principal components) er ukorrelerte og det meste av informasjonen i den første variablene er presset eller komprimert til de første komponentene. Så, ideen er 10-dimensjonale data gir deg 10 viktigste komponentene, men PCA prøver å sette en maksimal mulig informasjon i den første komponenten, så maksimal resterende opplysninger i den andre og så videre, til å ha noe som er vist i ura tomten nedenfor.,
å Organisere informasjon i hovedkomponentene på denne måten, vil tillate deg å redusere dimensionality uten å miste mye informasjon, og dette gjennom slipping av komponentene med lave informasjon og vurderer de resterende komponentene som din nye variabler.,
En viktig ting å forstå her er at de viktigste komponentene er mindre tolkes og ikke har noen reell betydning, siden de er konstruert som lineære kombinasjoner av de opprinnelige variablene.
Geometrisk sett, hovedkomponentene representerer retninger av data som forklarer en maksimal mengde avvik, det vil si linjene som fanger opp mest mulig informasjon av data., Forholdet mellom varians og informasjon her, er at, jo større avvik er gjennomført av en linje, jo større spredningen i dataene punkter langs det, og jo større spredning langs en linje, jo mer informasjon vi har. For å sette alt dette rett og slett, bare tenk på hovedkomponentene som nye akser som gir den beste vinkelen for å se og vurdere data, slik at forskjellene mellom observasjonene er bedre synlig.
– >
Registrer deg gratis for å få mer data science historier som dette.,
Hvordan PCA Konstruerer de Viktigste Komponentene
Som det er så mange hovedkomponentene som det er variabler i datasettet, rektor komponenter er konstruert på en slik måte at den første prinsipale komponenten står for den største mulige variansen i datasettet. For eksempel, la oss anta at spredningsplott av våre data er, som vist nedenfor, kan vi gjette første prinsipale komponenten ?, Ja, det er omtrent på linje som samsvarer med den lilla merker fordi det går gjennom origin-og det er den linjen som projeksjon av punkter (røde prikker) er den mest spredte seg ut. Eller matematisk sett, det er den linjen som maksimerer variansen (gjennomsnittet av de kvadrerte avstander i forhold til det prosjekterte punkter (røde prikker) til opprinnelse).
Den andre viktigste komponenten er beregnet på samme måte, med den forutsetning at det er ukorrelerte med (dvs., vinkelrett på) den første prinsipale komponenten, og at det står for det nest høyeste avvik.,
Dette fortsetter helt til en total av s viktigste komponentene har blitt beregnet, som er lik det opprinnelige antall variabler.
Nå som vi forstår hva vi mener med rektor komponenter, la oss gå tilbake til eigenvectors og eigenvalues. Det du først trenger å vite om dem er at de kommer alltid i par, slik at hver eigenvector har en egenverdi. Og deres antall er lik antall dimensjoner av data. For eksempel, for en 3-dimensjonale data set, det er 3 variabler, derfor det er 3 eigenvectors med 3 tilsvarende eigenvalues.,
Uten videre, det er eigenvectors og eigenvalues som står bak alle de magiske forklart ovenfor, fordi eigenvectors av Covariance matrix er faktisk retninger av aksene hvor det er mest varians(de fleste opplysninger) og som vi kaller hovedkomponentene. Og eigenvalues er rett og slett koeffisientene knyttet til eigenvectors, som gir mengden av variasjon gjennomført i hver Rektor Komponent.
Ved rangeringen din eigenvectors for sin eigenvalues, høyest til lavest, får du de viktigste komponentene i rekkefølge av betydning.,
Eksempel:
la oss anta at våre data er 2-dimensjonale med 2 variablene x,y og at eigenvectors og eigenvalues av covariance matrix er som følger:
Hvis vi rangerer eigenvalues i synkende rekkefølge, får vi λ1>λ2, noe som betyr at eigenvector som tilsvarer den første prinsipale komponenten (PC1) er v1 og den som svarer til den andre komponenten (PC2) isv2.,
Etter å ha hovedkomponentene, til å beregne andelen av variansen (informasjon) sto for av hver komponent, vi dele egenverdi for hver komponent av summen av eigenvalues. Hvis vi anvender dette på eksempelet ovenfor, finner vi at PC1 og PC2 bære henholdsvis 96% og 4% av variansen i dataene.
Trinn 4: Feature Vector
Som vi så i forrige trinn, beregning av eigenvectors og bestille dem ved deres eigenvalues i synkende rekkefølge, la oss finne de viktigste komponentene i rekkefølge av betydning., I dette trinnet, det vi skal gjøre er å velge om du vil beholde alle disse komponentene eller forkaste de som er av mindre betydning (av lave eigenvalues), og skjemaet med de gjenværende en matrise av vektorer som vi kaller Funksjonen vektor.
Så, har vector er rett og slett en matrise som har som kolonner i eigenvectors av komponentene, at vi velger å beholde. Dette gjør det det første skrittet mot dimensionality reduksjon, fordi hvis vi velger å holde bare p eigenvectors (komponenter) ut av n, den endelige datasettet vil ha bare p dimensjoner.,
Eksempel:
Fortsetter med eksemplet fra forrige trinn, kan vi enten danne en funksjon vektor med begge eigenvectors v1 og v2:
Eller forkaste eigenvector v2, som er en av mindre betydning, og danne en funksjon vektor med v1 bare:
Forkaster den eigenvector v2 vil redusere dimensionality av 1, og vil dermed føre til tap av informasjon i den endelige datasettet., Men gitt at v2 var bærer bare 4% av informasjonen, tap vil derfor ikke er viktig, og vi vil fortsatt ha 96% av den informasjon som er gjennomført av v1.
Så, som vi så i eksempelet, det er opp til deg å velge om du vil beholde alle komponentene eller forkaste de av mindre betydning, avhengig av hva du er ute etter. Fordi hvis du bare ønsker å beskrive data i form av nye variabler (rektor komponenter) som er ukorrelerte uten å søke å redusere dimensionality, drar ut mindre vesentlige komponenter er ikke nødvendig.,
Siste Trinn: Nye Data Langs de Viktigste Komponentene Akser
I de forrige trinnene, bortsett fra standardisering, trenger du ikke gjøre noen endringer på data, velger du bare de viktigste komponentene og form den har vector, men input data sett forblir alltid i forhold til den opprinnelige akser (jeg.e, i form av den opprinnelige variablene).,
I dette trinnet, som er den siste, målet er å bruke funksjonen vektor dannet ved hjelp av eigenvectors av covariance matrix, for å justere dataene fra den opprinnelige aksene til de representert av hovedkomponentene (derav navnet Principal Components Analysis). Dette kan gjøres ved å multiplisere transponere av det opprinnelige datasettet ved å transponere av funksjonen vektor.
* * *
Zakaria Jaadi er en data forsker og maskinlæring ingeniør. Sjekk ut mer av sitt innhold på Data Science emner på Medium.
Leave a Reply