Czy współczynnik błędów jest funkcją wypukłą parametru regulowania lambda?

11

Wybierając parametr regulowania lambda w Ridge lub Lasso, zalecaną metodą jest wypróbowanie różnych wartości lambda, zmierzenie błędu w zbiorze walidacyjnym i wybranie wartości lambda, która zwraca najmniejszy błąd.

Nie jest dla mnie kłamstwem, jeśli funkcja f (lambda) = error jest wypukła. Czy może tak być? To znaczy, że ta krzywa może mieć więcej niż jeden lokalny minim (co oznaczałoby, że znalezienie minimum błędu w pewnym regionie lambda nie wyklucza możliwości, że w innym regionie lambda zwraca jeszcze mniejszy błąd)

wprowadź opis zdjęcia tutaj

Twoja rada będzie mile widziana.

rf7
źródło

Odpowiedzi:

11

Pierwotne pytanie brzmiało, czy funkcja błędu musi być wypukła. Nie. Przedstawiona poniżej analiza ma na celu zapewnienie wglądu i intuicji na temat tego i zmodyfikowanego pytania, które pyta, czy funkcja błędu może mieć wiele lokalnych minimów.

Intuicyjnie między danymi a zestawem treningowym nie musi istnieć żadna matematycznie niezbędna zależność. Powinniśmy być w stanie znaleźć dane treningowe, dla których model początkowo jest słaby, poprawia się z pewną regularyzacją, a następnie znów się pogarsza. Krzywa błędu nie może być w tym przypadku wypukła - przynajmniej nie, jeśli zmienimy parametr regularyzacji w zakresie od do .0

Pamiętaj, że wypukłe nie jest równoznaczne z posiadaniem unikalnego minimum! Jednak podobne pomysły sugerują, że możliwe jest uzyskanie wielu lokalnych minimów: podczas regulacji najpierw dopasowany model może ulec poprawie w przypadku niektórych danych treningowych, ale nie zmienia się znacząco w przypadku innych danych treningowych, a następnie poprawi się w przypadku innych danych treningowych itp. Odpowiedni połączenie takich danych szkoleniowych powinno dać wiele lokalnych minimów. Aby uprościć analizę, nie zamierzam tego pokazywać.

Edytuj (aby odpowiedzieć na zmienione pytanie)

Byłem tak pewny przedstawionej poniżej analizy i stojącej za nią intuicji, że postanowiłem znaleźć przykład w najokrutniejszy możliwy sposób: wygenerowałem małe losowe zestawy danych, uruchomiłem na nich Lasso, obliczyłem całkowity błąd kwadratowy dla małego zestawu treningowego, i wykreślił krzywą błędów. Kilka prób dało jeden z dwoma minimami, które opiszę. Wektory mają postać dla cech x 1 i x 2 oraz odpowiedzi y .(x1,x2,y)x1x2y

Dane treningowe

(1,1,0.1), (2,1,0.8), (1,2,1.2), (2,2,0.9)

Dane testowe

(1,1,0.2), (1,2,0.4)

glmnet::glmmetRλ1/λ

Krzywa błędu z wieloma lokalnymi minimami

Postać


Analiza

β=(β1,,βp)xiyi

  1. λ[0,)λ=0

  2. β^λβ^

  3. λβ^0

  4. xβ^0y^(x)=f(x,β^)0

  5. yy^L(y,y^)|y^y|L(|y^y|)

(4)

β^(0)(x0,y0)f(x0,β^(0))0x0y0=f(x0,β^(0))/2

