Spørsmål:
Hva er den objektive funksjonen til PCA?
Neil McGuigan
2011-05-03 04:10:17 UTC
view on stackexchange narkive permalink

Hovedkomponentanalyse kan bruke matrisedekomponering, men det er bare et verktøy for å komme dit.

Hvordan vil du finne hovedkomponentene uten bruk av matrisealgebra?

Hva er den objektive funksjonen (mål), og hva er begrensningene?

Kanskje jeg mangler noe, så vær så snill å korrigere meg hvis jeg tar feil, men det burde være mulig (i det minste i prinsippet) å konstruere det som gjøres i PCA ved å bruke matriser som et (komplisert) lineært programmeringsproblem, men det gjør jeg ikke vet hvordan du vil angi alle nødvendige begrensninger. Jeg er heller ikke sikker på at det ville være veldig enkelt å gjøre i forhold til bare å bruke PCA. Hvorfor prøver du å unngå matriser?
@Chris Jeg ser ikke hvordan man kan komme til et lineært programmeringsproblem. Det var heller ikke min forståelse at matriser skulle unngås i * beregningen *. Spørsmålet var hva slags problem som løses av PCA, og ikke hvordan det gjøres (ved å beregne SVD for eksempel). Løsningen fra kardinal sier at du finner suksessive ortogonale retninger av * maksimal varians *. Løsningen jeg presenterte sier at du finner hyperplaner med minimal rekonstruksjonsfeil.
@chris Jeg håper å finne en annen måte å se PCA på, uten matrisealgebra, for å øke forståelsen av den.
@Chris, Du har en kvadratisk objektivfunksjon og en $ \ ell_2 $ normbegrensning. Alternativt, under formuleringen i @NRH's-svaret, har du en begrensning for matriseplassering. Det kommer ikke til å slå seg ned til et lineært programmeringsproblem. @NRH gir god intuisjon, og det er faktisk en veldig nær sammenheng mellom de to perspektivene på PCA som er gitt. Kanskje i samarbeid med @NRH, kan vi legge til det i hans / hennes innlegg for å gjøre hele settet med svar mer komplett.
@cardinal Ja, uansett fører det til det samme selvfølgelig. Jeg synes dette er veldig godt forklart i The Elements, og siden boken er gratis tilgjengelig online for nedlasting, er det mulig å studere detaljene der. Jeg kan bare legge til at datavektorene i @cardinal's-løsningen antas sentrert.
@NRH, Egentlig liker jeg * ESL * mye, men jeg synes behandlingen der av dette emnet er ganske overfladisk, slik det er for mange av emnene i boka. Spesielt beviser de ikke (eller tildeler til og med som en øvelse) den viktige delen av løsningen for optimaliseringsproblemet du gir.
@NRH, Også om du velger å sentrere funksjonene eller ikke er en beslutning utenfor rammen av PCA. Det er statistiske situasjoner der det er mest fornuftig å gjøre det ene eller det andre. Skjønt, vil jeg si at sentrering vanligvis vinner ut.
@cardinal,-poeng tatt med muligheten for å velge ikke å sentrere, men uten sentrering vil jeg ikke kalle $ \ mathbf {S} $ prøvekovariansen.
@NRH: Ja, jeg er enig.
@NRH og @Cardinal Jeg synes begge innleggene og kommentarene dine her er veldig innsiktsfulle, men basert på OP og kommentaren @Neil kom med i disse innleggene virker det som om han leter etter noe mer i retning av en måte å se på dette som et system av ligninger enn når det gjelder lineær algebra for dette problemet. Det er tydeligvis ikke et lineært program, men jeg hadde tilsynelatende en hjernesvikt og kunne ikke tenke på ligningssystemer i går. Jeg tror det er grunnen til at han ikke har godtatt noen av de gode svarene dine ennå.
+1.Jeg tok meg fri til å endre tittelen på spørsmålet ditt.Det handlet om å finne PC-er "uten matrise-algebra", men det aksepterte svaret handler om matrise-algebra!Så jeg syntes tittelen var veldig misvisende.Jeg endret den for å fokusere på den objektive funksjonen, som er hva begge (utmerkede) svarene spesifikt handler om.Jeg håper du ikke har noe imot det, @Neil.Gi meg beskjed hvis du synes det var en upassende redigering.
Tre svar:
cardinal
2011-05-03 07:27:02 UTC
view on stackexchange narkive permalink

