W jaki sposób walidacja krzyżowa rozwiązuje problem nadmiernego dopasowania?

34

Dlaczego procedura walidacji krzyżowej rozwiązuje problem nadmiernego dopasowania modelu?

użytkownik3269
źródło
4
Spójrz na dzieła Alaina Celisse . Jego praca, o ile czytam (zbyt mało, niestety) dotyczy zalet krzyżowej weryfikacji.
mpiktas,
@mpiktas Rzeczywiście, a jeden z jego artykułów został już zaproponowany do CVJC, mendeley.com/groups/999241/crossvalidated-journal-club/papers .
chl

Odpowiedzi:

23

W tej chwili nie mogę wymyślić wystarczająco jasnego wyjaśnienia, więc zostawię to komuś innemu; jednak walidacja krzyżowa nie rozwiązuje całkowicie problemu nadmiernego dopasowania przy wyborze modelu, po prostu go zmniejsza. Błąd weryfikacji krzyżowej nie różni się nieznacznie, szczególnie jeśli rozmiar zestawu danych jest niewielki; innymi słowy, otrzymujesz nieco inną wartość w zależności od konkretnej próbki danych, której używasz. Oznacza to, że jeśli masz wiele stopni swobody w wyborze modelu (np. Wiele funkcji, z których możesz wybrać mały podzbiór, wiele hiperparametrów do dostrojenia, wiele modeli do wyboru), możesz przesadzić z kryterium weryfikacji krzyżowej ponieważ model jest dostrojony w taki sposób, aby wykorzystywać tę losową odmianę, a nie w sposób, który naprawdę poprawia wydajność, i możesz skończyć z modelem, który działa słabo. Omówienie tego, patrzCawley and Talbot „O nadmiernym dopasowaniu w wyborze modelu i późniejszym odchyleniu w ocenie wyników”, JMLR, vol. 11, s. 2079–2107, 2010

Niestety walidacja krzyżowa najprawdopodobniej zawiedzie Cię, gdy masz mały zestaw danych, czyli właśnie wtedy, gdy najbardziej potrzebujesz walidacji krzyżowej. Zwróć uwagę, że k-krotna walidacja krzyżowa jest ogólnie bardziej niezawodna niż pomijalna walidacja krzyżowa, ponieważ ma mniejszą wariancję, ale może być droższa w obliczeniach dla niektórych modeli (dlatego właśnie LOOCV jest czasami używany do wyboru modelu, mimo że ma dużą wariancję).

Dikran Torbacz
źródło
1
Jedną z moich myśli było to, że krzyżowa walidacja to po prostu zastosowanie innego (domyślnego) modelu dla danych. Z pewnością możesz to pokazać za pomocą „kuzyna” CV, nieparametrycznego bootstrapu (opartego na modelu Dirichlet Process o parametrze stężenia 0).
probabilislogiczny
Ciekawy pomysł. Moim zdaniem (dla interesujących mnie modeli) rozdział na parametry i hiperparametry jest raczej obliczeniowy niż logiczny; hiper-parametry są nadal parametrami, które należy dopasować do danych, a to, że wykonanie tego pośrednio za pomocą weryfikacji krzyżowej tak naprawdę tego nie zmienia. W maju ostatniej pracy zbadałem dostrajanie, które zwykle są hiperparametrami modelu jądra, stosując kryterium szkolenia i dodając dodatkowy termin regularyzacji, aby uniknąć przekroczenia kryterium wyboru modelu (LOOCV) i działał całkiem dobrze.
Dikran Marsupial
1
Dlaczego k-fold CV jest droższy niż pominięcie? Moje doświadczenie (i moja intuicja) mówi inaczej. Ponieważ w k-fold CV wykonujemy testy k, gdziekolwiek w L1O, robimy testy N (>> k), i zwykle część treningowa trwa dłużej z powodu pewnej inwersji macierzy, więc czy L1O nie jest kosztowną opcją?
jeff
1
Pominięcie jednego może być wykonane (lub przybliżone) jako produkt uboczny dopasowania modelu do całego zestawu danych, przy bardzo niewielkich dodatkowych kosztach, dla szerokiej gamy modeli (np. Regresja liniowa). Przeredaguję odpowiedź, aby było to bardziej jasne.
Dikran Torbacz
Rozumiem to, że jest to k-krotnie CV - najlepsza, ale najdroższa pod względem obliczeniowym forma k-krotnie CV, gdzie k = rozmiar zestawu danych.
Daniel Winterstein
10

Moja odpowiedź jest bardziej intuicyjna niż rygorystyczna, ale może pomoże ...

Jak rozumiem, nadmierne dopasowanie jest wynikiem wyboru modelu opartego na szkoleniu i testowaniu z wykorzystaniem tych samych danych, przy czym masz elastyczny mechanizm dopasowywania: dopasowujesz swoją próbkę danych tak ściśle, że dopasowujesz hałas, wartości odstające i wszystkie inna wariancja.

Podział danych na zestaw szkoleniowy i testowy powstrzymuje cię przed zrobieniem tego. Ale podział statyczny nie wykorzystuje danych w sposób wydajny, a sam podział może być problemem. Weryfikacja krzyżowa utrzymuje przewagę polegającą na braku nagrody i dokładnego dopasowania do danych treningowych w ramach podziału testów szkoleniowych, a jednocześnie wykorzystuje dane, które posiadasz tak efektywnie, jak to możliwe (tzn. Wszystkie twoje dane są wykorzystywane jako dane treningowe i testowe, po prostu nie w tym samym przebiegu).

