Dane wstrzymania i walidacja krzyżowa
Jednym z największych wyzwań w analityce predykcyjnej jest uzyskanie wiedzy o tym, jak wyuczony model będzie działać na nieznanych mu dotychczas danych. Innymi słowy, jak dobrze model nauczył się prawdziwych wzorców, zamiast po prostu zapamiętywać dane do uczenia. Dane wstrzymania i walidacja krzyżowa to skuteczne techniki, dzięki którym można się upewnić, czy model nie tylko zapamiętuje, ale też faktycznie uczy się uogólnionych wzorców.
Podczas konfiguracji eksperymentu można wybrać, czy dane do uczenia i dane wstrzymania mają być dzielone losowo, czy za pomocą specjalnej metody używanej do tworzenia modeli uwzględniających czas.
Testowanie modeli pod kątem zapamiętywania vs. uogólniania
Pytanie, jak dobrze model będzie działać w rzeczywistości, jest pytaniem o to, czy model zapamiętuje, czy uogólnia. Zapamiętywanie to zdolność do doskonałego pamiętania zdarzeń z przeszłości. Model, który zapamiętuje, może mieć wysokie wyniki podczas wstępnego uczenia, ale dokładność predykcyjna znacznie spadnie, gdy zostanie zastosowany do nowych danych. Zamiast tego potrzebujemy modelu, który uogólnia. Uogólnianie to umiejętność uczenia się i stosowania ogólnych wzorców. Ucząc się prawdziwych, szerszych wzorców z danych do uczenia, uogólniony model będzie w stanie dokonywać predykcji o tej samej jakości na nowych danych, z którymi wcześniej nie miał do czynienia.
Automatyczne wstrzymanie danych
Dane wstrzymania to dane, które są „ukrywane” przed modelem podczas jego uczenia, a następnie wykorzystywane do jego oceny. Stosowanie danych wstrzymania symuluje sposób, w jaki model będzie działał podczas przyszłych predykcji, generując wskaźniki dokładności w odniesieniu do danych, które nie były używane do uczenia. To tak, jakbyśmy zbudowali model, wdrożyli go i monitorowali jego predykcje w odniesieniu do tego, co faktycznie się zdarzyło, bez konieczności czekania na obserwację tych predykcji.
W Qlik AutoML dostępne są dwie metody wyboru danych wstrzymania: metoda domyślna i metoda oparta na czasie.
Domyślna metoda z wyborem danych wstrzymania
O ile nie zostanie włączone uczenie modelu z uwzględnieniem czasu, dane wstrzymania są wybierane losowo przed rozpoczęciem uczenia modelu.
Oparta na czasie metoda wyboru danych wstrzymania
W przypadku metody opartej na czasie cały zestaw danych do uczenia jest najpierw sortowany zgodnie z wybraną kolumną indeksu daty. Po sortowaniu dane wstrzymania są oddzielane od reszty danych do uczenia. Dane wsrzymania te zawierają najnowsze dane w odniesieniu do wybranego indeksu.
Metoda oparta na czasie jest używana do tworzenia modeli uwzględniających czas. Uczenie z uwzględnieniem czasu aktywuje się w sekcji Optymalizacja modelu na panelu konfiguracji eksperymentu. Więcej informacji zawiera temat Konfigurowanie eksperymentów.
Walidacja krzyżowa
Walidacja krzyżowa to proces, który sprawdza, jak dobrze model uczenia maszynowego może przewidywać przyszłe wartości dla danych, których jeszcze nie widział. W przypadku walidacji krzyżowej dane do uczenia dla modelu są dzielone na pewną liczbę segmentów, zwanych podzbiorami. Podczas każdej iteracji uczenia model jest uczony na jednym lub większej liczbie podzbiorów, przy czym co najmniej jeden z podzbiorów nie może być używany do uczenia. Po każdej iteracji oceniana jest wydajność przy użyciu jednego z podzbiorów, którego nie można było użyć do uczenia.
Wynikiem walidacji krzyżowej jest zestaw wskaźników testowych, które dają rozsądną prognozę tego, jak dokładnie wyuczony model będzie w stanie przewidywać dane, z którymi wcześniej nie miał do czynienia.
W Qlik AutoML dostępne są dwie metody walidacji krzyżowej: metoda domyślna i metoda oparta na czasie.
Domyślna walidacja krzyżowa
O ile nie skonfigurujesz szkolenia tak, aby korzystało z walidacji krzyżowej opartej na czasie, Qlik AutoML używa domyślnej metody walidacji krzyżowej. Domyślna metoda walidacji krzyżowej jest odpowiednia dla modeli, które nie opierają się na wymiarze szeregu czasowego — to znaczy, że model nie musi przewidywać z uwzględnieniem określonej kolumny czasowej w danych do uczenia.
W domyślnej metodzie walidacji krzyżowej zestaw danych jest losowo dzielony na pewną liczbę równych segmentów, zwanych podzbiorami. Algorytm uczenia maszynowego uczy model na wszystkich podzbiorach z wyjątkiem jednego. Walidacja krzyżowa następnie testuje każdy podzbiór na modelu nauczonym na wszystkich pozostałych podzbiorach. Oznacza to, że każdy wyuczony model jest testowany na segmencie danych, z którym nigdy wcześniej nie miał do czynienia. Proces jest powtarzany z ukrywaniem innego podzbioru podczas uczenia, a następnie testowaniem, aż wszystkie podzbiory zostaną użyte dokładnie raz jako test i wykorzystane do uczenia w co drugiej iteracji.
Automatyczne wstrzymanie i domyślna walidacja krzyżowa
W celu symulacji wydajności modelu AutoML domyślnie wykorzystuje pięciokrotną walidację krzyżową podczas jego uczenia. Model jest następnie testowany przy użyciu osobnych danych, wstrzymanych spośród danych do uczenia. Generuje to wskaźniki punktacji, które pozwalają ocenić i porównać skuteczność różnych algorytmów.
Przed rozpoczęciem uczenia eksperymentu wszystkie dane w zestawie danych, które mają wartość celu inną niż null, są losowo tasowane. Jako dane wstrzymania wyodrębnia się 20% z zestawu danych. Pozostałe 80% zestawu danych wykorzystuje się do uczenia modelu z walidacją krzyżową.
W celu przygotowania do walidacji krzyżowej zestaw danych jest losowo dzielony na pięć części — podzbiorów. Model jest następnie uczony pięć razy, i za każdym razem „ukrywa się” inną piątą część danych, aby sprawdzić skuteczność modelu. Podczas walidacji krzyżowej generowane są wskaźniki uczenia i stanowią one średnią z obliczonych wartości.
Po szkoleniu model jest stosowany do danych wstrzymania. Ponieważ model nie poznaje danych wstrzymania podczas uczenia (w przeciwieństwie do danych używanych do walidacji krzyżowej), dlatego nadają się idealnie do walidacji skuteczności modelu. Podczas tej końcowej oceny modelu są generowane wskaźniki danych wstrzymania.
Aby uzyskać więcej informacji na temat wskaźników używanych do analizowania wydajności modelu, zobacz Sprawdzanie modeli.
Walidacja krzyżowa oparta na czasie
Walidacja krzyżowa oparta na czasie jest odpowiednia do uczenia modelu w celu przewidywania danych według wymiaru szeregu czasowego. Na przykład chcesz przewidzieć wyniki sprzedaży swojej firmy za następny miesiąc, biorąc pod uwagę zestaw danych zawierający dane sprzedaży z przeszłości. Aby użyć walidacji krzyżowej opartej na czasie, w danych do uczenia musi znajdować się kolumna zawierająca informacje o dacie lub znaczniku czasu.
Walidacja krzyżowa oparta na czasie jest używana do tworzenia modeli uwzględniających czas. Uczenie z uwzględnieniem czasu aktywuje się w sekcji Optymalizacja modelu na panelu konfiguracji eksperymentu. Więcej informacji zawiera temat Konfigurowanie eksperymentów.
Dzięki walidacji krzyżowej opartej na czasie modele są uczone, aby lepiej rozumieć, że przewidują dane na przyszłość.
Podobnie jak metoda domyślna, walidacja krzyżowa oparta na czasie polega na rozdzieleniu danych szkoleniowych na podzbiory, które są używane zarówno do uczenia, jak i testowania. W obu metodach modele są również uczone w pewnej liczbie iteracji. Metoda oparta na czasie ma jednak kilka różnic w stosunku do metody domyślnej:
Dane do uczenia są sortowane oraz porządkowane w podzbiory zgodnie z wybranym indeksem dat. Natomiast domyślna walidacja krzyżowa losowo wybiera, które wiersze mają być uwzględnione w danym podzbiorze.
Liczba podzbiorów używanych jako dane do uczenia wzrasta stopniowo z każdą iteracją uczenia. Oznacza to, że podczas pierwszej iteracji może być używany tylko pierwszy (najstarszy) podzbiór, a kolejne iteracje stopniowo zawierają większą ilość danych do uczenia, w tym nowsze dane. Podzbiór używany jako dane testowe zmienia się w każdej iteracji.
Kontrastuje to z domyślną metodą walidacji krzyżowej, która wykorzystuje stałą ilość danych do podziału na uczenie i test w każdej iteracji (czyli cztery podzbiory do uczenia i jeden podzbiór do testowania).
Ponieważ cały zestaw danych do uczenia jest sortowany według wybranego indeksu, dane używane do testowania uczonego modelu są zawsze bardziej aktualne niż dane używane do uczenia modelu lub równie aktualne. Automatycznie wstrzymywane dane, które są używane do przeprowadzania ostatecznych testów wydajności modelu, są zawsze nowsze niż reszta zestawu danych do uczenia lub równie aktualne.
Domyślna walidacja krzyżowa może natomiast powodować testowanie modeli na danych, które są starsze niż dane do uczenia, co prowadzi do wycieku danych.
Automatyczne wstrzymanie i walidacja krzyżowa oparta na czasie
Ta procedura pokazuje, jak trenowane są modele uwzględniające czas. Proces ten ma różnice oraz podobieństwa w porównaniu do domyślnego procesu walidacji krzyżowej.
Wszystkie zestawy danych są sortowane zgodnie z wybranym indeksem danych. Uwzględnia to dane do uczenia oraz dane wstrzymania.
Przed rozpoczęciem uczenia eksperymentu jako dane wstrzymania wyodrębnia się 20% z zestawu danych. Te wstrzymane dane są bardziej aktualne niż reszta zestawu danych lub równie aktualne. Pozostałe 80% zestawu danych wykorzystuje się do uczenia modelu z walidacją krzyżową.
W celu przygotowania do walidacji krzyżowej posortowane dane do uczenia są dzielone na pewną liczbę podzbiorów. W odniesieniu do wybranego indeksu dat pierwszy podzbiór zawierałby najstarsze rekordy, a ostatni podzbiór zawierałby najnowsze rekordy.
Model jest następnie uczony w pięciu iteracjach. W każdej iteracji ilość danych do uczenia jest stopniowo zwiększana. Z każdą iteracją zwiększa się również aktualność zawartych danych do uczenia. Podczas walidacji krzyżowej generowane są wskaźniki uczenia i stanowią one średnią z obliczonych wartości.
Po szkoleniu model jest stosowany do danych wstrzymania. Ponieważ model nie poznaje danych wstrzymania podczas uczenia, dlatego nadają się one idealnie do walidacji skuteczności modelu. Podczas tej końcowej oceny modelu są generowane wskaźniki danych wstrzymania.