e:λL(y0,f(x0,β^(λ))

  1. e(0)=L(y0,f(x0,β^(0))=L(y0,2y0)=L(|y0|)y0

  2. limλe(λ)=L(y0,0)=L(|y0|)λβ^(λ)0y^(x0)0

Zatem jego wykres w sposób ciągły łączy dwa równie wysokie (i skończone) punkty końcowe.

Rysunek przedstawiający możliwy wykres $ e $.

Jakościowo istnieją trzy możliwości:

  • Prognozy dla zestawu treningowego nigdy się nie zmieniają. Jest to mało prawdopodobne - prawie każdy wybrany przykład nie będzie miał tej właściwości.

  • Niektóre prognozy pośrednie dla są gorsze niż na początku lub w granicy . Ta funkcja nie może być wypukła.0<λ<λ=0λ

  • Wszystkie prognozy pośrednie mieszczą się w przedziale od do 2 . Ciągłość oznacza, że ​​będzie co najmniej jedno minimum , w pobliżu którego musi być wypukłe. Ale ponieważ zbliża się do skończonej stałej asymptotycznie, nie może być wypukła dla wystarczająco dużej .02y0eee(λ)λ

Pionowa linia przerywana na rysunku pokazuje, gdzie wykres zmienia się z wypukłego (po lewej) na niewypukły (po prawej). (Istnieje również region niewypukłości w pobliżu na tej figurze, ale niekoniecznie tak będzie w ogóle.)λ0

Whuber
źródło
Dziękuję za twoją wyszukaną odpowiedź. Jeśli to możliwe, przejrzyj edytowane pytanie i zaktualizuj swoją odpowiedź.
rf7,
Świetna odpowiedź (+1). W praktyce myślę, że często nie ma tak niewielu punktów danych szkoleniowych i testowych. Czy wniosek tej odpowiedzi zmienia się, gdy jest wystarczająca liczba punktów danych szkoleniowych i testowych zaczerpniętych z tego samego (stałego i wystarczająco regularnego) rozkładu? W szczególności, czy w tym scenariuszu istnieje unikalne lokalne minimum o wysokim prawdopodobieństwie?
user795305
@Ben Nie liczy się liczba punktów testowych: wynik zależy wyłącznie od rozkładu punktów testowych w stosunku do rozmieszczenia punktów treningowych. Dlatego kwestia „z dużym prawdopodobieństwem” nie będzie możliwa bez pewnych konkretnych założeń dotyczących wielowymiarowego rozkładu zmiennych regresora. Ponadto, przy wielu zmiennych, zjawisko wielu lokalnych minimów będzie znacznie bardziej prawdopodobne. I podejrzewam, że losowy wybór dużego zestawu testowego (z wiele razy tyle obserwacje jak zmienne) mogą często mieć unikalną globalną min.
whuber
1
@whuber Thanks! Zgadzam się: (prawdziwa) dystrybucja między punktami treningowymi a testowymi powinna być taka sama i musi istnieć wystarczająca ilość próbek, aby rozkłady empiryczne zestawu szkoleniowego i testowego były zgodne. (Wydaje się, że źle to sformułowałem w moim wcześniejszym komentarzu.) Na przykład, jeśli ma wspólnie normalny rozkład (z kowariancją niedegenerowaną), podejrzewam, że prawdopodobieństwo wystąpienia krzywej błędu o unikalnej lokalnej wartości minimalnej jest zbieżne z 1 (w przypadku, na przykład, jest próbki w treningu i zbiór testowy z z stałe (lub nawet wzrasta powoli, w stosunku do ))n n p n(x,y)nnpn
user795305
0

Ta odpowiedź dotyczy w szczególności lasso (i nie dotyczy regresji grzbietu).

Ustawiać

Załóżmy, że mamy zmienne , których używamy do modelowania odpowiedzi. Załóżmy, że mamy punktów danych treningowych i punktów danych walidacyjnych.n mpnm

Niech wejściem szkolenia będzie a odpowiedzią będzie . Użyjemy lasso na tych danych treningowych. To znaczy, włóż rodzina współczynników oszacowana na podstawie danych treningowych. Wybierzemy, który być używany jako nasz estymator na podstawie jego błędu w zestawie sprawdzania poprawności, z wejściem i odpowiedzią . ZX(1)Rn×py(1)Rn

(1)β^λ=argminβRpy(1)X(1)β22+λβ1,
β^λX(2)Rm×py(2)Rm
(2)λ^=argminλR+y(2)X(2)β^λ22,
jesteśmy zainteresowani badaniem funkcji błędu która daje podstawę do naszego estymatora opartego na danych .e(λ)=y(2)X(2)β^λ22β^λ^

Obliczenie

Teraz będzie obliczyć drugą pochodną celem określonym w równaniu , bez żadnych dystrybucyjne założenia na „S lub ” y. Używając różnicowania i pewnej reorganizacji, (formalnie) obliczamy, że (2)Xy

2λ2y(2)X(2)β^λ22=λ{2y(2)TX(2)λβ^λ+2β^λTX(2)TX(2)λβ^λ}=2y(2)TX(2)2λ2β^λ+2(β^λ)TX(2)TX(2)2λ2β^λ+2λβ^λTX(2)TX(2)Tλβ^λ=2{(y(2)X(2)β^λ)T2λ2β^λX(2)λβ^λ22}.
Ponieważ jest liniowo dla (ponieważ jest skończonym zestawem węzłów na ścieżce rozwiązania lasso), pochodna jest częściowo stała, a wynosi zero dla wszystkich . Dlatego nieujemna funkcja .β^λλKKλβ^λ2λ2β^λλK
2λ2y(2)X(2)β^λ22=2X(2)λβ^λ22,
λ

Wniosek

Jeśli przyjmiemy dalej, że jest pobierane z jakiegoś ciągłego rozkładu niezależnego od , wektor prawie na pewno dla . Dlatego funkcja błędu ma drugą pochodną na która jest (prawie na pewno) ściśle dodatnia. Jednak wiedząc, że jest ciągły, wiemy, że błąd sprawdzania poprawności jest ciągły.X(2){X(1),y(1)}X(2)λβ^λ0λ<λmaxe(λ)RKβ^λe(λ)

Wreszcie z lasso dual wiemy, że zmniejsza się monotonicznie wraz ze wzrostem . Jeśli uda nam się ustalić, że jest również monotoniczny, to następuje silna wypukłość . Jest to jednak prawdopodobne, że zbliża się do jednego, jeśli . (Wkrótce uzupełnię informacje tutaj.)X(1)β^λ22λX(2)β^λ22e(λ)L(X(1))=L(X(2))

użytkownik795305
źródło
1
Możesz polegać tylko na tym, że jest ciągłą, liniową, częściową funkcją aby stwierdzić, że jest ściśle wypukły. Zobaczmy, czy to odliczenie jest ogólnie ważne. Jedną z takich funkcji jest(gdzie oznacza zaokrąglenie do najbliższej liczby całkowitej). Załóżmy, że i , aby . Ta funkcja błędu ma nieskończenie wiele lokalnych minimów. Nie jest wypukły - jest wypukły wszędzie, z wyjątkiem pojedynczych punktów! To prowadzi mnie do przekonania, że ​​przyjmujesz dodatkowe niepotwierdzone założenia. β^λe^β^(λ)=|λ[λ]|[]y(2)=0X(2)=1e^(λ)=β^(λ)2
Whuber
@whuber Dobra uwaga! Dzięki! Niedługo będę edytować ten post.
user795305