Jak zacząć korzystać ze sztucznej inteligencji? [duplikować]


Odpowiedzi:


10

Aby wyróżnić się w AI, potrzebujesz matematycznej intuicji lub punktu widzenia. Aby zostać inżynierem sztucznej inteligencji, ważne jest, aby dobrze rozumieć matematyczne podstawy uczenia maszynowego.

Moja rada dla każdego, kto przygotowuje się do wskoczenia w to, że nauka matematyki polega na robieniu. Pamiętaj o zasadzie 20/80. Musisz studiować teorię przez 20% czasu i ćwiczyć to, czego się nauczyłeś przez 80% czasu, aby być biegłym.

Pierwszym krokiem przed zanurzeniem się w matematyce licencjackiej jest odświeżenie matematyki na poziomie podstawowym. Obejmuje to ponowne odwiedzanie i opanowywanie matematyki w szkole średniej, zwłaszcza algebry. Jest to konieczne, aby zrozumieć wyższe kursy.

Algebra liniowa

Operacje na macierzach, rzuty, wartości własne i wektory własne, analiza głównych składowych (PCA), rozkład wartości osobliwych (SVD), rozkład własny w macierzy, rozkład LU, rozkład / faktoryzacja QR, macierze symetryczne, ortogonalizacja i ortonormalizacja, przestrzenie wektorowe i normy potrzebne do zrozumienia metod optymalizacji wykorzystywanych do uczenia maszynowego.

Zaletą algebry liniowej jest to, że istnieją wspaniałe zasoby internetowe, takie jak kurs Khan Academy z algebry liniowej https://www.khanacademy.org/math/linear-algebra .

Teoria prawdopodobieństwa i statystyka

Reguły i aksjomaty prawdopodobieństwa, rozkłady warunkowe i wspólne, rozkłady standardowe (Bernoulliego, dwumianowe, wielomianowe, jednolite i gaussowskie), funkcje generowania momentów, twierdzenie Bayesa, zmienne losowe, wariancja i oczekiwanie, szacowanie maksymalnego prawdopodobieństwa (MLE), Prior i posterior, Maksymalne oszacowanie a posteriori (MAP) i metody pobierania próbek.

Odsyłam cię do tej statystyki online i prawdopodobieństwa MOOC w Khan Academy https://www.khanacademy.org/math/probability

Algorytmy i optymalizacja

Potrzebna jest znajomość struktur danych (drzewa binarne, mieszanie, stos, stos itp.), Programowanie dynamiczne, algorytmy losowe i podliniowe, wykresy, zjazdy gradientowe / stochastyczne i metody pierwotne-podwójne.

Aby uzyskać dogłębną naukę, zalecamy zapisanie się na kurs Andrew Ng Coursera dostępny tutaj https://www.coursera.org/learn/machine-learning .

Rachunek wielowymiarowy

Tematy takie jak Rachunek różniczkowy i całkowy, Gradient kierunkowy, Hessian, Jakobian, Laplacian i Lagragian, Częściowe pochodne, Funkcje wektora-wartości. Oto podpowiedź do kursu Calculus Khan Academy https://www.khanacademy.org/math/calculus-home .

Inne

Składa się z tematów matematycznych, które nie zostały omówione w powyższych czterech głównych obszarach. Obejmują Teorię Informacji (Entropia, Zysk Informacji), Przestrzenie Funkcyjne i Kolektory, Analiza Rzeczywistą i Złożoną (Zestawy i Sekwencje, Topologia, Przestrzenie Metryczne, Funkcje Jednowartościowe i Ciągłe, Granice, Jądro Cauchyego, Transformacje Fouriera).

Więcej zasobów

Poniżej znajduje się doskonały zasób bezpłatnych ebooków Matematyki Maszynowej http://blog.paralleldots.com/data-science/list-of-free-must-read-books-for-machine-learning/

Wreszcie, aby nadążyć za najnowszymi osiągnięciami i najnowszymi artykułami, polecam śledzenie tego bloga, który gromadzi artykuły AI i ML, http://www.arxiv-sanity.com/ .



5

AI ma dość duży zasięg i znajduje się na przecięciu kilku obszarów. Istnieje jednak kilka istotnych dziedzin lub tematów, które musisz znać

  1. Ustaw teorię
  2. Logika
  3. Algebra liniowa
  4. Rachunek różniczkowy
  5. Prawdopodobieństwo i statystyka

Polecam najpierw zapoznać się z algorytmami AI, które mogą Cię zainteresować. Radzę zacząć od uczenia maszynowego i głębokiego uczenia się.

Nie zapomnij o jednym bardzo ważnym wymaganiu wstępnym, pasji , bez której prawdopodobnie marnujesz swój czas!


4

