Czy silne doświadczenie matematyczne to całkowity wymóg ML?

37

Zaczynam chcieć rozwijać własny zestaw umiejętności i zawsze fascynowało mnie uczenie maszynowe. Jednak sześć lat temu zamiast tego dążyć, postanowiłem podjąć całkowicie niezwiązany stopień z informatyką.

Zajmuję się tworzeniem oprogramowania i aplikacji od około 8-10 lat, więc dobrze sobie z tym radzę, ale po prostu nie mogę przeniknąć matematyki do uczenia maszynowego / prawdopodobieństwa / statystyki.

Zaczynam patrzeć na materiał do nauki i na pierwszej stronie może zawierać coś, co mnie dezorientuje i od razu tworzy barierę w nauce.

  • Czy silne doświadczenie matematyczne to całkowity wymóg ML? Czy powinienem spróbować wypełnić puste pola matematyki przed kontynuowaniem ML? Czy samokształcenie może naprawdę działać tylko dla programistów bez żadnego doświadczenia w dziedzinie informatyki?

Powiązane pytanie:

Layke
źródło
4
Powiedziałbym, że musisz bardzo dobrze rozumieć algebrę liniową, a prawdopodobnie także pewne prawdopodobieństwo dla zastosowań bayesowskich. Trzeba także wygodnie tłumaczyć matematykę na kod, a także dostosowywać się do konwencji notacji (która wcale nie jest spójna). ML także nie jest łatwy dla większości informatyków.
John Moeller,
3
Nie wierzę, że pytania są w ogóle powiązane. Dziękujemy za uczynienie z tej strony bardzo zachęcającej strony wymiany stosów i zamknięcie pytania. Nie wspomniałem nawet o nikim, kto mógłby mi polecić książkę. To nie jest duplikat oparty na „możliwym duplikacie”
Layke
2
Zrobiłem wątek na meta (8 godzin temu) z prośbą o ponowne otwarcie. meta.stats.stackexchange.com/questions/1442/…
Douglas Zare
1
Dziękuję Ci. Może być nadal zamknięty jako „zbyt subiektywny” lub „nie jest to prawdziwe pytanie”, ale z pewnością nie jest duplikatem.
Layke,
1
Layke, jak wyjaśniono w meta wątku zapoczątkowanym przez @Douglas Zare, mamy nadzieję, że zamkniesz to pytanie jako potencjalną przysługę , ponieważ natychmiast daje on dostęp do powiązanych wątków, które prawdopodobnie już odpowiadają na twoje pytanie. Ale skoro skomentowałeś, że nie jest to duplikat, czy mógłbyś edytować swoje pytanie, aby wyjaśnić, w jakim sensie nie powiela ono podobnych pytań na tej stronie? Bylibyśmy szczęśliwi, aby ponownie go otworzyć.
whuber

Odpowiedzi:

23

Stanford (Ng) i Caltech (Abu-Mostafa) umieściły zajęcia z uczenia maszynowego na YouTube. Nie widzisz zadań, ale wykłady na nich nie polegają. Polecam najpierw obejrzeć je, ponieważ pomogą ci dowiedzieć się, jakiej matematyki musisz się nauczyć. Uważam, że bardzo podobną klasę z zadaniami prowadzi Andrew Ng na Coursera, którą Ng pomógł stworzyć.

Jeden wyjątek: jeśli dobrze pamiętam, na początku wykładów w Stanford Ng wykonuje pewne obliczenia dotyczące pochodnych śladów produktów macierzy. Są one raczej odizolowane, więc nie martw się, jeśli nie wykonasz tych obliczeń. Nie wiem nawet, jaki kurs by ich objął.

Chcesz mieć pewną znajomość prawdopodobieństwa, algebry liniowej, programowania liniowego i rachunku różniczkowego. Jednak potrzebujesz dużo mniej niż to, co jest zawarte w wielu pełnych klasach na te tematy.

Douglas Zare
źródło
3
Zadania Caltech: work.caltech.edu/homeworks.html
Franck Dernoncourt
15