Jeśli masz elastyczny mechanizm dopasowania, musisz ograniczyć wybór modelu, aby nie sprzyjał „perfekcyjnemu”, ale jakoś skomplikowanemu dopasowaniu. Możesz to zrobić za pomocą AIC, BIC lub innej metody penalizacji, która bezpośrednio penalizuje złożoność dopasowania, lub możesz to zrobić za pomocą CV. (Lub możesz to zrobić za pomocą metody dopasowania, która nie jest zbyt elastyczna, co jest jednym z powodów, dla których modele liniowe są ładne).

Innym sposobem spojrzenia na to jest to, że uczenie się polega na uogólnianiu, a zbyt ciasne dopasowanie w pewnym sensie nie jest uogólniające. Zmieniając to, czego się uczysz i na czym jesteś testowany, generalizujesz lepiej niż gdybyś nauczył się tylko odpowiedzi na określony zestaw pytań.

Wayne
źródło
3

Z perspektywy bayesowskiej nie jestem pewien, czy krzyżowa walidacja robi coś, czego „właściwa” analiza bayesowska nie robi w przypadku porównywania modeli. Ale nie jestem w 100% pewien, że tak.

Wynika to z faktu, że jeśli porównujesz modele w sposób bayesowski, to zasadniczo już przeprowadzasz walidację krzyżową. Wynika to z tego, że szanse tylne modelu AM.ZA against model B MB, with data D and prior information I has the following form:

P(MA|D,I)P(MB|D,I)=P.(M.ZA|ja)P.(M.b|ja)×P.(re|M.ZA,ja)P.(re|M.b,ja)

I P.(re|M.ZA,ja) jest dany przez:

P.(re|M.ZA,ja)=P.(re,θZA|M.ZA,ja)reθZA=P.(θZA|M.ZA,ja)P.(re|M.ZA,θZA,ja)reθZA

Który nazywa się wcześniejszym rozkładem predykcyjnym. It basically says how well the model predicted the data that was actually observed, which is exactly what cross validation does, with the "prior" being replaced by the "training" model fitted, and the "data" being replace by the "testing" data. So if model B predicted the data better than model A, its posterior probability increases relative to model A. It seems from this that Bayes theorem will actually do cross validation using all the data, rather than a subset. However, I am not fully convinced of this - seems like we get something for nothing.

Inną fajną cechą tej metody jest to, że ma ona wbudowaną „brzytwę Occam'a”, podaną przez stosunek stałych normalizacji poprzednich rozkładów dla każdego modelu.

Jednak krzyżowa walidacja wydaje się cenna w przypadku przerażającego starego „czegoś innego” lub czegoś, co jest czasami nazywane „błędnym określeniem modelu”. Ciągle jestem rozdarty tym, czy to „coś innego” ma znaczenie, czy nie, bo wydaje się, że powinno to mieć znaczenie - ale pozostawia cię sparaliżowanym bez żadnego rozwiązania, kiedy to najwyraźniej ma znaczenie. Po prostu coś, co sprawi ci ból głowy, ale nic nie możesz na to poradzić - oprócz myślenia o tym, co to może być „coś innego” i wypróbowania go w swoim modelu (aby nie był już częścią „czegoś innego”) .

And further, cross validation is a way to actually do a Bayesian analysis when the integrals above are ridiculously hard. And cross validation "makes sense" to just about anyone - it is "mechanical" rather than "mathematical". So it is easy to understand what is going on. And it also seems to get your head to focus on the important part of models - making good predictions.

probabilityislogic
źródło
2
The model mispecification issue is the key. Bayesian methods (especially the "poor-mans" Bayes of evidence maximisation) can perform very poorly under model misspecification, whereas cross-validation seems to work pretty well almost all the time. The gain when the assumptions (priors) are "right" is generally much smaller than the penalty when they are "wrong", so cross-validation wins on average (as it makes almost no assumptions). It isn't nearly as intellectually satisfying though! ;o)
Dikran Marsupial
1
@dikran - interesting. I'm not so sure I agree with what you say though. So you say if the model is mispecified, then cross validation with that same model is better than using Bayes theorem? I would like to see an example of this.
probabilityislogic
@probabiltyislogic I don't think it is a particularly new observation, Rasmussen and Williams mention it on page 118 of their excellent Gaussian Process book (although it is essentially a reference to a similar comment in Grace Wahba's monograph on splines). Essentially the marginal likelihood is the probability of the data given the assumptions of the model, whereas the XVAL likelihood is an estimate of the probability of the data, regardless of the model assumptions, hence more reliable when the assumptions are not valid. A proper empirical study would be useful.
Dikran Marsupial
@probabilityislogic I should add that I like the Bayesian approach to model selection, but I almost always used cross-validation in practice simply because it generally gives results that are (statistically) as good as, or better than Bayesian approaches.
Dikran Marsupial
Cross validation selects models based solely on predictive performance; marginal likelihoods don't - they "account" for every dimension. In very high dimensional settings this matters - sometimes a lot. Say you've got a big predictor vector Xi and a 1 dimensional response yi. You need a model for Xi to do dimension reduction in a fully Bayesian way. So you specify a joint model as p(yi|Xi,θy)p(Xi|θX). The second term has a much bigger contribution to the likelihood, so if a model does well there and bites it on the prediction the marginal likelihood won't care.
JMS