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.
źródło
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 .
źródło
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.
źródło
Byłem w podobnej sytuacji. Zacząłem od każdego algorytmu tutaj (i bardzo szczegółowo).
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.
źródło