Як слід почати штучний інтелект? [дублікат]


Відповіді:


10

Щоб досягти успіху в AI, вам потрібна математична інтуїція або точка зору. Для того, щоб стати інженером AI з повним стеком, важливо мати чітке розуміння математичних основ машинного навчання.

Моя порада всім, хто готується стрибати в поле, полягає в тому, що вивчати математику - це робити. Пам'ятайте правило 20/80. Вам потрібно вивчити теорію 20% часу і практикувати те, що ви засвоїли 80% часу, щоб бути досвідченим.

Перший крок перед тим, як зануритися у бакалавратську математику, - це ви освіжитися на математичному рівні. Це включає перегляд та засвоєння середньої школи математики, особливо алгебри. Це необхідно для того, щоб ви зрозуміли вищі курси.

Лінійна алгебра

Матричні операції, проекції, власні значення та власні вектори, аналіз основних компонентів (PCA), сингулярне розкладання значення (SVD), власне розкладання матриці, розклад LU, QR-декомпозиція / факторизація, симетричні матриці, ортогоналізація та ортонормалізація, векторні простори та норми. необхідні для розуміння методів оптимізації, використовуваних для машинного навчання.

Приємна річ про Лінійну алгебру полягає в тому, що є чудові Інтернет-ресурси, наприклад, курс Ханської академії з лінійної алгебри https://www.khanacademy.org/math/linear-algebra .

Теорія й статистика ймовірностей

Правила й аксіоми ймовірностей, умовні та спільні розподіли, стандартні розподіли (Бернуллі, біноміальний, мультиноміальний, рівномірний та гауссовий), функції генерування моменту, теорія Байєса, випадкові змінні, дисперсія та очікування, оцінка максимальної вірогідності (MLE), попередній та задній, Максимум методів оцінки післяорі (МАР) та методів відбору проб.

Я посилаю вас на цей Інтернет-MOOC зі статистики та ймовірності в Академії Хана https://www.khanacademy.org/math/probability

Алгоритми та оптимізація

Знання структур даних (двійкові дерева, хеширование, купа, стек тощо), динамічне програмування, рандомізований та підлінійний алгоритм, графіки, градієнтні / стохастичні спуски та первинні-подвійні методи.

Для глибокого навчання я рекомендую записатись на курс Coursera Ендрю Нґ, доступний тут https://www.coursera.org/learn/machine-learning .

Багатовимірний обчислення

Такі теми, як диференціальне та інтегральне числення, напрямний градієнт, гессіанський, якобійський, лаплакійський та лаграгійський розподіл, часткові похідні, функції векторних значень. Ось натяк на курс обчислення Академії Хана https://www.khanacademy.org/math/calculus-home .

Інші

