Badanie algorytmów uczenia maszynowego: głębia zrozumienia a liczba algorytmów

13

Niedawno zapoznałem się z dziedziną Data Science (minęło około 6 miesięcy) i rozpocząłem podróż od Machine Learning Course przez Andrew Ng i post, który rozpoczął pracę nad specjalizacją Data Science przez JHU.

Od strony praktycznej aplikacji pracowałem nad zbudowaniem modelu predykcyjnego, który przewidziałby ścieranie. Do tej pory korzystałem z glm, bayesglm, rf, aby nauczyć się i stosować te metody, ale mam duże rozbieżności w rozumieniu tych algorytmów.

Mój podstawowy dylemat to:

Czy powinienem skupić się bardziej na nauce zawiłości kilku algorytmów, czy też powinienem zastosować podejście polegające na znajomości wielu z nich, kiedy i ile potrzeba?

Proszę, poprowadź mnie we właściwym kierunku, może sugerując książki, artykuły lub cokolwiek, co może pomóc.

Byłbym wdzięczny, gdyby Pan odpowiedział na pomysł poprowadzenia kogoś, kto właśnie rozpoczął karierę w dziedzinie Data Science, i chce być osobą, która rozwiązuje praktyczne problemy świata biznesu.

Przeczytałbym (jak najwięcej) zasobów (książek, artykułów) zasugerowanych w tym poście i zapewniłbym osobistą informację zwrotną na temat zalet i wad tego samego, aby uczynić z tego pomocny post dla osób, które napotkają podobne pytanie w przyszłości i myślę, że byłoby wspaniale, gdyby ludzie sugerujący te książki mogli zrobić to samo.

Vinay Tiwari
źródło

Odpowiedzi:

9

Polecam ograniczenie się do kilku wypróbowanych i zaufanych algorytmów. Nie polecałbym elementów uczenia statystycznego (jako pierwsza książka). Jest to zbyt teoretyczne, skierowane do doktorantów, z ćwiczeniami pytającymi, jak udowodnić X lub Y ... Myślę, że ISL jest bardziej odpowiedni, z bardziej praktycznymi poradami (w każdym razie obie książki są bezpłatne jako pliki do pobrania w formacie pdf).

Oprócz statystyk, upewnię się, że nie masz nic przeciwko eksperymentalnym projektom / testom AB oraz Business Intelligence / Visualization.

seanv507
źródło
Byłbym wdzięczny, gdybyś mógł zasugerować niektóre Algorytmy, których nie należy przegapić, lub lepiej powiedzieć, że są najbardziej przydatne do rozwiązywania praktycznych problemów biznesowych. Jeśli to możliwe, proszę wymienić najlepsze sposoby na ich nauczenie (konkretne książki, artykuły samopomocy lub mogą być próbą i błędem)
2
Powiedziałbym prawie wszystkie algos w ISL: regresja liniowa, regresja logistyczna, metody oparte na drzewach, SVM; Grupowanie i redukcja wymiarów, np. PCA. Przejrzyj książkę i spójrz na odpowiedni kurs online ( online.stanford.edu/course/statistic-learning-winter-2014 - może na youtube?).
seanv507
Świetny zasób, dobrze mieć książkę i filmy o tym samym przez samych autorów. Dzięki za link, nie byłem tego świadomy.
Vinay Tiwari,
Przepraszam, ale to okropna rada. Naukowiec danych nigdy nie powinien polegać na kilku algorytmach. Musisz polegać na własnych umiejętnościach w zakresie analizy danych i nie ma dwóch podobnych problemów z danymi. Niektóre zostaną rozwiązane za pomocą X, inne za pomocą Y. Po prostu nie jest rozsądne oczekiwać, że wszechświat danych zastosuje się do kilku twoich algorytmów. Bądź ciekawy, elastyczny, miej wiedzę i używaj odpowiedniego narzędzia do pracy, a nie tylko tych, które znasz.
I_Play_With_Data
5

Prawdopodobnie ktoś nazywający siebie naukowcem danych powinien wiedzieć więcej o zawiłościach algorytmów, z których korzysta - np. Co wpływa na współczynnik zbieżności algorytmu oceniania Fishera w GLM - niż zwykły statystyczny lub ogrodowy - który może być zadowolony, wiedząc, że zostaną znalezione rozwiązania największego prawdopodobieństwa (być może po zrobieniu filiżanki kawy). W każdym razie zrozumienie ogólnych pojęć statystyki i uczenia maszynowego jest ważne oprócz znajomości stosowanych metod - teorii leżącej u ich podstaw, przyjętych przez nich założeń, jakie kontrole diagnostyczne należy wykonać, jak interpretować wyniki. Unikaj bycia tą parodią .

Prawdopodobnie spodoba ci się lektura Hastie i in. (2009), The Elements of Statistics Learning .

Scortchi - Przywróć Monikę
źródło
Na pewno to przeczytam! Naprawdę podobała mi się ostatnia linia ... myślę, że potrzeba, a czasem presja, by jak najszybciej uzyskać wyniki, często prowadzi do takich Parodii. Równie ważne jest unikanie czegoś przeciwnego, w którym człowiek tak głęboko się uczy, że staje się bezużyteczny w przypadku rzeczywistych problemów. podczas gdy rośnie / uczy się czasem ważniejsze jest wiedzieć, czego NIE robić, wielkie dzięki za wskazówki mają nadzieję zobaczyć więcej takich spostrzeżeń, które oświeciłyby mnie i innych podczas podobnej Podróży.
„co wpływa na współczynnik zbieżności algorytmu oceniania Fishera w GLM” - Myślę, że straciłeś tutaj 99% badaczy danych.
@Momo: Cóż, „badacz danych” jest jednym z tych złych gwiazd, które ledwo zyskały walutę, zanim zaczęły się dewaluować.
Scortchi - Przywróć Monikę
2

