2012-05-03 15 views
24

Zawsze myślałem od tego, co czytałem, że krzyż walidacja odbywa się to tak:walidacji krzyżowej w Weka

w K-krotnie krzyżowej walidacji, oryginalna próbka jest losowo podzielony na k mniejsze próbki. Z podpróbek k, pojedyncza podpróbka zostaje zachowana jako dane walidacyjne do testowania modelu, a pozostałe podpróbki K-1 są używane jako dane treningowe. Proces sprawdzania krzyżowego jest następnie powtarzany k razy (fałdy), przy czym każda z podpróbek k jest używana dokładnie raz jako dane walidacyjne. W Wyniki K z fałdami następnie mogą być uśrednione (lub inaczej połączone) do wytworzenia pojedynczej oszacowanie

Więc k modele są zbudowane, a ostatni z nich jest średnią z tych. W przewodniku Weka jest napisane, że każdy model jest zawsze zbudowany przy użyciu WSZYSTKIEGO zestawu danych. Jak działa weryfikacja krzyżowa w Weka? Czy model jest zbudowany na podstawie wszystkich danych, a "walidacja krzyżowa" oznacza, że ​​k fałd jest tworzony, a następnie kada jest oceniana na nim, a ostateczne wyniki wyjściowe są po prostu uśrednione z fałd?

Odpowiedz

44

Tak, tutaj jest scenariusz ponownie: masz 100 oznakowanych dane

Zastosowanie szkolenie ustawić

  • WEKA weźmie 100 znakowane dane
  • będzie stosować algorytm zbudować klasyfikator z tych 100 danych
  • odnosi się do klasyfikatora AGAIN na tych 100 danych
  • zapewnia Państwu wykonanie klasyfikatora (stosowane do tych samych 100 danych, z których było rozwinięte)

Zastosowanie 10-krotnie CV

  • Weka trwa 100 znakowane dane

  • produkuje 10 zestawów o równej wielkości. Każdy zestaw jest podzielony na dwie grupy: 90 etykietowanych danych służy do szkolenia, a 10 oznaczonych danych służy do testowania.

  • tworzy klasyfikator z algorytmem z 90 etykietowanych danych i stosuje go do 10 danych testowych dla zestawu 1.

  • robi to samo dla zestawu 2 do 10 i produkuje 9 więcej klasyfikatorów

  • IT średnie wydajność 10 klasyfikatorów wyprodukowanych od 10 równej wielkości (90 szkoleń i 10 testów) Ustala

Daj mi znać, jeśli to odpowie na twoje pytanie.

+1

Mam 2 pytania: 1) Jeśli jest tak, jak powiedziałeś, dlaczego w Przewodniku Weka jest napisane, że w każdym przypadku (zestaw treningowy i CV) model jest zawsze zbudowany na podstawie wszystkich danych? Jak pisałeś w CV, ostateczny model jest średnią z pozostałych 10 modeli, prawda?2) Jeśli "Model, który otrzymasz w tym momencie, jest średnią ze wszystkich 10 modeli", jak to możliwe, że używając zestawu treningowego i CV jako walidacji mam te same modele? (Mam nadzieję, że te pytania nie wydają się zbyt głupie!). –

+0

1. Oznacza to, że dla każdego złożenia bierze się pod uwagę cały zestaw danych. Istnieją pewne wariacje tego standardowego CV, w którym część zbiorów danych jest przechowywana dla osobnego testu. 2. Co dokładnie rozumiesz przez "zdobywanie tych samych modeli"? –

+0

Dla "tych samych modeli" mam na myśli to, że na wyjściu mam dokładnie to samo drzewo –

1

Weka podąża za tradycyjnym krotnym potwierdzeniem krzyżowym, o którym tu wspomniano. Masz pełny zestaw danych, a następnie podziel go na k nosów równych zbiorów (k1, k2, ..., k10 na przykład dla 10-krotnego CV) bez nakładania się. Następnie przy pierwszym uruchomieniu, weź k1 do k9 jako zestaw treningowy i opracuj model. Użyj tego modelu na k10, aby uzyskać wydajność. Następnie przychodzi k1 do k8 i k10 jako zestaw treningowy. Opracuj z nich model i zastosuj go do k9, aby uzyskać wydajność. W ten sposób wykorzystaj wszystkie fałdy, w których każdy zakładany co najwyżej jeden raz jest używany jako zestaw testowy.

