Nie, zwykłe preparaty PCA nie są problemami wypukłymi. Ale można je przekształcić w wypukły problem optymalizacji.
Wgląd i radość z tego polega na śledzeniu i wizualizowaniu sekwencji transformacji, a nie tylko na uzyskiwaniu odpowiedzi: leży ona w podróży, a nie w miejscu docelowym. Główne kroki w tej podróży to
Uzyskaj proste wyrażenie dla funkcji celu.
Powiększ swoją domenę, która nie jest wypukła, do tej, która jest.
Zmodyfikuj cel, który nie jest wypukły, w taki, który w oczywisty sposób nie zmienia punktów, w których osiąga swoje optymalne wartości.
Jeśli będziesz uważnie obserwować, zobaczysz czające się mnożniki SVD i Lagrange'a - ale są one tylko pokazem pobocznym, które przyciągają uwagę i nie będę ich więcej komentował.
Standardowy preparat PCA maksymalizujący wariancję (lub przynajmniej jego kluczowy etap) to
Maksymalizuj f( x ) = x ′X przedmiotem X ′x = 1(*)
gdzie macierz jest symetryczną macierzą dodatnio-pół-skończoną zbudowaną z danych (zwykle jest to suma macierzy kwadratów i produktów, macierz kowariancji lub macierz korelacji).An × nZA
(Równolegle możemy próbować zmaksymalizować nieograniczony cel . To nie tylko jest nieprzyjemne wyrażenie - nie jest to już funkcja kwadratowa - ale wykresy specjalnych przypadków będą szybko pokazuję, że nie jest to również funkcja wypukła. Zazwyczaj obserwuje się, że funkcja ta jest niezmienna przy ponownym skalowaniu a następnie redukuje ją do sformułowania ograniczonego .)x → λ x ( ∗ )x′A x / x′xx → λ x( ∗ )
Każdy problem optymalizacji można abstrakcyjnie sformułować jako
Znajdź co najmniej jeden , dzięki czemu funkcja tak duża, jak to możliwe. f : X → Rx ∈ Xfa: X→ R
Przypomnij sobie, że problem optymalizacji jest wypukły, gdy ma dwie osobne właściwości:
Domeny jest wypukła. X⊂ Rn Można to sformułować na wiele sposobów. Jednym z nich jest to, że ilekroć i i , λ x + ( 1 - λ ) y ∈ X X y∈ X 0≤λ≤1 Xx ∈ Xy∈ X0 ≤ λ ≤ 1λ x + ( 1 - λ ) y∈ X również . Geometrycznie: gdy dwa punkty końcowe kłamstwie Odcinek , cała kłamstwa segmentów w .XX
Funkcja jest wypukła. fa x ∈ X y ∈ X 0 ≤ λ ≤ 1 f ( λ x + ( 1 - λ ) y ) ≥ λ f ( x ) + ( 1 - λ ) f ( y ) . X ¯ x y X f ( x , f ( x ) ) ( y , f ( y Można to również sformułować na wiele sposobów. Po pierwsze, za każdym razem, gdy i i ,(Potrzebowaliśmy wypukłości aby warunek ten miał jakikolwiek sens). Geometrycznie: ilekroć jest dowolnym segmentem linii w , wykres (ograniczony do tego segmentu) leży powyżej lub w segmencie łączącym i w .x ∈ Xy∈ X0 ≤ λ ≤ 1
fa( λ x + ( 1 - λ ) y) ≥ λ f( x ) + ( 1 - λ ) f( y) .
Xx y¯Xfa( x , f( x ) )R n + 1( y, f( y) )Rn + 1
Archetyp funkcji wypukłej jest lokalnie wszędzie paraboliczny z nie dodatnim współczynnikiem wiodącym: w dowolnym segmencie linii można go wyrazić w postaci zaa ≤ 0.y→ a y2)+ b y+ ca ≤ 0.
Trudność z polega na tym, że jest sferą jednostkową , która zdecydowanie nie jest wypukła. X S n - 1 ⊂ R n( ∗ )XS.n - 1⊂ Rn x λ f λ 2 0 < x ′ x < 1 x λ = 1 / √ Możemy jednak zmodyfikować ten problem, włączając mniejsze wektory. Dzieje się tak, ponieważ kiedy skalujemy współczynnik ,xλfa jest mnożone przez . Gdy , możemy skalować do długości jednostki, mnożąc ją przez , zwiększając tym samym ale pozostając w piłka jednostkowa .λ2)0 < x′x < 1xfDn={x∈ R n∣x′x≤1}(∗)λ = 1 / x′x---√> 1fa ren= { x ∈ Rn∣ x′x ≤ 1 } Przeformułujmy zatem jako( ∗ )
Maksymalizuj f( x ) = x ′X przedmiotem X ′x ≤ 1(**)
Jego domeną jest która wyraźnie jest wypukła, więc jesteśmy w połowie drogi. Pozostaje rozważyć wypukłość wykresu . fX= D.nfa
Dobry sposób na zastanowienie się nad problemem nawet jeśli nie zamierzasz wykonywać odpowiednich obliczeń - jest pod względem twierdzenia spektralnego. ( ∗ ∗ ) Mówi, że za pomocą transformacji ortogonalnejmożna znaleźć co najmniej jedną podstawęw którejjest przekątna: to znaczy,R n AP.RnZA
A = P′Σ P.
gdzie wszystkie wpisy o przekątnej poniżej P A x → x ′ A xΣ są zerowe. Taki wybór można sobie wyobrazić, że w ogóle nie zmienia nic w , a jedynie zmienia sposób jego opisu : po obróceniu punktu widzenia, osie poziomu hiperpowierzchni funkcji (które zawsze były elipsoidami) wyrównane z osiami współrzędnych.P.ZAx → x′A x
Od Σ P σ 1 ≥ σ 2 ≥ ⋯ ≥ σ n ≥ 0.ZA jest dodatnio-pół-skończony, wszystkie wpisy po przekątnej muszą być nieujemne. Σ Możemy dalej permutować osie (co jest po prostu kolejną transformacją ortogonalną, a zatem może zostać wchłonięte do ), aby zapewnić, żeP.
σ1≥ σ2)≥ ⋯ ≥ σn≥ 0.
Jeśli pozwolimy x y = P x fx = P′y być nowymi współrzędnymi (pociągając za sobą ), funkcja jestxy= P xfa
fa( y) = y′ZA y=x′P.′A P x= x′Σ x = σ1x2)1+ σ2)x2)2)+ ⋯ + σnx2)n.
Ta funkcja zdecydowanie nie jest wypukła! Jego wykres wygląda jak część hiperparaboloidu: w każdym punkcie wnętrzaσ iX fakt, że wszystkie są nieujemne, powoduje, że zwija się on w górę, a nie w dół . σja
Jednak możemy włączyć do wypukłej problem z jednym bardzo przydatna technika. ( ∗ ∗ ) Wiedząc, że maksimum wystąpi, gdy , odejmijmy stałą od , przynajmniej dla punktów na granicy . To nie zmieni lokalizacji żadnych punktów na granicy, w którychσ 1 f X f f σ 1x′x = 1σ1faXfa jest zoptymalizowany, ponieważ obniża wszystkie wartości na granicy o tę samą wartość . Sugeruje to zbadanie funkcjifaσ1
sol(y) = f(y) - σ1y′y.
To faktycznie odejmuje stałą od w punktach granicznych i odejmuje mniejsze wartości w punktach wewnętrznych. Zapewni to, że , w porównaniu z , ma nową globalną maksima na wnętrze . f g f Xσ1fasolfaX
Sprawdźmy, co się stało z tym sztuczką polegającą na zastąpieniu przez . Ponieważ jest ortogonalny, - σ 1 y ′ y P y ′ y = x ′ x x g- σ1- σ1y′yP.y′y= x′x . (Jest to praktycznie definicja transformacji ortogonalnej.) Dlatego też, jeśli chodzi o współrzędne , można zapisaćxsol
sol( y) = σ1x2)1+ ⋯ + σnx2)n- σ1( x2)1+ ⋯ + x2)n) = ( σ2)- σ1) x2)2)+ ⋯ + ( σn- σ1) x2)n.
Ponieważ dla wszystkich , każdy ze współczynników jest zerowy lub ujemny. W konsekwencji (a) jest wypukły, a (b) jest zoptymalizowany, gdy . ( następnie implikuje a optymalne osiąga się, kiedy i g g x 2 = x 3 = ⋯ = x n = 0 x ′ x = 1 x 1 = ± 1 y = P ( ± 1 , 0 , … , 0 ) ′ Pσ1≥ σjajasolsolx2)=x3)= ⋯ = xn= 0x′x =1x1= ± 1y= P ( ± 1 , 0 , … , 0 )′ , czyli - do znak - pierwsza kolumna )P.
Podsumujmy logikę. Ponieważ jest zoptymalizowane na granicy gdzie , ponieważ różni się od jedynie stałą na tej granicy i ponieważ wartości są jeszcze bliższe wartościom we wnętrzu , maksima muszą pokrywać się z maksimami∂ D n = S n - 1 y ′ y = 1 f g σ 1sol∂ren= Sn - 1y′y= 1fgσ1f D n f ggfDnfg .