Jak się dowiedzieć, że problem uczenia maszynowego jest beznadziejny?

207

Wyobraź sobie standardowy scenariusz uczenia maszynowego:

Masz do czynienia z dużym, wielowymiarowym zestawem danych i rozumiesz go dość niewyraźnie. To, co musisz zrobić, to przewidzieć jakąś zmienną na podstawie tego, co masz. Jak zwykle czyścisz dane, przeglądasz statystyki opisowe, uruchamiasz niektóre modele, weryfikujesz je krzyżowo itp., Ale po kilku próbach, w tę iz powrotem i próbując wielu modeli nic nie działa, a twoje wyniki są nieszczęśliwe. Na taki problem możesz spędzić godziny, dni lub tygodnie ...

Pytanie brzmi: kiedy przestać? Skąd wiesz, że twoje dane są naprawdę beznadziejne i że wszystkie fantazyjne modele nie przyniosłyby Ci nic lepszego niż przewidywanie średniego wyniku dla wszystkich przypadków lub jakiegoś innego trywialnego rozwiązania?

Oczywiście jest to kwestia przewidywalności, ale o ile mi wiadomo, trudno jest oszacować przewidywalność dla danych wielowymiarowych przed wypróbowaniem czegoś. A może się mylę?

Uwaga: to pytanie zostało zainspirowane tym, kiedy muszę przestać szukać modelu? nie przyciągało to zbyt wiele uwagi. Byłoby miło mieć szczegółową odpowiedź na takie pytanie w celach informacyjnych.

Tim
źródło
1
Na ten problem można odpowiedzieć w kategoriach praktycznych (jak zrobił @StephanKolassa) lub w kategoriach bezwzględnych (jakieś twierdzenie, które pokazuje, że dany model może nauczyć się problemu, jeśli pewne warunki są spełnione). Który chcesz?
Superbest
3
Brzmi to podobnie do klasycznego problemu informatyki? Załóżmy, że masz algorytm A o dowolnej złożoności, który przeszukuje dane wejściowe D w poszukiwaniu modeli predykcyjnych, a algorytm zatrzymuje się, gdy znajdzie „dobry” model danych. Bez dodania znaczącej struktury na A i D, nie widzę, jak możesz stwierdzić, czy A kiedykolwiek zatrzyma dane dane wejściowe D, jak możesz stwierdzić, czy A ostatecznie odniesie sukces lub będzie kontynuował wyszukiwanie na zawsze?
Matthew Gunn
@Najlepiej może to być jedno i drugie. Jeśli masz coś do dodania, odpowiedz. Nigdy nie słyszałem o twierdzeniu, które mówi coś o radzeniu sobie z wielowymiarowymi, hałaśliwymi danymi w prawdziwym życiu, ale jeśli znasz takie, które mają zastosowanie, to chętnie przeczytam twoją odpowiedź.
Tim
3
Opierając się na odpowiedzi @ StephenKolassa, kolejnym pytaniem, które można wyodrębnić, jest: „W którym momencie powinienem przenieść moją pracę z powrotem do ekspertów w tej dziedzinie i omówić moje wyniki (lub brak wyników)?”
Robert de Graaf,
Także powiązany wątek: stats.stackexchange.com/questions/28057/...
Jan Kukacka

Odpowiedzi:

241

Prognozowalność

Masz rację, że jest to kwestia przewidywalności. Odnotowano kilka artykułów na forecastability w IIF za praktykującego zorientowanych czasopisma Foresight . (Pełne ujawnienie: jestem redaktorem).

Problem polega na tym, że przewidywalność jest już trudna do oszacowania w „prostych” przypadkach.

Kilka przykładów

Załóżmy, że masz taką serię czasową, ale nie mówisz po niemiecku:

jajka

Jak modelowałbyś duży szczyt w kwietniu i jak uwzględniłbyś te informacje w jakichkolwiek prognozach?

Jeśli nie wiesz, że ta seria czasowa to sprzedaż jaj w szwajcarskiej sieci supermarketów, która osiąga szczyt tuż przed Wielkanocą w kalendarzu zachodnim , nie miałbyś szans. Dodatkowo, gdy Wielkanoc przesuwa się po kalendarzu nawet o sześć tygodni, wszelkie prognozy, które nie zawierają konkretnej daty Wielkanocy (zakładając, powiedzmy, że był to tylko jakiś szczyt sezonu, który powróci w określonym tygodniu w przyszłym roku) prawdopodobnie byłby bardzo zły.