Сюди входять математичні теми, які не висвітлюються у чотирьох основних сферах. Вони включають теорію інформації (ентропія, посилення інформації), функціональні простори та колективи, реальний і комплексний аналіз (набори і послідовності, топологія, метричні простори, однозначні та безперервні функції, межі, ядро ​​Коші, перетворення Фур'є).

Більше ресурсів

Нижче представлений чудовий ресурс безкоштовних електронних книг з машинного навчання http://blog.paralleldots.com/data-science/list-of-free-must-read-books-for-machine-learning/

Нарешті, щоб бути в курсі останніх розробок та останніх робіт, я рекомендую вам перейти до цього блогу, який об'єднує документи AI та ML, http://www.arxiv-sanity.com/ .



5

ШІ досить великий за обсягом і знаходиться на перетині кількох областей. Однак є кілька важливих полів або тем, які потрібно знати

  1. Теорія множин
  2. Логіка
  3. Лінійна алгебра
  4. Обчислення
  5. Ймовірність та статистика

Я рекомендую вам спочатку вивчити алгоритми ШІ, які можуть вас зацікавити. Раджу почати з машинного навчання та глибокого навчання.

Не забувайте одну дуже важливу умову, пристрасть , без неї ви, мабуть, витрачаєте свій час!


4

Я б вам запропонував

  1. почніть з курсу машинного навчання Ендрю Нґ на Coursera. Він пропонує короткий вступ до математики, необхідної для машинного навчання. Хоч і не повний, його вистачить для круїзу через курс.
  2. Далі уважно вивчайте логістичну регресію в курсі. Сигмоїдна функція буде широко застосовуватися в нейронних мережах.
  3. З часом він познайомить вас з нейронними мережами та мінімізацією помилок за допомогою зворотного розповсюдження. Для розповсюдження спини буде використовуватися техніка оптимізації під назвою Gradient Descent. Це дуже важлива тема.
  4. Після виконання вищезазначених етапів спробуйте курс нейронних мереж Джеффа Гінтона на Coursera.

Якщо ви хочете заглибитись у математику. Спробуйте такі:

  • Лінійна алгебра - Гілберт Странг
  • ймовірність - ханська академія

Я також хотів би запропонувати одну з найкращих книг для глибокого навчання: Поглиблене навчання Яна Гудфеллоу та Йошуа Бенджо та Аарона Курвіля. http://www.deeplearningbook.org/


4

Сучасні, передові методи ШІ всі значною мірою покладаються на статистичне моделювання . Можливо, ви захочете переглядати стеки Data Science та Cross Valified, щоб побачити, чим займаються люди, та типи математики, яку вони використовують. (Це насправді не моє поле, тому я залишаю це натовпу нейронних мереж та Deep Learning, щоб надати детальнішу інформацію тут.)

Я також настійно рекомендую поглянути на комбінаторику , теорію комбінаторних ігор та теорію складності обчислювальної техніки , оскільки однією з основних проблем оптимального прийняття рішень є нерозбірливість. .

Теорія ігор також важлива, оскільки інші основні питання прийняття оптимального рішення включають недосконалу інформацію та неповну інформацію . (Перший спостерігається більше в комбінаторних іграх, але обидва призводять до необхідності аналізу ймовірностей.)


4

Найважливіший навик, який вам потрібен, - це самодисципліна.

Що стосується математичних передумов, вам потрібно буде вивчити статистику, теорію ймовірностей, обчислення та лінійну алгебру, враховуючи, що, наприклад, більшість алгоритмів машинного навчання ґрунтуються на концепціях з цих областей.

Щодо передумов програмування, Python та R, як правило, є хорошим вибором, враховуючи наявні бібліотеки.

Вам також може знадобитися вивчити такі структури, як Hadoop, на випадок, якщо ви хочете працювати з великими даними.


2

Штучний інтелект - дуже широке поле, і тому все зміниться відповідно.

Деякі передумови: (Будучи студентом CS, ви повинні їх виконати)

  • Добре знання алгоритмів і структур даних. Цей навик стане у нагоді при вирішенні проблем, які потребують використання альфа-бета обрізки, алгоритму мінімакса тощо.
  • Основні знання мов програмування, таких як Java, Python. Python допоможе, оскільки він більше зосереджується на частині розробки. Для отримання додаткової інформації читайте це . Знання LISP буде дуже корисним. Пройдіть цю відповідь .

Книга «Штучний інтелект: сучасний підхід» (Стюарт Дж. Рассел та Пітер Норвіг) вважається Біблією ІІІ. Я настійно рекомендую вам прочитати повну книгу і вирішити вправи. Ви можете знайти pdf книги тут . Для посібника з рішення перейдіть за цим посиланням . Буде краще, якщо ви зможете придбати книжкову копію книги.

Знання теорії обчислень дуже допоможуть вам. Особливо, коли ви працюєте в галузі обробки природних мов. Інші підполі AI, які можуть вас зацікавити, - це машинне навчання, еволюційні обчислення, генетичні алгоритми, зміцнення навчання, глибоке навчання тощо. Список продовжується.
Чим краще ви знаєте статистику, тим краще це буде для штучного інтелекту. Слідкуйте за останніми подіями на місцях через форуми, веб-сайти тощо. Відкритий веб-сайт також є дуже хорошим джерелом.


1

На додаток до відповіді Махешвара, як тільки ви відчуєте, що хочете спробувати більш практичне машинне навчання, я б почав з Weka . Програмне забезпечення є безкоштовним та ефективним, у них є гарне керівництво та відповідні вправи, і на Youtube є багато безкоштовних відео!


1

Щоб доповнити інші відповіді:

Я рекомендую вам пройти курс штучного інтелекту з мікроігрового майстра AI, наданого Columbia на edx.

Курс охоплює широкий спектр проблем зі ШІ, і найважливіше те, що дає вам загальну основу для роздумів із поєднанням програм на python. За матеріалами книги Штучний інтелект: сучасний підхід Пітера Норвіга та Стюарта Рассела

З точки зору машинного навчання, як сказав гокуль , курс машинного навчання Ендрю Нг. на курсах - хороший вступний курс і дуже орієнтований на потенційного практикуючого.

Мені здалося корисним поєднувати вивчення деяких алгоритмів машинного навчання зі статистичною мовою програмування R, щоб експериментувати з багатьма алгоритмами для лову концепцій. Корисні наступні книги: Елементи статистичного навчання та Вступ до статистичного навчання , обидві доступні безкоштовно на веб-сайтах авторів.



1

ОП запитала про ШІ, а не про машинне навчання. Машинне навчання - це піддисципліна ШІ. Більшість AI, що використовується в іграх та плануванні руху, не передбачає машинного навчання.

Фон, який вам знадобиться "перестрибнути в поле AI":

  • Математика через обчислення
  • Алгоритми
  • Основна комбінаторика та теорія ймовірностей

Якщо у вас вже є ці вимоги, я пропоную переглянути різні типи ШІ, щоб побачити, що для вас звучить найцікавіше. Переважно потрапляння в AI означає лише вивчення алгоритмів роботи. Наприклад, алгоритми розпізнавання обличчя (проблема машинного навчання) значно відрізняються, ніж координація команди роботів (проблема комбінаторної оптимізації).


Дякуємо за ваш внесок у участь у програмі AI! У нас напевно були запитання щодо термінології, і я повністю погоджуюсь, що ML - це підполе парасольки ШІ. Я зазначив, що дуже велика частка питань за останні кілька років була зосереджена на підполях ML, і, здається, це область з найбільшою "теплотою" в даний час. Що стосується вашої відповіді, чи вважаєте ви проходження маршруту досить важливим, щоб гарантувати конкретну згадку?
DukeZhou

1
Я б сказав, що комбінаторний пошук заслуговує на згадку - наведення маршрутів є типом комбінаторного пошуку і підпадає під цю парасольку.
thayne

1

"штучний інтелект" зараз зріле поле і в ньому багато підполів. навколо кожного підполя штучного інтелекту споруджуються цілі теорії. проста аналогія хотіла б "які навички потрібні для досягнення успіху в математиці / фізиці?". відповідь дійсно залежить від того, в яку галузь ви хочете заглибитися.

якщо ви плануєте зайнятись більш специфічною стороною штучного інтелекту (машинне навчання / глибоке навчання), тоді ви повинні бути ретельними з лінійною алгеброю. оскільки більшість алгоритмів машинного навчання можна звести до простих хитрощів у лінійній алгебрі. дізнатися про оптимізацію допоможе дуже багато, тому що ви зіткнетесь з багатьма алгоритмами, що стосуються опуклих / невипуклих методів оптимізації.

Також статистика та ймовірність необхідні для будь-якого поля в штучних алгоритмах.

Однак, в основному штучний інтелект має справу з машинами, які думають. Тож було б краще, якщо ви переймаєтесь формальною логікою, автоматами та теорією складності.


1

Ви можете почати з відеозаписів на Youtube. Це просто, маючи базові знання в Python , ви можете багато чого робити з ML.

Машинне навчання - рецепти №1

Я також знайшов нове відео Cloud AI Adventures, що пояснює "7 кроків машинного навчання" , ви можете подивитися ТУТ .

Щодо математики, я задав те саме питання, коли почав вивчати ML / AI. Мені непогано з математикою, просто основи (також розробник). Але сьогодні за допомогою TensorFlow та інших бібліотек ви можете зосередитись на теорії та визначенні. Тож, не хвилюйтесь, з часом моделі AI будуть побудовані з кількома кнопками та мітками ... можливо, це і відбувається.


0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.