Uten å prøve å gi en full primer på PCA, fra et optimaliseringssynspunkt, er den primære objektive funksjonen Rayleighkvotienten. Matrisen som figurerer i kvotienten er (noen multiple av) eksemplet på kovariansmatrisen $$ \ newcommand {\ m} [1] {\ mathbf {# 1}} \ newcommand {\ x} {\ m {x}} \ newcommand {\ S} {\ m {S}} \ newcommand {\ u} {\ m {u}} \ newcommand {\ reals} {\ mathbb {R}} \ newcommand {\ Q} {\ m {Q} } \ newcommand {\ L} {\ boldsymbol {\ Lambda}} \ S = \ frac {1} {n} \ sum_ {i = 1} ^ n \ x_i \ x_i ^ T = \ m {X} ^ T \ m {X} / n $$ der hver $ \ x_i $ er en vektor av $ p $ -funksjoner og $ \ m {X} $ er matrisen slik at $ i $ th-raden er $ \ x_i ^ T $.

PCA søker å løse en sekvens av optimaliseringsproblemer. Den første i sekvensen er det ubegrensede problemet $$ \ begin {array} {ll} \ text {maximize} & \ frac {\ u ^ T \ S \ u} {\ u ^ T \ u} \ ;, \ u \ in \ reals ^ p \ >. \ end {array} $$

Siden $ \ u ^ T \ u = \ | \ u \ | _2 ^ 2 = \ | \ u \ | \ | \ u \ | $, det ovennevnte ubegrensede problemet tilsvarer det begrensede problemet $$ \ begin {array} {ll} \ text {maximize} & \ u ^ T \ S \ u \\\ text {subject to} & \ u ^ T \ u = 1 \ >. \ End {array} $$

Her er matrisealgebraen inn. Siden $ \ S $ er en symmetrisk positiv semidefinit matrise (ved konstruksjon! ) den har en egenverdi-spaltning av formen $$ \ S = \ Q \ L \ Q ^ T \ >, $$ der $ \ Q $ er en ortogonal matrise (så $ \ Q \ Q ^ T = \ m {I } $) og $ \ L $ er en diagonal matrise med ikke-negative oppføringer $ \ lambda_i $ slik at $ \ lambda_1 \ geq \ lambda_2 \ geq \ cdots \ geq \ lambda_p \ geq 0 $.

Derfor, $ \ u ^ T \ S \ u = \ u ^ T \ Q \ L \ Q ^ T \ u = \ m {w} ^ T \ L \ m {w} = \ sum_ {i = 1} ^ p \ lambda_i w_i ^ 2 $. Siden $ \ u $ er begrenset i problemet til å ha en norm på en, er det også $ \ m {w} $ siden $ \ | \ m {w} \ | _2 = \ | \ Q ^ T \ u \ | _2 = \ | \ u \ | _2 = 1 $, i kraft av at $ \ Q $ er ortogonal.

Men hvis vi vil maksimere mengden $ \ sum_ {i = 1} ^ p \ lambda_i w_i ^ 2 $ under begrensningene at $ \ sum_ {i = 1} ^ p w_i ^ 2 = 1 $, så det beste vi kan gjøre er å sette $ \ m {w} = \ m {e} _1 $, det vil si $ w_1 = 1 $ og $ w_i = 0 $ for $ i > 1 $.

Nå som vi sikkerhetskopierer den tilsvarende $ \ u $, som vi først søkte, får vi den $$ \ u ^ \ star = \ Q \ m {e} _1 = \ m {q} _1 $$ hvor $ \ m {q} _1 $ betegner den første kolonnen på $ \ Q $, dvs. egenvektoren som tilsvarer den største egenverdien på $ \ S $. Verdien av den objektive funksjonen blir da også lett å se som $ \ lambda_1 $.


De gjenværende hovedkomponentvektorene blir deretter funnet ved å løse sekvensen (indeksert av $ i $) av optimaliseringsproblemer $$ \ begin {array} {ll} \ text {maximize} & \ u_i ^ T \ S \ u_i \\\ text {subject to} & \ u_i ^ T \ u_i = 1 \\ & \ u_i ^ T \ u_j = 0 \ quad \ forall 1 \ leq j < i \ >. \ End {array} $$ Så problemet er det samme, bortsett fra at vi legger til den ekstra begrensningen at løsningen må være ortogonal til all av de tidligere løsningene i sekvensen. Det er ikke vanskelig å utvide argumentet ovenfor induktivt for å vise at løsningen på $ i $ th-problemet faktisk er $ \ m {q} _i $, $ i $ th egenvektor på $ \ S $.


PCA-løsningen uttrykkes også ofte i form av dekomponering av enestående verdi på $ \ m {X} $. For å se hvorfor, la $ \ m {X} = \ m {U} \ m {D} \ m {V} ^ T $. Deretter $ n \ S = \ m {X} ^ T \ m {X} = \ m {V} \ m {D} ^ 2 \ m {V} ^ T $ og så $ \ m {V} = \ m {Q} $ (strengt tatt, for å signere flips) og $ \ L = \ m {D} ^ 2 / n $.

Hovedkomponentene er funnet ved å projisere $ \ m {X} $ på hovedkomponentvektorene. Fra SVD-formuleringen akkurat gitt, er det lett å se at $$ \ m {X} \ m {Q} = \ m {X} \ m {V} = \ m {U} \ m {D} \ m {V } ^ T \ m {V} = \ m {U} \ m {D} \ >. $$

Enkelheten i representasjon av både hovedkomponentvektorene og selve hovedkomponentene når det gjelder SVD for matriksen av funksjoner er en grunn til at SVD har så fremtredende i noen behandlinger av PCA.

Hvis bare de første få singularverdiene / vektorene er nødvendige, gir Nash og Shlien [en algoritme] (http://dx.doi.org/10.1093/comjnl/30.3.268) som minner om den vanlige kraftmetoden for beregning av dominerende egenverdier. Dette kan være av interesse for OP.
@NRH, Takk for at du fikk tak i (og korrigert) skrivefeilene mine før jeg klarte å se dem!
Hei @cardinal, takk for svaret ditt.Men det ser ut til at du ikke ga trinnet for å bevise hvorfor den sekvensielle optimaliseringen fører til et globalt optimalt.Kan du utdype det?Takk!
Hei @NRH, I den andre delen av beviset, hvorfor må de resterende egenvektorene være ortogonale i forhold til alle de tidligere løsningene?
NRH
2011-05-03 09:20:44 UTC
view on stackexchange narkive permalink

Løsningen som presenteres av kardinal fokuserer på prøvekovariansmatrisen. Et annet utgangspunkt er rekonstruksjonsfeilen av dataene ved hjelp av et q -dimensjonalt hyperplan. Hvis p -dimensjonale datapunktene er $ x_1, \ ldots, x_n $, er målet å løse

$$ \ min _ {\ mu, \ lambda_1, \ ldots, \ lambda_n, \ mathbf {V} _q} \ sum_ {i = 1} ^ n || x_i - \ mu - \ mathbf {V} _q \ lambda_i || ^ 2 $$

for en $ p \ ganger q $ matrise $ \ mathbf {V} _q $ med ortonormale kolonner og $ \ lambda_i \ i \ mathbb {R} ^ q $. Dette gir den beste rangeringen q -rekonstruksjon målt ved den euklidiske normen, og kolonnene i $ \ mathbf {V} _q $ -løsningen er de første q hovedkomponentvektorene .

For fast $ \ mathbf {V} _q $ er løsningen for $ \ mu $ og $ \ lambda_i $ (dette er regresjon) $$ \ mu = \ overline {x} = \ frac { 1} {n} \ sum_ {i = 1} ^ n x_i \ qquad \ lambda_i = \ mathbf {V} _q ^ T (x_i - \ overline {x}) $$

For å lette noteringen kan anta at $ x_i $ har vært sentrert i følgende beregninger. Vi må da minimere

$$ \ sum_ {i = 1} ^ n || x_i - \ mathbf {V} _q \ mathbf {V} _q ^ T x_i || ^ 2 $$

over $ \ mathbf {V} _q $ med ortonormale kolonner. Merk at $ P = \ mathbf {V} _q \ mathbf {V} _q ^ T $ er projeksjonen q -dimensjonale kolonneplass. Derfor tilsvarer problemet å minimere
$$ \ sum_ {i = 1} ^ n || x_i - P x_i || ^ 2 = \ sum_ {i = 1} ^ n || x_i || ^ 2 - \ sum_ {i = 1} ^ n || Px_i || ^ 2 $$ over rang q anslag $ P $. Det vil si at vi må maksimere $$ \ sum_ {i = 1} ^ n || Px_i || ^ 2 = \ sum_ {i = 1} ^ n x_i ^ TPx_i = \ text {tr } (P \ sum_ {i = 1} ^ n x_i x_i ^ T) = n \ text {tr} (P \ mathbf {S}) $$ over rang q anslag $ P $, hvor $ \ mathbf {S} $ er eksemplet på kovariansmatrisen. Nå $$ \ text {tr} (P \ mathbf {S}) = \ text {tr} (\ mathbf {V} _q ^ T \ mathbf {S} \ mathbf {V} _q) = \ sum_ {i = 1 } ^ q u_i ^ T \ mathbf {S} u_i $$ hvor $ u_1, \ ldots, u_q $ er $ q $ (ortonormale) kolonnene i $ \ mathbf {V} _q $, og argumentene som presenteres i @ kardinalens svar viser at maksimum oppnås ved å ta $ u_i $ s å være $ q $ egenvektorer for $ \ mathbf {S} $ med $ q $ største egenverdier.

Rekonstruksjonsfeilen antyder en rekke nyttige generaliseringer, for eksempel sparsomme hovedkomponenter eller rekonstruksjoner av lavdimensjonale manifolder i stedet for hyperplaner. For detaljer, se Avsnitt 14.5 i Elementene for statistisk læring.

(+1) Gode poeng. Noen forslag: Det ville være bra å definere $ \ lambda_i $, og det ville være * veldig * hyggelig å gi et kort bevis på resultatet. Alternativt kan den kobles til optimaliseringsproblemet som involverer Rayleight-kvoter. Jeg tror det ville gjøre svarene på dette spørsmålet veldig fullstendig!
@cardinal, Jeg tror jeg fullførte de manglende trinnene for å komme fra rekonstruksjonsformuleringen til problemet du løser.
Fint arbeid. Jeg tror det eneste gjenværende gapet er i din siste uttalelse. Det er ikke umiddelbart tydelig at optimalisering av summen er den samme som å utføre rekkefølgen av optimaliseringer i svaret mitt. Jeg tror faktisk det ikke følger direkte, generelt. Men det trenger ikke å bli tatt opp her heller.
@cardinal, følger med induksjon. Du gir induksjonsstart, og i induksjonstrinnet velger du ortonormale vektorer $ w_1, \ ldots, w_q $ som maksimerer summen og ordner den slik at $ w_q $ er en enhetsvektor ortogonal til $ u_1, \ ldots, u_ {q- 1} $. Så av resultatene dine $ w_q ^ T \ mathbf {S} w_q \ leq u_q ^ T \ mathbf {S} u_q $ og av induksjonsantakelsen $ \ sum_ {i = 1} ^ {q-1} w_i ^ T \ mathbf {S} w_i \ leq \ sum_ {i = 1} ^ {q-1} u_i ^ T \ mathbf {S} u_i $. Selvfølgelig er ikke grunnlaget et unikt grunnlag for $ q $ -dimensjonalt rom. Du kan også generalisere det "konvekse kombinasjonsargumentet" du bruker for å gi et direkte bevis.
@NRH, Beklager at jeg bare har hatt en sjanse til å se på dette tilfeldig. Uttalelsen "* ... og ordne den slik at $ w_q $ er en enhetsvektor ortogonal til $ u_1, \ ldots, u_ {q − 1} $ ... *" synes for meg å være den samme gapet jeg henviste til til. I induksjonstrinnet, når du går fra $ n = 1 $ til $ n = 2 $, tvinger du en hekking av de lineære delområdene, mens selve problemet ikke direkte stiller dette kravet. (Selvfølgelig viser det seg fortsatt å være tilfelle.) Men det er sannsynlig at jeg bare savner et subtilt poeng du (allerede) har kommet med.
@cardinal, Jeg tvinger ikke hekking, bare ved hjelp av en dimensjonshensyn. Hvis vi har et $ q $ -dimensjonalt underområde, kan du alltid velge $ w_q $ i det rommet slik at det er ortogonalt til et $ (q-1) $ - dimensjonalt underområde. Deretter fyller du opp $ w $ -basen på den måten du vil.
@NRH, nå ser jeg hvor du skulle, og ja, jeg tror det fungerer. Hyggelig. Det er et par andre måter å løse dette jeg vet om, men de er i grunn litt forskjellige.
@NRH - Jeg har et [spørsmål] (http://stats.stackexchange.com/questions/163776/svd-from-matrix-formulation-to-objective-function) om svaret ditt, er det noen sjanse for at du kan ta ense?Takk så mye!
@NRH, Jeg har det samme spørsmålet som @cardinal ♦.du nevnte "..Hvis vi har et q-dimensjonalt underområde kan du alltid velge $ w_q $ i det rommet slik at det er ortogonalt til et $ (q − 1) $ - dimensjonalt underområde. Deretter fyller du opp $ w $ -grunnlag på hvilken som helst måte du vil ... ".Men jeg lurer på hvordan kan du bevise at etter arrangementet ditt (som gjør $ w_q $ til en enhetsvektor ortogonal til $ u_1, u_2, ..., u_ {q-1} $), $ w_1, w_2, ...,kan w_q $ fortsatt maksimere summen?Takk!
@cardinal, kan jeg vite hva er de "andre måtene" du kjenner for å bevise de nestende delområdene du nevnte?
JMS
2011-05-03 06:50:31 UTC
view on stackexchange narkive permalink

Se NIPALS ( wiki) for en algoritme som ikke eksplisitt bruker en matrisedekomponering. Jeg antar at det er det du mener når du sier at du vil unngå matrisealgebra, siden du virkelig ikke kan unngå matrisealgebra her :)



Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...