Podobnie, załóżmy, że masz niebieską linię poniżej i chcesz modelować wszystko, co wydarzyło się 28.02.2010, tak inaczej niż „normalne” wzory 27.02.2010:

gra w hockey'a

Ponownie, nie wiedząc, co się stanie, gdy całe miasto pełne Kanadyjczyków obejrzy w telewizji mecz finałów olimpijskich w hokeju na lodzie, nie masz szansy zrozumieć, co się tutaj wydarzyło, i nie będziesz w stanie przewidzieć, kiedy coś takiego się powtórzy.

Na koniec spójrz na to:

odstające

Jest to szereg czasowy codziennej sprzedaży w sklepie kasowym . (Po prawej stronie masz prosty stół: 282 dni miało zerową sprzedaż, 42 dni przyniosło sprzedaż 1 ... a pewnego dnia sprzedaż 500.) Nie wiem, co to jest.

Do dziś nie wiem, co wydarzyło się tego dnia ze sprzedażą na poziomie 500. Domyślam się, że jakiś klient zamówił wcześniej dużą ilość dowolnego produktu i go odebrał. Teraz, nie wiedząc o tym, każda prognoza na ten konkretny dzień będzie daleka. Odwrotnie, załóżmy, że stało się to tuż przed Wielkanocą, a my mamy głupi, inteligentny algorytm, który uważa, że ​​może to być efekt wielkanocny (może to są jajka?) I na szczęście prognozuje 500 jednostek na następną Wielkanoc. O mój, czy to może pójść nie tak?

Podsumowanie

We wszystkich przypadkach widzimy, w jaki sposób przewidywalność można dobrze zrozumieć tylko wtedy, gdy mamy wystarczająco głębokie zrozumienie prawdopodobnych czynników, które wpływają na nasze dane. Problem polega na tym, że jeśli nie znamy tych czynników, nie wiemy, że możemy ich nie znać. Według Donalda Rumsfelda :

[T] tutaj są znane znane; są rzeczy, o których wiemy, że wiemy. Wiemy również, że znane są niewiadome; to znaczy wiemy, że są pewne rzeczy, których nie wiemy. Ale są też nieznane niewiadome - te, o których nie wiemy, nie wiemy.

Jeśli Wielkanoc lub Kanadyjczycy nie znają się na hokeju, nie są nam nieznane, utknęliśmy - i nie mamy nawet drogi naprzód, ponieważ nie wiemy, jakie pytania musimy zadać.

Jedynym sposobem na poradzenie sobie z nimi jest zebranie wiedzy o domenach.

Wnioski

Wyciągam z tego trzy wnioski:

  1. Ty zawsze muszą obejmować dziedziny wiedzy w modelowaniu i prognozowaniu.
  2. Nawet przy znajomości domeny nie ma gwarancji, że uzyskasz wystarczającą ilość informacji, aby Twoje prognozy i prognozy były akceptowalne dla użytkownika. Zobacz powyższą wartość odstającą.
  3. Jeśli „Twoje wyniki są nieszczęśliwe”, możesz mieć nadzieję na więcej niż możesz osiągnąć. Jeśli prognozujesz rzetelne rzuty monetą, nie ma możliwości uzyskania dokładności powyżej 50%. Nie ufaj też zewnętrznym testom porównawczym dokładności prognoz.

Dolna linia

Oto jak poleciłbym budowanie modeli - i zauważenie, kiedy przestać:

  1. Porozmawiaj z osobą posiadającą wiedzę na temat domeny, jeśli jeszcze jej nie masz.
  2. Zidentyfikuj główne czynniki napędzające dane, które chcesz prognozować, w tym prawdopodobne interakcje, na podstawie kroku 1.
  3. Twórz modele iteracyjnie, w tym sterowniki w kolejności malejącej siły, zgodnie z krokiem 2. Oceniaj modele przy użyciu weryfikacji krzyżowej lub próby wstrzymania.
  4. Jeśli dokładność przewidywania nie zwiększa się, wróć do kroku 1 (np. Identyfikując rażące nieporozumienia, których nie możesz wyjaśnić i omawiając je z ekspertem w dziedzinie), lub zaakceptuj, że osiągnąłeś koniec swojej możliwości modeli. Pomaga w tym przedział czasowy analizy .

Zauważ, że nie zalecam wypróbowania różnych klas modeli, jeśli twój oryginalny model ma płaskowyże. Zazwyczaj, jeśli zacząłeś od rozsądnego modelu, użycie czegoś bardziej wyrafinowanego nie przyniesie znaczących korzyści i może po prostu być „nadmiernym dopasowaniem do zestawu testowego”. Często to widziałem i inni się z tym zgadzają .

