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:
Odpowiedzi:
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.
źródło
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).
źródło
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.
źródło
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.
źródło