Proponuję ci

  1. zacznij od kursu Andrew Ng na temat uczenia maszynowego na Coursera. Zapewnia krótkie wprowadzenie do matematyki niezbędnej do uczenia maszynowego. Choć nie jest kompletny, wystarczy przejechać przez kurs.
  2. Następnie dokładnie naucz się regresji logistycznej podczas kursu. Funkcja sigmoidalna będzie szeroko stosowana w sieciach neuronowych.
  3. W trakcie zajęć zapozna Cię z sieciami neuronowymi i minimalizacją błędów za pomocą propagacji wstecznej. W propagacji wstecznej wykorzystana zostanie technika optymalizacji zwana gradientem gradientu. To bardzo ważny temat.
  4. Po wykonaniu powyższych kroków wypróbuj kurs sieci neuronowych Geoffa Hintona na Coursera.

Jeśli chcesz zagłębić się w matematykę. Spróbuj tych:

  • Algebra liniowa - Gilbert Strang
  • prawdopodobieństwo - akademia chana

Chciałbym również zasugerować jedną z najlepszych książek do głębokiego uczenia się: Głębokie uczenie się autorstwa Iana Goodfellow, Yoshua Bengio i Aarona Courville. http://www.deeplearningbook.org/


4

Obecne, najnowocześniejsze metody sztucznej inteligencji w dużej mierze opierają się na modelowaniu statystycznym . Możesz przejrzeć stosy analizy danych i weryfikacji krzyżowej, aby zobaczyć, co ludzie robią i jakie matematyki używają. (To nie jest tak naprawdę moja dziedzina, więc zostawię to sieci neuronowej i tłumowi dogłębnej nauki, aby podać tutaj więcej szczegółów.)

Zdecydowanie poleciłbym także przyjrzenie się kombinatorykom , kombinatoryjnej teorii gier i teorii złożoności obliczeniowej , ponieważ jednym z podstawowych problemów optymalnego podejmowania decyzji jest trudność .

Teoria gier jest również ważna, ponieważ inne podstawowe kwestie optymalnego podejmowania decyzji obejmują niedoskonałe informacje i niepełne informacje . (Ta pierwsza jest bardziej widoczna w grach kombinatorycznych, ale obie prowadzą do potrzeby analizy prawdopodobieństwa).


4

Najważniejszą umiejętnością, jakiej potrzebujesz, jest samodyscyplina.

Jeśli chodzi o matematyczne warunki wstępne, będziesz musiał przestudiować statystyki, teorię prawdopodobieństwa, rachunek różniczkowy i algebrę liniową, biorąc pod uwagę, że np. Większość algorytmów uczenia maszynowego w dużym stopniu opiera się na pojęciach z tych obszarów.

Jeśli chodzi o wymagania wstępne dotyczące programowania, Python i R są zwykle dobrym wyborem, biorąc pod uwagę odpowiednie biblioteki, które są dostępne.

Być może będziesz musiał nauczyć się frameworków takich jak Hadoop, na wypadek, gdybyś chciał pracować z dużymi zbiorami danych.


2

Sztuczna inteligencja jest bardzo szeroką dziedziną i dlatego wszystko się odpowiednio zmieni.

Niektóre warunki wstępne: (będąc studentem CS powinieneś był je spełnić)

  • Dobra znajomość algorytmów i struktur danych. Ta umiejętność przyda się przy rozwiązywaniu problemów wymagających użycia przycinania alfa-beta, algorytmu minimax itp.
  • Podstawowa znajomość języków programowania, takich jak Java, Python. Python pomoże, ponieważ skupia się bardziej na części programistycznej. Aby uzyskać więcej informacji, przeczytaj to . Znajomość LISP będzie bardzo pomocna. Przejrzyj tę odpowiedź .

Książka Artificial Intelligence: A Modern Approach (autor: Stuart J. Russell i Peter Norvig) jest uważana za Biblię AI. Ja zdecydowanie polecam do zapoznania się z pełną książkę i rozwiązywać ćwiczenia. Można znaleźć wersję książki tutaj . Aby uzyskać instrukcję rozwiązania, odwiedź ten link . Lepiej będzie, jeśli możesz kupić egzemplarz książki.

Znajomość teorii obliczeniowej bardzo ci pomoże. Zwłaszcza gdy pracujesz w dziedzinie przetwarzania języka naturalnego. Inne podkategorie AI, które mogą Cię zainteresować, to: uczenie maszynowe, obliczenia ewolucyjne, algorytmy genetyczne, uczenie się ze wzmocnieniem, uczenie głębokie itp. Lista jest długa.
Lepiej znajomość statystyki, lepiej będzie dla sztucznej inteligencji. Bądź na bieżąco z najnowszymi wydarzeniami w terenie za pośrednictwem forów, stron internetowych itp. Otwarta strona AI jest również bardzo dobrym źródłem.


1

Oprócz odpowiedzi Maheshwara, gdy poczujesz, że chcesz wypróbować bardziej praktyczne uczenie maszynowe, zacznę od Weka . Oprogramowanie jest bezpłatne i skuteczne, mają dobrą instrukcję obsługi i odpowiednie ćwiczenia, a na YouTube jest mnóstwo bezpłatnych filmów!


