Programista chce włamać się do pola uczenia maszynowego

19

Jestem programistą (głównie .NET i Python około 5 lat doświadczenia). Co mogę zrobić, aby pomóc mi znaleźć pracę w dziedzinie uczenia maszynowego lub cokolwiek, co pozwoli mi zacząć pracę w tej dziedzinie? Czy studia podyplomowe są trudnym wymogiem?

10459
źródło
2
To pytanie wydaje się być pytaniem o wiki społeczności.
Andrew

Odpowiedzi:

16

Za każdym razem, gdy rozmawiam z kimś o nauce uczenia maszynowego, zawsze wskazują mi elementy uczenia statystycznego Hastie i Tibshirani . Ta książka ma szczęście być dostępna online za darmo (wersja drukowana ma pewien urok, ale nie jest wymagana) i jest naprawdę świetnym wprowadzeniem do tematu. Nie przeczytałem jeszcze w nim wszystkiego, ale przeczytałem już dużo i naprawdę pomogło mi to lepiej zrozumieć.

Kolejnym zasobem, nad którym pracowałem, jest klasa Stanford Machine Learning , która jest również dostępna online i darmowa. Andrew Ng świetnie sobie radzi, prowadząc cię przez różne rzeczy. Uważam to za szczególnie pomocne, ponieważ moje doświadczenie w implementacji algorytmów jest słabe (jestem programistą samoukiem) i pokazuje, jak zaimplementować rzeczy w Octave (pod warunkiem, że R ma już wiele tego zaimplementowanych w pakietach). Kilka miesięcy temu znalazłem te notatki na temat statystyk reddit, więc przejrzałem je, a następnie obejrzałem wideo i zastanowiłem się nad nimi własnymi notatkami.

Moje doświadczenie jest w statystyce i mam trochę kontaktu z koncepcjami uczenia maszynowego (mój dobry kumpel naprawdę się tym interesuje), ale zawsze czułem, że brakuje mi frontu uczenia maszynowego, więc starałem się to wszystko nauczyć trochę więcej na własną rękę. Na szczęście istnieje mnóstwo wspaniałych zasobów.

Jeśli chodzi o zdobycie pracy w branży lub ukończenie szkoły wyższej, nie jestem w stanie doradzać (okazuje się, że nigdy nikogo nie zatrudniałem), ale zauważyłem, że świat biznesu naprawdę lubi ludzi, którzy potrafią robić rzeczy i są mniej zainteresowani kawałkami papieru, które mówią, że możesz coś zrobić.

Gdybym był tobą, poświęciłbym trochę wolnego czasu na nabycie pewności w mojej wiedzy w zakresie uczenia maszynowego, a następnie wdrażanie rzeczy w miarę możliwości. Przyznane stanowisko może nie dać ci takiej możliwości, ale jeśli możesz wdrożyć coś, co doda wartość twojej firmie (zachowując inne obowiązki), nie wyobrażam sobie, żeby ktoś był z ciebie zły. Fajną rzeczą jest to, że jeśli przy tym zawodzie trochę się uczysz maszynowo, kiedy wychodzisz poszukać nowej pracy, możesz porozmawiać o doświadczeniu, które już masz, co pomogłoby ludziom spojrzeć na brak konkretnego stopień.

Istnieje wiele zasobów i jest niezwykle interesująca, życzę powodzenia!

Kolejny pomysł: możesz założyć blog na temat procesu uczenia się Machine Learning i być może udokumentować kilka projektów, nad którymi pracujesz w wolnym czasie. Zrobiłem to z projektem programistycznym i pozwala on rozmawiać o projekcie, nad którym pracujesz w wolnym czasie (wygląda dobrze dla pracodawcy), a także możesz skierować go do bloga (oczywiście zachowaj profesjonalizację) na temat swojej pracy . Do tej pory wysłałem sporo osób do mojego pokręconego bloga programistycznego (ostatnio byłem trochę leniwy, gdy pisałem posty, ale utrzymywałem go na bieżąco, kiedy aplikowałem o pracę) i wszyscy, z którymi rozmawiałem, byli pod wrażeniem to.

asjohnson
źródło
(+1) świetne porady, szczególnie dotyczące klasy ML, aktualnej wiedzy / pracy> certyfikatu i bloga.
steffen
Profesjonalny blog brzmi jak dobry pomysł!
Rishi Dua
„świat biznesu wydaje się naprawdę lubić ludzi, którzy potrafią robić rzeczy” - tak, i dotyczy to nawet kawałków papieru :) W każdym razie zrób coś, co możesz im pokazać.
P.Windridge
Elementy uczenia statystycznego, choć kompleksowe, są trudne dla osób bez dyplomu ukończenia statystyki. Zamiast tego poleciłbym wprowadzenie do nauki statystycznej za pomocą (Aplikacje w R), tych samych autorów. To o wiele prostsze.
Abhishek Divekar
3

Oprócz wszystkich innych wspaniałych porad, które sugeruję, aby ubrudzić sobie ręce uczestnicząc w konkursach online, zobacz Witryny z predykcyjnymi konkursami modelarskimi

