2016-03-16 4 views
0

Я недавно решил начать изучать искусственный интеллект и, в частности, о нейронных сетях, потому что я считаю, что это позволит мне решать новые проблемы, которые я в настоящее время не могу решить.Как получить основную математику для нейронных сетей?

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

Я нашел много ресурсов для начинающих, некоторые из которых кажутся действительно хорошими (например, этот: http://neuralnetworksanddeeplearning.com/chap1.html). Я прочитал начало 5-6 книг о нейронных сетях, но проблема, которую я всегда испытываю, заключается в том, что после некоторого момента я теряюсь в объяснении из-за недостатка знаний в математике.

В связанном учебнике, например, у меня возникают проблемы со следующими символами: ∇, ∂, →. В более общем плане я натыкаюсь на математические обозначения: константы, которые я не знаю, но авторы предполагают, что читатель знает, и специальные символы.

Итак, вот мой вопрос: какая математика мне нужна, чтобы быстро начать работать в нейронных сетях, и это позволило бы мне без лишних проблем прочитать одну из тех замечательных книг/учебников, которые я нашел. У меня есть некоторые основные понятия в линейной алгебре, но об этом.

+0

https://www.coursera.org/courses/?query=machine%20learning&languages=en&availability=selfPaced%2CwithinOneMonth –

+0

Ищите книгу об алгоритмах исчисления для компьютерного кода. Поэтому, даже не понимая этого глубоко, вы знаете, когда видите определенный символ (который обычно является «методом» или подпрограммой), вы узнаете, какую компьютерную функцию вызывать. – toddmo

ответ

4

Вам необходимо заземление в исчислении для того, чтобы понять математику основной базовой подготовки нейронной сети. В этом нет никакого способа - большинство тренировок нейронной сети - это вариант для оптимизации «градиентного спуска». Градиент - это форма производной; чтобы найти градиент, вы должны взять производную.

Если вы ищете минимальный минимум, то вы можете справиться с пониманием производных, вместо того, чтобы нажимать на интегральное исчисление - например, два символа в вашем вопросе означают принятие определенного вида производной.

Линейная алгебра также важна, и хорошо, что у вас есть некоторые. Вам не нужно ничего необычного, чтобы понять основные вещи нейронной сети, но зная, что такое вектор, как работает матричное умножение и почему, также важно.

+0

Большое спасибо. Поэтому я рассмотрю исчисление. Каким будет ваш совет для следующего шага? Может быть, вероятность? – sputnik

+0

Зависит от того, с чего вы начинаете; большинство людей считают, что исчисление - это много! Однако вам не нужно иметь вероятность сделать базовые нейронные сети, но эта и базовая байесовская статистика могут оказаться полезными (хотя и не существенными) для задач распознавания. – comingstorm

1

Я просто выйду и скажу: вы искали курс, который менее математичен?

Хотя вам, безусловно, нужна передовая математика, чтобы полностью овладеть темой, вы можете найти вводный курс, который содержит больше обзора поля, а также некоторые конкретные практические практические примеры. Вот как я узнал Python (спасибо, YouTube!)

EDIT:

@sputnik

Какие передовые математике вы думаете, что нужно?

Очень просто, я думаю, вы не.

Я не могу рекомендовать достаточно высоко on-line visual introduction to machine learning.

Я недавно решил начать изучать искусственный интеллект и, в частности, о нейронных сетях, потому что я считаю, что это позволит мне решать новые проблемы, с которыми я в настоящее время неспособен.

Главное, что я упомянул, это то, что они начинают вас на деревьях принятия решений. Это напоминает «Экспертные системы», используемые полвека назад, и служат отличным рассказом для кого-то, кто просто знаком с предметом.

Основанные на дереве модели - это классно наиболее распространенная техника среди победителей конкурса Kaggle, XGB trees * в частности. Только в следующий раз Нейронные сетки, так зачем соглашаться на второе место?;-)

[Airbnb New User Bookings, Winner's Interview: 2nd place, Keiichi Kuroyanagi (@Keiku)](http://blog.kaggle.com/2016/03/17/airbnb-new-user-bookings-winners-interview-2nd-place-keiichi-kuroyanagi-keiku/)

Например, проверить это последнее Kaggle интервью: Airbnb New User Bookings, Winner's Interview: 2nd place, Keiichi Kuroyanagi (@Keiku)

Вы можете сделать статистические выводы без предварительного исчисления. Даже без формальной математики, если вас интересует только предмет.

* «G» в XGBT делает стенд для градиента, поэтому вам, в конечном итоге, придется немного поработать, но почему бы просто не начать веселиться? Вы узнаете больше, быстрее!

Другие XGBT ссылки:

Story and Lessons Behind the Evolution of XGBT

XGBT -- Let Us Learn From Its Author

+1

* «недостаточно комментариев для комментариев» * - и вы не получите больше сообщений, которые, как вы знаете, не подходят ... – jonrsharpe

+0

Спасибо за ваш комментарий. Я действительно искал такой курс, и нашел некоторые, например, этот: http://www.ai-junkie.com/ann/evolved/nnt1.html. Проблема с этими учебниками заключается в том, что они обычно не используют градиентный спуск (с тем, что у меня есть проблемы), но я бы подумал о том, чтобы сделать один из них, если я сам не пойму. Какую передовую математику вы считаете необходимой? – sputnik

+0

@jonrsharpe Благодарю вас за ваш конструктивный вклад. – Inon

1

Я рекомендую вам провести аудит Coursera course on Machine Learning taught by Andrew Ng. Он очень хорошо структурирован и шагает, и он представляет математику очень понятным образом. Если вы можете придерживаться его через Неделю 5, то задание на работу на самом деле является самой проблемой, о которой вы заинтересованы: нейронная сеть для распознавания цифр вручную.

Смежные вопросы