formålet med dette indlæg er at give en fuldstændig og forenklet forklaring af Principal Komponent Analyse, og især at svare på, hvordan det virker, trin for trin, så alle kan forstå det og gøre brug af det, uden nødvendigvis at have en stærk matematisk baggrund.
PCA er faktisk en bredt dækket metode på nettet, og der er nogle gode artikler om det, men kun få af dem går direkte til det punkt og forklarer, hvordan det fungerer uden at dykke for meget ind i teknikaliteterne og ‘hvorfor’ af ting., Det er grunden til, at jeg besluttede at lave mit eget indlæg for at præsentere det på en forenklet måde.
Før vi får forklaringen, dette indlæg giver logiske forklaringer på, hvad PCA gør i hvert trin og forenkler de matematiske begreber, der ligger bag det, som standardisering, kovarians, egenvektorer og egenværdier uden at fokusere på, hvordan til at beregne dem.
Hvad er Hovedkomponentanalyse?,
Hovedkomponentanalyse eller PCA er en dimensionalitetsreduktionsmetode, der ofte bruges til at reducere dimensionaliteten af store datasæt ved at omdanne et stort sæt variabler til en mindre, der stadig indeholder de fleste oplysninger i det store sæt.
reduktion af antallet af variabler i et datasæt kommer naturligvis på bekostning af nøjagtighed, men tricket i dimensionalitetsreduktion er at handle lidt nøjagtighed for enkelhed., Fordi mindre datasæt er lettere at udforske og visualisere og gøre analyse af data meget lettere og hurtigere for maskinlæringsalgoritmer uden fremmede variabler at behandle.
så for at opsummere er ideen om PCA enkel — reducer antallet af variabler i et datasæt, samtidig med at du bevarer så meget information som muligt.
trin for trin forklaring af PCA
Trin 1: standardisering
formålet med dette trin er at standardisere rækkevidden af de kontinuerlige indledende variabler, så hver enkelt af dem bidrager ligeligt til analysen.,
mere specifikt er grunden til, at det er kritisk at udføre standardisering før PCA, at sidstnævnte er ret følsom med hensyn til afvigelserne af de oprindelige variabler. Det vil sige, hvis der er store forskelle mellem intervallerne for indledende variabler, vil disse variabler med større intervaller dominere over dem med små intervaller (for eksempel vil en variabel, der ligger mellem 0 og 100, dominere over en variabel, der ligger mellem 0 og 1), hvilket vil føre til partiske resultater. Så at omdanne dataene til sammenlignelige skalaer kan forhindre dette problem.,
matematisk kan dette gøres ved at trække middelværdien og dividere med standardafvigelsen for hver værdi af hver variabel.
Når standardiseringen er udført, vil alle variabler blive omdannet til samme skala.
Trin 2: Covariance Matrix beregning
formålet med dette trin er at forstå, hvordan de variabler af input-data, der er forskellig fra gennemsnittet, med respekt for hinanden, eller med andre ord, for at se om der er nogen sammenhæng mellem dem., Fordi nogle gange er variabler stærkt korrelerede på en sådan måde, at de indeholder overflødige oplysninger. Så for at identificere disse korrelationer beregner vi kovariansmatri theen.
The covariance matrix er en p × p symmetrisk matrix (hvor p er antallet af dimensioner), der har som poster covariances, der er forbundet med alle mulige par af de oprindelige variabler., For eksempel, for en 3-dimensional data sæt med 3 variable x, y og z, kovarians matrix er en 3×3 matrix af dette fra:
Da kovarians af en variabel med sig selv, er dens varians (Cov(a,a)=Var(a)), i de vigtigste diagonal, Øverste venstre til nederste højre) vi har faktisk varianserne for hver oprindelige variabel., Og da kovariansen er kommutativ(Cov(a,b)=Cov (B,A)), er kovariansmatrixens indgange symmetriske i forhold til hoveddiagonalen, hvilket betyder, at de øvre og nedre trekantede dele er ens.
Hvad fortæller de kovarianser, vi har som poster i Matri theen, os om korrelationerne mellem variablerne?,
Det er faktisk tegnet af kovarians, der betyder noget :
- hvis den er positiv så : de to variabler stige eller falde sammen (korrelerede)
- hvis negativ : En begivenhed stiger, når de andre falder (Omvendt korreleret)
Nu, vi ved, at kovarians matrix er ikke mere end en tabel, der resuméer korrelationer mellem alle mulige par af variable, så lad os gå videre til næste trin.,
Trin 3: Beregning af egenvektorer og egenværdier af kovarians matrix til at identificere de vigtigste komponenter
Egenvektorer og egenværdier er den lineære algebra begreber, som vi er nødt til at beregne fra den kovarians matrix for at fastlægge de vigtigste elementer i data. Før vi kommer til forklaringen af disse begreber, lad os først forstå, hvad vi mener med hovedkomponenter.
hovedkomponenter er nye variabler, der er konstrueret som lineære kombinationer eller blandinger af de oprindelige variabler., Disse kombinationer er udført på en sådan måde, at de nye variabler (dvs.hovedkomponenter) er ukorrelerede, og de fleste af oplysningerne inden for de oprindelige variabler presses eller komprimeres til de første komponenter. Så ideen er 10-dimensionelle data giver dig 10 hovedkomponenter, men PCA forsøger at sætte størst mulig information i den første komponent, så maksimalt resterende information i den anden og så videre, indtil du har noget som vist i scree-plottet nedenfor.,
at Organisere information i principal komponenter på denne måde, vil give dig mulighed for at reducere dimensionaliteten uden at miste meget information, og dette ved hjælp af komponenter med lave information og i betragtning af de resterende komponenter, som din nye variabler.,
en vigtig ting at indse her er, at hovedkomponenterne er mindre fortolkelige og ikke har nogen reel betydning, da de er konstrueret som lineære kombinationer af de oprindelige variabler.
Geometrisk set repræsenterer hovedkomponenter retningerne for de data, der forklarer en maksimal varians, det vil sige de linjer, der fanger de fleste oplysninger om dataene., Forholdet mellem varians og information her er, at jo større variansen, der bæres af en linje, jo større dispersionen af datapunkterne langs den, og jo større dispersionen langs en linje, jo mere er informationen den har. For at sætte alt dette enkelt, skal du bare tænke på hovedkomponenter som nye akser, der giver den bedste vinkel til at se og evaluere dataene, så forskellene mellem observationerne er bedre synlige.
Tilmeld dig gratis for at få flere data science historier som denne.,
hvordan PCA konstruerer hovedkomponenterne
da der er lige så mange hovedkomponenter som der er variabler i dataene, konstrueres hovedkomponenterne på en sådan måde, at den første hovedkomponent tegner sig for den størst mulige variation i datasættet. For eksempel, lad os antage, at scatter plot af vores datasæt er som vist nedenfor, kan vi gætte den første vigtigste komponent ?, Ja, det er omtrent den linje, der matcher de lilla mærker, fordi det går gennem oprindelsen, og det er den linje, hvor projektionen af punkterne (røde prikker) er mest spredt ud. Eller matematisk set er det den linje, der maksimerer variansen (gennemsnittet af de kvadrerede afstande fra de projicerede punkter (røde prikker) til oprindelsen).
den anden hovedkomponent beregnes på samme måde, forudsat at den er ukorreleret med (dvs.vinkelret på) den første hovedkomponent, og at den tegner sig for den næsthøjeste varians.,
dette fortsætter, indtil i alt p hovedkomponenter er beregnet, svarende til det oprindelige antal variabler.
nu hvor vi forstod hvad vi mener med hovedkomponenter, lad os gå tilbage til egenvektorer og egenværdier. Hvad du først behøver at vide om dem er, at de altid kommer i par, således at hver egenvektor har en egenværdi. Og deres antal er lig med antallet af dimensioner af dataene. For eksempel er der for et 3-dimensionelt datasæt 3 variabler, derfor er der 3 egenvektorer med 3 tilsvarende egenværdier.,
Uden videre, det er egenvektorer og egenværdier, der står bag alle de magiske forklaret ovenfor, fordi egenvektorer af Kovarians matrix er faktisk retninger af de akser, hvor der er mest varians(de fleste oplysninger), og som vi kalder Vigtigste Komponenter. Og egenværdier er simpelthen koefficienterne knyttet til egenvektorer, som giver mængden af varians båret i hver hovedkomponent.
Ved at rangordne dine egenvektorer i rækkefølge af deres egenværdier, højeste til laveste, får du de vigtigste komponenter i rækkefølge af betydning.,
Eksempel:
lad os antage, at vores data, der er 2-dimensionelle med 2 variable x,y, og at det egenvektorer og egenværdier af kovarians matrix er som følger:
Hvis vi rang af egenværdier i faldende rækkefølge, vi får λ1>λ2, hvilket betyder, at eigenvector, der svarer til den første principal komponent (PC1) er v1 og en, der svarer til den anden komponent (PC2) isv2.,
efter at have hovedkomponenterne, for at beregne procentdelen af varians (information), der er tegnet af hver komponent, deler vi egenværdien af hver komponent med summen af egenværdier. Hvis vi anvender dette på eksemplet ovenfor, finder vi, at PC1 og PC2 bærer henholdsvis 96% og 4% af variansen af dataene.
Trin 4: Feature Vector
Som vi så i det foregående trin, computing egenvektorer og bestilling dem ved deres egenværdier i faldende rækkefølge, tillade os at finde de vigtigste komponenter i rækkefølge af betydning., I dette trin er det, vi gør, at vælge, om vi vil beholde alle disse komponenter eller kassere dem af mindre betydning (af lave egenværdier) og danne med de resterende en Matri.af vektorer, som vi kalder Funktionsvektor.
så funktionsvektoren er simpelthen en Matri., der som kolonner har egenvektorerne af de komponenter, som vi beslutter at beholde. Dette gør det til det første skridt mod dimensionalitetsreduktion, for hvis vi vælger at holde kun p eigenvektorer (komponenter) ude af n, vil det endelige datasæt kun have p-dimensioner.,
Eksempel:
at Fortsætte med eksemplet fra forrige trin, vi kan enten danne en feature vektor med både af egenvektorer v1 og v2:
Eller kassere eigenvector v2, som er den ene af mindre betydning, og udgør en feature vektor med v1 kun:
Kasserer eigenvector v2 vil reducere dimensionaliteten af 1, og vil derfor medføre et tab af information i det endelige datasæt., Men i betragtning af at v2 kun havde 4% af informationen, vil tabet derfor ikke være vigtigt, og vi vil stadig have 96% af de oplysninger, der bæres af v1.
så som vi så i eksemplet, er det op til dig at vælge, om du vil beholde alle komponenterne eller kassere dem af mindre betydning, afhængigt af hvad du leder efter. For hvis du bare vil beskrive dine data med hensyn til nye variabler (hovedkomponenter), der er ukorrelerede uden at forsøge at reducere dimensionalitet, er det ikke nødvendigt at udelade mindre signifikante komponenter.,
sidste trin: omarbejdning af dataene langs Hovedkomponentakserne
i de foregående trin foretager du bortset fra standardisering ingen ændringer på dataene, du vælger bare hovedkomponenterne og danner funktionsvektoren, men inputdatasættet forbliver altid med hensyn til de originale akser (dvs.med hensyn til de oprindelige variabler).,
i dette trin, som er den sidste, er målet at bruge funktionen vektor dannet ved hjælp af egenvektorer af kovariansmatrixen til at omorientere dataene fra de originale akser til dem, der er repræsenteret af hovedkomponenterne (deraf navnet Hovedkomponentanalyse). Dette kan gøres ved at multiplicere transponeringen af det originale datasæt med transponeringen af funktionsvektoren.
* * *
Zakaria Jaadi er en data-videnskabsmand og machine learning ingeniør. Tjek mere af hans indhold på Data Science emner på Medium.
Leave a Reply