Stephan Kolassa
źródło
10
+1 za cudowną odpowiedź, z którą się całkowicie zgadzam. Nie akceptuję tego (jeszcze), ponieważ wciąż mam nadzieję na inne odpowiedzi, ponieważ problem jest szeroki.
Tim
1
Pewnie. Chciałbym też zobaczyć na to czyjąś perspektywę!
Stephan Kolassa
9
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.. Powiedziałeś wszystko tam.
Walfrat
3
Korzystając z wiedzy o domenach, możesz dodać nowe funkcje do dwóch pierwszych przypadków (np. Czas do Wielkanocy i liczby oglądanych telewizji, chociaż ta ostatnia wymaga własnej prognozy), aby uzyskać znacznie lepsze wyniki. W żadnym przypadku sytuacja nie jest beznadziejna. Naprawdę interesująca część polega na tym, jak odróżnić brakującą domenę od zestawu danych uczciwych rzutów monetą.
Karolis Juodelė
4
@ KarolisJuodelė: właśnie o to mi chodzi. Nie możemy nawet wiedzieć, kiedy nasza sytuacja jest beznadziejna, chyba że rozmawiamy z ekspertem ... a czasem ekspert też nam nie może pomóc, a eksperci znają „nieznane niewiadome”, co prawdopodobnie ktoś inny mógłby wiedzieć.
Stephan Kolassa
57

Odpowiedź Stephana Kolassy jest doskonała, ale chciałbym dodać, że często występuje również ekonomiczny warunek zatrzymania:

  1. Kiedy robisz ML dla klienta, a nie dla zabawy, powinieneś rzucić okiem na kwotę, jaką klient jest skłonny wydać. Jeśli zapłaci twojej firmie 5000 €, a ty spędziłeś miesiąc na znalezieniu modelu, stracisz pieniądze. Brzmi trywialnie, ale widziałem „musi być rozwiązanie !!!!” - myślenie, które doprowadziło do ogromnych przekroczeń kosztów. Zatrzymaj się, gdy pieniądze zostaną wyczerpane, i poinformuj swojego klienta o problemie.
  2. Jeśli wykonałeś jakąś pracę, często masz wrażenie, co jest możliwe w obecnym zestawie danych. Spróbuj zastosować to do kwoty pieniędzy, którą możesz zarobić dzięki modelowi, jeśli kwota jest trywialna lub ujemna netto (np. Z powodu czasu na zebranie danych, opracowanie rozwiązania itp.) Powinieneś przestać.

Jako przykład: mieliśmy klienta, który chciał przewidzieć, kiedy jego maszyny się zepsują, przeanalizowaliśmy istniejące dane i stwierdziliśmy zasadniczo hałas. Wkopaliśmy się w ten proces i stwierdziliśmy, że najbardziej krytyczne dane nie zostały zarejestrowane i bardzo trudno je zebrać. Ale bez tych danych nasz model był tak słaby, że nikt by go nie użył i byłby konserwowany.

Podczas gdy koncentrowałem się na ekonomii podczas pracy nad produktem komercyjnym, ta zasada dotyczy również środowisk akademickich lub projektów rozrywkowych - podczas gdy w takich okolicznościach pieniądze są mniej ważne, czas jest nadal rzadkim towarem. Np. w środowisku akademickim powinieneś przestać pracować, gdy nie osiągniesz wymiernych rezultatów, a masz inne, bardziej obiecujące projekty, które możesz wykonać. Ale nie upuszczaj tego projektu - opublikuj również null lub wyniki „potrzebujesz więcej / innych danych”, one też są ważne!

Christian Sauer
źródło
1
+1 na pewno świetny punkt! Wydaje mi się, że wszystkie odpowiedzi na to pytanie mogą wydawać się „oczywiste”, ale nigdzie nie widziałem tych wszystkich „oczywistych” rzeczy zebranych w celach informacyjnych.
Tim
3
Przy okazji, ta reguła zatrzymania dotyczy również przypadków niezwiązanych z działalnością gospodarczą: na przykład, jeśli przeprowadzasz jakieś badania, nasze wyniki mają również pewną abstrakcyjną wartość, a kontynuowanie „beznadziejnej” analizy jest również uzasadnione, dopóki wartość twojej analizy nie przekroczy wartości mógł zrobić zamiast tego. Tak więc argument teoretyczny tej decyzji można uogólnić.
Tim
2
Myślę, że „nikt by nie użył ist i nie był konserwowany” powinien prawdopodobnie zostać zmieniony na „nikt by nie użył i nie był konserwowany” - czy to było twoje zamierzone znaczenie?
Silverfish,
2
Dzięki. Powiedziałbym, że nie chodzi tylko o czas, ale także o fakt, że czas można zainwestować inaczej. Zamiast tego możesz pracować nad projektem badawczym nad innym lekiem ratującym życie, który zaoszczędziłby Twój czas, ale także opinia publiczna skorzysta na wynikach itp.
Tim
2
@ChristianSauer Z mojego doświadczenia jako inżyniera problem niedopasowania czujników (por. Wskaźniki) i przydatny cel prawdopodobnie poprzedza wynalezienie tranzystora.
Robert de Graaf
9