Powiedziałbym, że szczegółowa znajomość zawiłości 1 lub 2 algorytmów (takich jak wewnętrzne funkcjonowanie ich parametrów) jest zdecydowanie lepsza niż umiejętność uruchomienia kilku z nich.

Jestem w obszarze Analytics od około 11 lat, a od 2,5 lat jestem naukowcem danych i mówię z doświadczenia. Z drugiej strony zdecydowanie powinieneś zdawać sobie sprawę z innych rzeczy (nowsze algorytmy, takie jak głębokie uczenie się, SVM, XGboost itp.), Które mogą być bardziej odpowiednie dla twojego problemu.

Myślę, że kurs doktora Andrew Nga zawiera sporo szczegółów na temat niektórych algorytmów i to dobry początek. Jak zauważyli inni, http://statweb.stanford.edu/~tibs/ElemStatLearn/ to dobra książka, na którą można znaleźć filmy.

To jest moja osobista opinia, algorytmy, których nie powinieneś przegapić to: (Poznaj je szczegółowo):

1) Wielokrotna regresja liniowa 2) Regresja logistyczna 3) Typowe techniki redukcji wymiarowości, takie jak PCA 4) Grupowanie w kształcie litery K 5) Regresja nieliniowa 6) Metody optymalizacji: metody wyszukiwania oparte na gradiencie, programowanie liniowe i optymalizacja dyskretna 7) Pojęcia i algorytmy w inżynierii obiektów 8) Proste metody prognozowania szeregów czasowych

Więcej algorytmów ezoterycznych:

1) Losowe lasy 2) SVM 3) głębokie uczenie się 4) Inne metody redukcji wymiarowości, takie jak LDA 5) Inne metody oparte na jądrze 6) Algorytmy genetyczne 7) XgBoost 8) Regresja dynamiczna 9) Metody GARCH / ARCH 10) Modelowanie równań strukturalnych 11) Metody Boxa Jenkinsa w prognozowaniu szeregów czasowych 12) Teoria informacji: zysk informacji, zysk wzajemny itp.

ML_Passion
źródło
0

Byłem w podobnej sytuacji. Zacząłem od każdego algorytmu tutaj (i bardzo szczegółowo).

wprowadź opis zdjęcia tutaj

Jednak wkrótce dowiedziałem się, że środowisko akademickie w uczeniu maszynowym / głębokim rozwija się naprawdę szybko i zawsze opracowuje szybsze / najnowocześniejsze algorytmy, które znacznie przewyższają tradycyjne algorytmy w wielu rzeczywistych aplikacjach . Dlatego zawsze lepiej jest być na bieżąco z najnowszymi trendami. Sugeruję (jak zwykle to robię), aby pobrać subskrypcję dobrego kanału informacyjnego (takiego jak Medium) lub niesamowitego, najnowocześniejszego czasopisma badawczego i śledzić go. Wiele razy niesamowite algorytmy pochodzą z prac badawczych dotyczących konkretnego problemu (prawdopodobnie podobnego do twojego).

Chodzi o to, że aby być dobrym specjalistą od danych (lub inżynierem ML), potrzebujesz kombinacji zarówno głębokości, jak i szerokości. Osobiście uważam za użyteczne znać wiele algorytmów na ich powierzchni (po prostu to, co robią, kiedy są używane, zalety i wady). Wracam do nich, gdy czuję ( tylko czuję ), że mogą pomóc mi rozwiązać konkretny problem. Czytam je szczegółowo i sprawdzam, czy dobrze pasują. Mogą, ale nie muszą. Ale myślenie o szczegółach jest niezbędne, aby nie przegapić niesamowitego podejścia do problemu z powodu braku wglądu w to podejście. Na przykład, kiedy pracowałem nad czymś, co wymagało wykrycia obiektu (bardzo proste). Czytałem gdzieś o R-CNN, Fast-CNN, YOLO. Od razu zwróciłem się do nich, aby sprawdzić, czy dobrze pasują. Tego dnia znałem ich bardziej szczegółowo.

Czy powinienem skupić się bardziej na nauce zawiłości kilku algorytmów, czy też powinienem zastosować podejście polegające na znajomości wielu z nich, kiedy i ile potrzeba?

Uczenie się zawiłości jest niesamowite. Jednak świat porusza się w naprawdę szybkim tempie. Może istnieć nowy algorytm, który przewyższa ten, którego nauczyłeś się ze szczegółami. Dlatego nadszedł czas, aby porzucić to zastosowanie i sprawdzić, czy nowy przyniesie ci więcej korzyści.

Dowiedz się rzeczy, kiedy są potrzebne. W razie potrzeby naucz się ich szczegółowo. Powinieneś być w stanie zastosować rzeczy, jeśli uważasz, że prawdopodobnie mogą one działać. I ten wgląd pochodzi z wiedzy.

Powodzenia.

Nimish Mishra
źródło