Po pierwsze, przepraszam za opublikowanie pytania, które zostało już obszernie omówione tutaj , tutaj , tutaj , tutaj , tutaji do odtworzenia starego tematu. Wiem, że @DikranMarsupial pisał na ten temat obszernie w postach i gazetach, ale nadal jestem zdezorientowany i sądząc po liczbie podobnych postów tutaj, wciąż jest to coś, co inni mają trudności z uchwyceniem. Powinienem również stwierdzić, że spotkałem się ze sprzecznością w tym temacie, co spowodowało moje zamieszanie. Powinieneś także wiedzieć, że pierwotnie jestem fizykiem, a nie statystykiem, więc moja wiedza specjalistyczna w tej dziedzinie jest nieco ograniczona. Piszę artykuł w czasopiśmie, w którym chcę użyć zagnieżdżonego CV, aby oszacować wydajność, której mogę oczekiwać od mojego ostatecznego modelu. W mojej domenie jest to pierwszy raz. (Prawie nigdy nie używamy żadnychforma solidnego CV w mojej dziedzinie, ale wesoło wypompowuję dokumenty z wynikami badań z wykorzystaniem sieci neuronowych i wzmocnionych drzew decyzyjnych!) Dlatego bardzo ważne jest, że mam bardzo dokładne i jasne zrozumienie, aby nie popsuć i nie propagować błędna procedura dla mojej społeczności, która mogłaby się nauczyć lat! Dzięki! Dalej z pytaniem ...
Jak zbudować ostateczny model po zagnieżdżonej weryfikacji krzyżowej?
Uczę prostego modelu glmnet z regularyzacją L1 i L2. Jest szybki, prosty i możliwy do interpretacji. Przeprowadzam centrowanie cech, skalowanie i transformacje Box-Coxa, tak aby rozkłady cech były wyśrodkowane na środkach, wystandaryzowane i nieco podobne do gaussowskich. Wykonuję ten krok w ramach weryfikacji krzyżowej, aby zapobiec wyciekom informacji. Wyłącznie dlatego, że mój sprzęt jest niewiarygodnie wolny i nie mam dostępu do większej mocy procesora, dokonuję również szybkiego wyboru funkcji opartych na filtrach w CV po wstępnym przetwarzaniu funkcji. Używam losowego wyszukiwania siatki, aby wybrać hiperparametry alfa i lambda. Rozumiem, że nie powinienemPętla CV, aby uzyskać ten szacunek. Rozumiem, że wewnętrzna pętla CV jest używana do wyboru modelu (w tym przypadku optymalne hiperparametry) i że zewnętrzna pętla jest używana do oceny modelu , tj. Wewnętrzne i zewnętrzne CV służą dwóm różnym celom, które często są błędnie zlewane. (Jak sobie radzę?)
Teraz linki, które opublikowałem, sugerują, że „sposobem na myślenie o walidacji krzyżowej jest oszacowanie wydajności uzyskanej przy użyciu metody budowy modelu, a nie oszacowanie wydajności modelu”. Biorąc to pod uwagę, jak mam interpretować wyniki procedury zagnieżdżonego CV?
Porada, którą przeczytałem, wydaje się wskazywać na następujące - popraw mnie, jeśli jest to nieprawidłowe: wewnętrzne CV jest częścią mechanizmu, który pozwala mi wybrać optymalne hiperparametry alfa i lambda mojego modelu glmnet. Zewnętrzne CV podaje oszacowanie, którego mogę się spodziewać po ostatecznym modelu, jeśli zastosuję procedurę dokładnie taką, jak w wewnętrznym CV, w tym dostrajanie hiperparametrów i wykorzystanie całego zestawu danych do zbudowania ostatecznego modelu. Oznacza to, że dostrajanie hiperparametrów jest częścią „metody budowania modelu”. Czy to jest poprawne czy nie? Ponieważ to mnie dezorientuje. Gdzie indziej widziałem, że procedura budowy ostatecznego modelu, który ma zostać wdrożony, obejmuje szkolenie całego zestawu danych przy użyciu ustalonych wartościhiperparametrów wybranych za pomocą CV. W tym przypadku „metoda budowania modelu” nie obejmuje strojenia. Więc co to jest? W pewnym momencie optymalne hiperparametry są wybierane i ustalane do budowy ostatecznego modelu! Gdzie? W jaki sposób? Jeśli moja wewnętrzna pętla jest 5-krotnym CV, a moja zewnętrzna pętla jest 5-krotnym CV i wybieram, powiedzmy, 100 punktów do testowania w ramach losowego wyszukiwania siatki w wewnętrznym CV, ile razy faktycznie trenuję glmnet Model? (100 * 5 * 5) + 1 dla ostatecznej wersji, czy jest więcej kroków, których nie jestem świadomy?
Zasadniczo potrzebuję bardzo jasnego opisu, jak interpretować oszacowanie wydajności z zagnieżdżonego CV i jak zbudować ostateczny model.
Chciałbym również znać odpowiednią procedurę wyboru progu prawdopodobieństwa dla konwersji wyników prawdopodobieństwa z mojego ostatecznego modelu glmnet na (binarne) etykiety klas --- czy potrzebna jest kolejna pętla CV?