Funkcja celu w głównej analizie składników (PCA) polega na minimalizowaniu błędu rekonstrukcji w normie L2 (patrz sekcja 2.12 tutaj . Inny pogląd stara się zmaksymalizować wariancję projekcji. Mamy też doskonały post tutaj: Jaka jest funkcja celu PCA ? ).
Moje pytanie brzmi: czy wypukła jest optymalizacja PCA? (Znalazłem tutaj kilka dyskusji , ale chciałbym, aby ktoś mógł dostarczyć dobry dowód tutaj na CV).
machine-learning
pca
optimization
convex
Haitao Du
źródło
źródło
Odpowiedzi:
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
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 × n ZA
(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′x x → λ x ( ∗ )
Każdy problem optymalizacji można abstrakcyjnie sformułować jako
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 ∈ X y∈ X 0 ≤ λ ≤ 1 λ x + ( 1 - λ ) y∈ X również . Geometrycznie: gdy dwa punkty końcowe kłamstwie Odcinek , cała kłamstwa segmentów w .X X
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 ∈ X y∈ X 0 ≤ λ ≤ 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+ c a ≤ 0.
Trudność z polega na tym, że jest sferą jednostkową , która zdecydowanie nie jest wypukła. X S n - 1 ⊂ R n( ∗ ) X S.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 < 1 x fDn={x∈ R n∣x′x≤1}(∗)λ = 1 / x′x---√> 1 fa ren= { x ∈ Rn∣ x′x ≤ 1 } Przeformułujmy zatem jako( ∗ )
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.n fa
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. Rn ZA
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. ZA x → 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.
Jeśli pozwolimy x y = P x fx = P′y być nowymi współrzędnymi (pociągając za sobą ), funkcja jestx y= P x fa
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 σ1 fa X fa jest zoptymalizowany, ponieważ obniża wszystkie wartości na granicy o tę samą wartość . Sugeruje to zbadanie funkcjifa σ1
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σ1 fa sol fa X
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′y P. y′y= x′x . (Jest to praktycznie definicja transformacji ortogonalnej.) Dlatego też, jeśli chodzi o współrzędne , można zapisaćx sol
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≥ σja ja sol sol x2)=x3)= ⋯ = xn= 0 x′x =1 x1= ± 1 y= 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 - 1 y′y= 1 f g σ1 f D n f gg f Dn f g .
źródło
Nie.
( jest normą Frobeniusa ). Wyprowadzenie patrz twierdzenie Eckarta-Younga .∥⋅∥F
Chociaż norma jest wypukła, zestaw, w którym jest ona zoptymalizowana, nie jest wypukły.
Wypukły złagodzenie problemu PCA nazywa Convex Niski ranking Zbliżanie
( to norma jądrowa . wypukła relaksacja rangi - podobnie jak to wypukła relaksacja liczby elementów niezerowych dla wektorów) ‖ ⋅ ‖ 1∥⋅∥∗ ∥⋅∥1
Szczegółowe informacje można znaleźć w Statystycznym uczeniu się ze sparsity , rozdział 6 (rozkład macierzy).
Jeśli interesują Cię bardziej ogólne problemy i ich związek z wypukłością, zobacz Uogólnione modele niskiej rangi .
źródło
Oświadczenie: poprzednie odpowiedzi całkiem dobrze wyjaśniają, w jaki sposób PCA w swoim oryginalnym sformułowaniu nie jest wypukła, ale można ją przekształcić w problem optymalizacji wypukłej. Moja odpowiedź jest przeznaczona tylko dla tych biednych dusz (takich jak ja), które nie są tak dobrze zaznajomione z żargonem Sfer Jednostkowych i SVD - co przy okazji warto wiedzieć.
Moim źródłem są notatki z wykładów prof. Tibshirani
Aby rozwiązać problem optymalizacji za pomocą wypukłych technik optymalizacji, istnieją dwa warunki wstępne.
Większość formulacji PCA wiąże się z ograniczeniem rangi matrycy.
źródło