Następnie Weka uśrednia wyniki i prezentuje je na panelu wyjściowym.

+2

OK, ale w jaki sposób powstaje ostateczny model? Czy średnia z 10 modeli opiera się na CV? Jeśli tak, co to znaczy: czy zawsze jest zbudowany przy użyciu WSZYSTKIEGO zestawu danych? –

+0

Jeśli wybierzesz 10-krotne sprawdzanie poprawności na karcie klasyfikowania w eksploratorze Weka, to otrzymasz model, który uzyskasz z 10 rozdaniami 9-1. Nie będziesz mieć 10 indywidualnych modeli, ale 1 pojedynczy model. I tak, dostajesz to od Weka (nie szczególnie Weka, to dotyczy ogólnej 10-krotnej teorii CV), ponieważ przebiega przez cały zbiór danych. –

+0

Przykro mi, ale nie mogę w ogóle zrozumieć ... Więc jaka jest różnica między wyborem "Użyj zestawu treningowego" i "Walidacja krzyżowa" w odniesieniu do modelu? Ostateczny model jest taki sam! –

5

Myślę, że to wymyśliłem. Weź (na przykład) weka.classifiers.rules.OneR -x 10 -d outmodel.xxx. To robi dwie rzeczy:

  1. Tworzy model oparty na pełnym zestawie danych. Jest to model napisany pod numerem outmodel.xxx. Ten model jest nie używany jako część sprawdzania poprawności krzyżowej.
  2. Następnie uruchamiana jest walidacja krzyżowa. Sprawdzanie krzyżowe polega na stworzeniu (w tym przypadku) 10 nowych modeli ze szkoleniem i testowaniem na segmentach danych, jak opisano. Kluczem jest to, że modele używane w walidacji krzyżowej są tymczasowe i używane tylko do generowania statystyk. Nie są one równoważne lub używane dla modelu podanego użytkownikowi.
+1

Ale jaki jest cel krzyżowej walidacji? Jeśli ostateczny model podany użytkownikowi opiera się na pełnym zestawie danych, dlaczego potrzebujemy sprawdzania krzyżowego? Myślę, że walidacja krzyżowa polega na znalezieniu najlepszego modelu. – lenhhoxung

6

bym odpowiedział w komentarzu, ale moja reputacja nadal nie pozwala mi:

Oprócz Rushdi zaakceptowany odpowiedź, chcę podkreślić, że modele, które są tworzone w przekroju walidacji zestawy fałd są odrzucane po wykonaniu pomiarów wydajności i uśrednione.

Wynikowy model to zawsze w oparciu o pełny zestaw treningowy, niezależnie od opcji testowych. Ponieważ M-T-A prosi o aktualizację cytowanego linku, oto: http://list.waikato.ac.nz/pipermail/wekalist/2009-December/046633.html. To odpowiedź od jednego z opiekunów WEKA, wskazując na to, co napisałem.

+0

Czy wiesz, czy istnieje sposób, aby zobaczyć modele stworzone do sprawdzania poprawności krzyżowej? – drevicko

+0

tak: zobacz posty na liście mailingowej weka [tutaj] (http://list.waikato.ac.nz/pipermail/wekalist/2015-July/064572.html) i [tutaj] (http: //list.waikato .ac.nz/pipermail/wekalist/2011-November/053965.html) – drevicko

+2

Ale jaki jest cel krzyżowej walidacji? Jeśli ostateczny model podany użytkownikowi opiera się na pełnym zestawie danych, dlaczego potrzebujemy sprawdzania krzyżowego? Uważam, że walidacja krzyżowa polega na znalezieniu najlepszego modelu. – lenhhoxung