Jest inny sposób. Zapytaj siebie -

  1. Kto lub co tworzy najlepsze możliwe prognozy dla tej konkretnej zmiennej? ”
  2. Czy mój algorytm uczenia maszynowego daje lepsze lub gorsze wyniki niż najlepsze prognozy?

Na przykład, jeśli miałeś dużą liczbę zmiennych powiązanych z różnymi drużynami piłkarskimi i próbowałeś przewidzieć, kto wygra, możesz spojrzeć na kursy bukmachera lub jakąś formę prognozy pozyskiwanej przez tłum, aby porównać z wynikami uczenia maszynowego algorytm. Jeśli jesteś lepszy, możesz być na granicy, a jeśli gorzej, to oczywiście jest miejsce na poprawę.

Twoja zdolność do poprawy zależy (zasadniczo) od dwóch rzeczy:

  1. Czy używasz tych samych danych co najlepszy ekspert w tym konkretnym zadaniu?
  2. Czy wykorzystujesz dane tak skutecznie, jak najlepszy ekspert w tym konkretnym zadaniu?

Zależy to dokładnie od tego, co próbuję zrobić, ale zwykle używam odpowiedzi na te pytania, aby wytyczyć kierunek, w którym podążam, budując model, szczególnie czy próbuję wydobyć więcej danych, które mogę wykorzystać, czy też skoncentrować się na próba udoskonalenia modelu.

Zgadzam się ze Stephanem, że zwykle najlepszym sposobem na to jest zwrócenie się do eksperta w danej dziedzinie.

Gavin Potter
źródło
1
W rzeczywistości twoja odpowiedź jest sprzeczna z odpowiedzią @StephanKolassa, w której odwołuje się do literatury sugerującej, że prognozy porównawcze są raczej mylące.
Tim
1
@Tim: pełne ujawnienie - ten link prowadził do artykułu na temat testów, który sam napisałem. Niemniej jednak podtrzymuję moje wnioski: wszystkie wzorce dokładności prognozowania popytu, które widziałem, bardzo prawdopodobnie porównują jabłka do pomarańczy. Dlatego jestem nieco sceptyczny, jeśli chodzi o zewnętrzne testy porównawcze. Ponadto myślę, że ta odpowiedź rodzi pytanie. Kiedy twój algorytm ML poprawi się na „najbardziej znany”, skąd wiesz, czy możesz go jeszcze ulepszyć, czy osiągnęliśmy Płaskowyż Beznadziejności?
Stephan Kolassa
1
Mój najnowszy przypadek użycia był raczej inny. Starałem się przewidzieć, kto był narażony na ryzyko samobójstwa na podstawie ich postów w Internecie. Istnieją różne testy psychometryczne, których można użyć do oceny nasilenia depresji, takie jak PHQ9. Ponieważ jest to szeroko stosowany test medyczny, prowadzone są znaczne prace nad jego wiarygodnością i rzetelnością, takie jak „PHQ-9 Ważność krótkiej miary nasilenia depresji”. Stwierdziłem, że rzetelność i inne miary zawarte w tym dokumencie są dobrym punktem wyjścia do prawdopodobnych rezultatów, jakie można uzyskać z uczenia maszynowego.
Gavin Potter
1
Oczywiście masz rację, jeśli chodzi o ulepszenie „najbardziej znanego”, nie ma sposobu, aby powiedzieć, czy kontynuować wyszukiwanie lepszego modelu. Ale z mojego doświadczenia wynika, że ​​dość rzadko zdarza się to w rzeczywistości. Większość pracy, którą wykonuję, wydaje się polegać na próbach stosowania ocen eksperckich na dużą skalę za pomocą uczenia maszynowego, a nie próbowaniu doskonalenia najlepszych ekspertów w tej dziedzinie.
Gavin Potter