Jeśli chodzi o książki itp., Powinieneś spojrzeć na:

Jeśli chodzi o stopnie , zgadzam się z @asjohnson, że certyfikat ma mniejsze znaczenie, przynajmniej mogę to potwierdzić dla obszaru, w którym pracuję (Data Mining / ML w Internecie). Może być inaczej w przypadku bardziej „akademickich” dziedzin, takich jak bioinformatyka. Umiejętność wykazania, że ​​ktoś jest a) entuzjastyczny i b) wykonała rzeczywistą pracę („sprytnie i załatwia sprawy”), pokazując małe portfolio (np. Konkursy online ...), powinno być bardziej skuteczne IMHO.

steffen
źródło
(+1) Dla zawodów online. Myślę, że jeśli zrobiłeś coś z kaggle lub jednego z innych konkursów i śledziłeś swój kod i proces (myślę, że blog) w miejscu, w którym potencjalni pracodawcy mogliby to sprawdzić. Pokazałoby to wiele inicjatyw i na wiele sposobów jest łatwiejsze niż wymyślenie własnych pytań. Po prostu wybierz jeden z konkursów, który Cię interesuje, a następnie masz odpowiednie dane i miejsce do przesyłania i porównywania odpowiedzi.
asjohnson
2

Przeczytaj Tom Machine Mitchella. To dobra książka, która powinna zacząć od nauki maszynowej.

Należy pamiętać: należy pamiętać, że ten sam algorytm może czasami działać lepiej lub gorzej w zależności od dostarczonego scenariusza i parametrów oraz przypadkowej szansy. Nie daj się wciągnąć w optymalizację parametrów danych treningowych - jest to słaba aplikacja uczenia maszynowego.

Istnieje wiele technik odpowiednich dla poszczególnych aplikacji (ale nie wszystkich aplikacji) i istnieje wiele teorii, które można przeczytać, aby lepiej zrozumieć uczenie maszynowe. Aby być dobrym w uczeniu maszynowym, musisz wiedzieć, co robisz, ponieważ w przeciwnym razie nie możesz być pewien, czy Twoje wyniki będą się dobrze uogólniać.

Powodzenia.

Andrzej
źródło
0

Istnieje wiele dobrych książek na temat uczenia maszynowego, w tym kilka z serii O'Reilly, które wykorzystują Python. Praca nad jednym lub kilkoma z nich może być dobrym punktem wyjścia.

Sugerowałbym również zdobycie wiedzy na temat statystyki - poprzez kurs lub dwa, lub samokształcenie, tak naprawdę nie ma znaczenia. Powodem jest to, że istnieją książki o uczeniu maszynowym, które koncentrują się na algorytmach i mechanice, ale ignorują podstawowe pytanie, jak prawdopodobne jest, że to, co mówi twój algorytm, jest przypadkowe. I to jest niezbędne, aby wiedzieć.

Powodzenia i dobrej zabawy, to świetne pole.

PeterR
źródło
0

Bardzo miłe pytanie. Należy z góry uświadomić sobie, że uczenie maszynowe jest zarówno sztuką, jak i nauką i obejmuje skrupulatne czyszczenie danych, wizualizację ich i ostatecznie tworzenie modeli pasujących do danej firmy, przy jednoczesnym zachowaniu jej skalowalności i łatwości obsługi. Umiejętności mądre, ważniejsze niż cokolwiek innego, to skupienie się na prawdopodobieństwie i użycie prostych metod, zanim przejdziesz na złożone. Wolę kombinację R & Perl, ponieważ znasz python, który powinien być wystarczająco dobry. Podczas pracy nad prawdziwą pracą niezmiennie będziesz musiał pobierać własne dane, więc znajomość SQL (lub jakiegokolwiek innego narzędzia SQL nie obsługiwanego przez Twoją firmę) jest koniecznością.

Nic nie przebije doświadczenia w obszarze ML, więc angażowanie się w takie strony, jak stackexchange, kaggle to również świetny sposób na ekspozycję na to pole. Powodzenia.

brokuły
źródło
0

Wiem, że to trochę stare pytanie, ale biorąc pod uwagę fakt, że widziałem wielu programistów, wciąż nie wiem, jak zacząć.

Dlatego stworzyłem „Kompletny dzienny plan nauki, aby zostać inżynierem uczenia maszynowego” repozytorium .

To jest mój wielomiesięczny plan nauki od przejścia od programisty mobilnego (samouk, bez dyplomu CS) do inżyniera uczenia maszynowego.

Moim głównym celem było znalezienie podejścia do nauki uczenia maszynowego, które byłoby praktyczne i streściło większość matematyki dla początkujących. Podejście to jest niekonwencjonalne, ponieważ jest podejściem odgórnym i pierwszeństwem wyników opracowanym dla inżynierów oprogramowania.

Prosimy o wniesienie wkładu, który Twoim zdaniem poprawi sytuację.

Nam Vu
źródło