Wyciek (uczenie maszynowe)
Część serii poświęconej |
uczeniu maszynowemu i eksploracji danych |
---|
W statystyce i uczeniu maszynowym wyciek (znany również jako wyciek danych lub wyciek celu ) to wykorzystanie informacji w procesie uczenia modelu, które nie byłyby dostępne w czasie przewidywania , powodując przeszacowanie wyników predykcyjnych (metryk) modelu narzędzie, gdy jest uruchamiane w środowisku produkcyjnym.
Wyciek jest często subtelny i pośredni, co utrudnia jego wykrycie i wyeliminowanie. Wyciek może spowodować, że statystyk lub modelarz wybierze model nieoptymalny, który może być lepszy od modelu wolnego od wycieków.
Tryby wycieku
Wyciek może wystąpić na wielu etapach procesu uczenia maszynowego. Przyczyny wycieków można podzielić na dwa możliwe źródła wycieków dla modelu: cechy i przykłady szkoleniowe.
Wyciek funkcji
Wyciek funkcji lub kolumny jest spowodowany włączeniem kolumn, które są jednym z następujących: zduplikowana etykieta, proxy dla etykiety lub sama etykieta. Te funkcje, znane jako anachronizmy, nie będą dostępne, gdy model jest używany do predykcji, i spowodują wyciek, jeśli zostaną uwzględnione podczas uczenia modelu.
Na przykład uwzględnienie kolumny „Wynagrodzenie miesięczne” podczas przewidywania „Wynagrodzenie roczne”; lub „MinutesLate” podczas przewidywania „IsLate”; lub bardziej subtelnie „NumOfLatePayments” podczas przewidywania „ShouldGiveLoan”.
Przykładowy wyciek szkoleniowy
Wyciek w wierszach jest spowodowany niewłaściwym udostępnianiem informacji między wierszami danych. Rodzaje wycieków rzędowych obejmują:
- Przedwczesna feturyzacja ; wyciek z przedwczesnej featuryzacji przed CV /Train/Test (musi pasować do MinMax/ngrams/etc tylko na podziale pociągu, a następnie przekształć zestaw testowy)
- Zduplikowane wiersze między pociągiem/walidacją/testem (np. nadpróbkowanie zbioru danych w celu wypełnienia jego rozmiaru przed podziałem; np. różne obroty/powiększenia pojedynczego obrazu; próbkowanie metodą bootstrap przed podziałem; lub duplikowanie wierszy w celu zwiększenia próby klasy mniejszościowej)
-
Dane inne niż iid
- Wyciek w czasie (np. losowe dzielenie zestawu danych szeregów czasowych zamiast nowszych danych w zbiorze testowym przy użyciu podziału TrainTest lub walidacji krzyżowej typu „rolling-origin”)
- Wyciek grupowy – nie uwzględniając podzielonej kolumny grupowania (np. grupa Andrew Ng miała 100 tys. ten sam podział. Dlatego model częściowo zapamiętywał pacjentów, zamiast uczyć się rozpoznawać zapalenie płuc na zdjęciach rentgenowskich klatki piersiowej).
W przypadku zbiorów danych zależnych od czasu struktura badanego systemu ewoluuje w czasie (tzn. jest „niestacjonarna”). Może to wprowadzić systematyczne różnice między zbiorami uczącymi i walidacyjnymi. Na przykład, jeśli model do przewidywania wartości zapasów jest szkolony na danych z określonego pięcioletniego okresu, nierealistyczne jest traktowanie kolejnego pięcioletniego okresu jako losowania z tej samej populacji. Jako inny przykład załóżmy, że opracowano model do przewidywania indywidualnego ryzyka zdiagnozowania określonej choroby w ciągu następnego roku.