W zależności od rodzaju aplikacji, niekoniecznie potrzebujesz dużo matematyki jako praktykujący ML.

Jako programista samouk (ok. 15 lat) i częste porzucanie college'u bez większego doświadczenia w matematyce (rachunek III) lub statystykach, zacząłem od uczenia maszynowego / eksploracji danych z kilkoma zasobami:

  • Książka „Mastering Data Mining: The Art and Science of Customer Relationship Management” Berry i Linoff

  • Książka „Data Mining Techniques” tych samych autorów

  • R, w szczególności oraz pakiety party i nnet

Pracuję w non-profit wspierającym marketing i operacje. Szczególnie na początku korzystałem z eksploracji danych przede wszystkim do bezpośrednich wysyłek pocztowych.

Później wziąłem algebrę liniową, uczenie maszynowe Andrew Ng, wprowadzenie do metod statystycznych (STAT 301) w CSU itp.

Dla ciebie polecam zacząć od dwóch książek, kursu Andrew Ng i, w zależności od twojej aplikacji, drzew decyzyjnych (pakiet imprezowy w R).

Andrzej
źródło
9

Myślę, że to jest dobre pytanie i bardzo aktualne; Nie jestem jednak pewien, czy istnieje odpowiedź. Niedawny artykuł wzbudził wiele kontrowersji (patrz tutaj ), sugerując, że nauka danych jest łatwa do nauczenia się w Internecie. Jedną z godnych uwagi rzeczy w większości studiów przypadków wymienionych w tym artykule jest to, że pochodzą one ze środowisk aktuarialnych lub matematycznych.

Jest to interesujący punkt, ponieważ wskazuje, że chociaż kursy online, takie jak Coursera, Stanford i edX, są pomocne w nauczaniu określonych wymaganych umiejętności informatycznych, prawdopodobne jest, że pewne podstawy matematyczne są niezbędne do zrozumienia, co robią stosowane przez ciebie modele . Z drugiej strony, równie silny argument można wysunąć, że wszyscy ci faceci byli analitycznie nastawieni na początek, i to zarówno dlatego pracują w dyscyplinach ilościowych, jak i dlaczego łatwo podnieśli uczenie maszynowe i wygrywali konkursy.

Myślę, że zasadniczo istnieje pewien poziom problemu analizy. Podczas gdy umiejętności matematyczne są czasem pomocne w zrozumieniu probabilistycznych korzeni zastosowanych algorytmów, istnieje jednakowy argument, że dobre umiejętności inżynierii oprogramowania mogą dodać tyle samo, umożliwiając analizę wysokiego poziomu i zestawianie części algorytmów aby osiągnąć cel, nawet jeśli nie do końca rozumiesz, dlaczego to robią . Ogólnie rzecz biorąc, nauka danych (i uczenie maszynowe przez skojarzenie) jest ekscytującą dziedziną właśnie z tego powodu - możesz być facetem z bazy danych i używać brutalnej siły do ​​rozwiązywania problemów, matematykiem, który używa symulacji, lub informatykiem, który wykorzystuje dobrze zaprojektowaną inżynierię kod do łączenia różnych algorytmów i podejść w optymalny sposób.

Wszystkie podejścia, które dodają się do prognozy, są dobre, więc powiedziałbym, że nauka matematyki może być dobrym pomysłem, aby dać ci najlepszą szansę na sukces w tej dziedzinie. Jeśli chcesz mieć dobre punkty początkowe, MIT ma świetny kurs algebry liniowej z kilkoma przyjemnymi aplikacjami obliczeniowymi, które uznałem za łatwe do zrozumienia. Mają też inne kursy na temat procesów stochastycznych i rachunku różniczkowego, które mogą być również interesujące dla budowania twojej wiedzy.