1

Aby uzupełnić inne odpowiedzi:

Polecam wziąć kurs sztucznej inteligencji z mikromastera AI podanego przez Columbia na edx.

Kurs obejmuje szeroki zakres problemów związanych z AI, a najważniejsze jest to, że dają ogólne ramy do myślenia z mieszanką aplikacji w Pythonie. Na podstawie książki Artificial Intelligence: A Modern Approach autorstwa Petera Norviga i Stuarta Russella

Z perspektywy uczenia maszynowego również powiedział gokul , kurs uczenia maszynowego Andrew Ng. on coursera to dobry kurs wprowadzający i bardzo zorientowany na potencjalnego praktyka.

Przydatne okazało się połączenie badania niektórych algorytmów uczenia maszynowego ze statystycznym językiem programowania R w celu eksperymentowania z wieloma algorytmami w celu wychwycenia pojęć. Przydatne następujące książki: Elementy uczenia statystycznego i Wprowadzenie do uczenia statystycznego , oba są dostępne bezpłatnie na stronach internetowych autorów.



1

OP zapytał o sztuczną inteligencję, a nie uczenie maszynowe. Uczenie maszynowe jest poddyscypliną sztucznej inteligencji. Większość sztucznej inteligencji wykorzystywana w grach i planowaniu ruchu nie wymaga uczenia maszynowego.

Tło, które będziesz musiał „wskoczyć w pole AI”:

  • Matematyka poprzez rachunek różniczkowy
  • Algorytmy
  • Podstawowa kombinatoryka i teoria prawdopodobieństwa

Jeśli masz już te wymagania, sugeruję przyjrzenie się różnym rodzajom sztucznej inteligencji, aby zobaczyć, co brzmi najbardziej interesująco. W większości wchodzenie w AI oznacza po prostu poznanie działania algorytmów. Algorytmy rozpoznawania twarzy (problem uczenia maszynowego) na przykład znacznie różnią się od koordynowania zespołu robotów (problem optymalizacji kombinatorycznej).


Dziękujemy za pomoc i witamy w AI! Zdecydowanie mieliśmy pytania dotyczące terminologii i zdecydowanie zgadzam się, że ML to podpole parasolowe sztucznej inteligencji. Zauważyłem, że bardzo duża część pytań w ciągu ostatnich kilku lat koncentrowała się na podobszarach ML i wydaje się, że jest to obszar o największej „temperaturze” w chwili obecnej. Jeśli chodzi o twoją odpowiedź, czy uważasz, że szukanie ścieżki jest wystarczająco ważne, aby uzasadnić konkretną wzmiankę?
DukeZhou

1
Powiedziałbym, że warto wspomnieć o wyszukiwaniu kombinatorycznym - wyszukiwanie ścieżek jest rodzajem poszukiwania kombinatorycznego i mieści się pod tym parasolem.
czw

1

„sztuczna inteligencja” jest teraz dojrzałym polem i jest w nim wiele subpól. wokół każdego pola sztucznej inteligencji powstają całe teorie. prosta analogia chciałaby „jakie umiejętności są potrzebne do odniesienia sukcesu w matematyce / fizyce?”. odpowiedź naprawdę zależy od gałęzi, w którą chcesz zagłębić się.

jeśli planujesz wejść w stronę sztucznej inteligencji bardziej specyficzną dla aplikacji (uczenie maszynowe / głębokie uczenie się), musisz dokładnie znać algebrę liniową. ponieważ większość algorytmów uczenia maszynowego można sprowadzić do prostych sztuczek w algebrze liniowej. poznanie optymalizacji bardzo pomoże, ponieważ napotkasz wiele algorytmów wykorzystujących wypukłe / niekonwypukcyjne metody optymalizacji.

Również statystyki i prawdopodobieństwa są konieczne dla każdego pola w sztucznych algorytmach.

To powiedziawszy, podstawowa sztuczna inteligencja dotyczy maszyn, które myślą. Byłoby lepiej, gdybyś skończył z logiką formalną, automatami i teorią złożoności.


1

Możesz zacząć od ich filmów na Youtube. To proste, z podstawową znajomością języka Python , możesz robić wiele rzeczy z ML.

Uczenie maszynowe - przepisy nr 1

Znalazłem też, nowe wideo z Cloud AI Adventures wyjaśnia „7 kroków uczenia maszynowego” , które można obejrzeć TUTAJ .

O matematyce zadałem to samo pytanie, kiedy zacząłem uczyć się ML / AI. Nie jestem dobry z matematyki, tylko podstawy (także programista). Ale dziś, dzięki TensorFlow i innym bibliotekom, możesz skupić się na teorii i definicji. Więc nie martw się, z czasem modele AI będą budowane z kilkoma przyciskami i etykietami ... może to się dzieje.


0
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.