analityczny
źródło
To, że ludziom, którzy nie są analitycznie nastawieni (lub nie-lub biedni abstrakciści) nie pomaga tak naprawdę uproszczenie matematyki, zawsze mnie niepokoiło (+1). Lubił też kurs algebry liniowej Stranga, ale czy algebra liniowa nie jest pierwszą matematyką zaćmioną przez obliczenia brutalnej siły? jeśli chodzi o naukę danych, jest to łatwy link, prawdopodobnie ktoś już wychował, ale w konkurencjach na giełdach faux 1 lub 2 z tysiąca plusów zwierząt w USA pobiłoby ekspertów - aby każdy mógł zdobyć zapał!
phaneron
4

Czy silne doświadczenie matematyczne to całkowity wymóg ML? - odpowiedź i spekulacje na temat ML rozumianego jako statystyki ;-)

Około 1990 roku miałem nadzieję, że algebra komputerowa będzie pomocna, myślę, że jest, ale jest dość ograniczona. Ale z pewnością pomaga to w przyspieszeniu uczenia się matematyki (mniejsza potrzeba rozwijania umiejętności manipulacyjnych poprzez praktykę lub próba radzenia sobie z tym po prostu poprzez wykonywanie prostych ćwiczeń). Algebra liniowa Freda Szabo z Mathematica była tego doskonałym przykładem (ale wziąłem już zaawansowany kurs algebry liniowej na poziomie teorii).

Pracuję od 1988 r. (Wykorzystywanie intensywnych metod komputerowych do „konkretyzacji” twierdzeń i zasad ze statystyki - właśnie), aby odpowiedź była „nie” lub przynajmniej nie była konieczna (do celów statystycznych). Zawsze będzie można zrozumieć szybciej i bardziej ogólnie dzięki dodatkowym umiejętnościom matematycznym i zrozumieniu. Myślę, że zaczynam się zbliżać, ale trzeba manipulować reprezentacją modeli generujących prawdopodobieństwo i wnioskowania, które są ważne i przydatne w więcej niż tylko problemach z zabawkami.

Czy powinienem spróbować wypełnić puste pola matematyki przed kontynuowaniem ML?

To trudne przedsięwzięcie - w MHO prawie każdy, kto rozumie statystykę, doszedł do tego, ponieważ bardzo wygodnie manipulował standardem, a zwłaszcza niezbyt standardowymi reprezentacjami matematycznymi modeli generujących prawdopodobieństwo i matematycznych charakterystyk wnioskowania (górny x% statystyki matematycznej Phds). Więc nie chodzi tylko o zapoznanie się z podstawami, ale także o to, by czuć się komfortowo z matematyką. (Nawiasem mówiąc, dla mnie niezbędna była teoria Fouriera.)

Dlaczego te reprezentacje są trudne (nawet z dużą ilością matematyki)?

Gerd Gigerenzer w zasadzie ustalił, że nie ma problemu z prostą chorobą pozytywną / negatywną, biorąc pod uwagę test pozytywny / negatywny przy użyciu częstotliwości naturalnych ”. Wydaje się, że odniesienie do powiązanego pytania dobrze wykorzystuje ten http://www.autonlab.org/tutorials/prob18.pdf

Dlaczego trudno to uogólnić?

Dla testów k (powtórzonych i innych) - 2 ^ k

Dla testów, które przyjmują wartości v - v ^ k

Tak więc dla binarnych nieznanych - prawdopodobieństwo ścieżki próbki 2 * v ^ k

Dla p wielu niewiadomych binarnych 2 ^ p * v ^ k

Dla p wielu racjonalnych niewiadomych Q ^ p * v ^ k

Szybko przechodzi się do matematyki z licznymi i niepoliczalnymi nieskończonościami, aby sobie z tym poradzić, co nawet przy wiedzy matematycznej prowadzi do wielu nieporozumień i pozornych paradoksów (np. Paradoksu Borela?)

Ponadto występują niebezpieczne nieporozumienia od liniowego do nieliniowego (np. Ukryte niebezpieczeństwa związane z określeniem nieinformacyjnych osób, które wygrały Winbugs i inne MCMC bez informacji o wcześniejszej dystrybucji ) oraz interakcje i efekty losowe itp.

phaneron
źródło