Ваш полный путь обучения, чтобы начать карьеру в машинном обучении

Задумались о машинном обучении, но настолько запутались, что с чего начать. Я столкнулся с тем же недоумением: что должно быть хорошим началом? Стоит ли мне изучать Python или переходить на R? Математика всегда пугала меня, и я всегда волновался, откуда мне изучать математику? Я также беспокоился о том, как мне получить прочную основу для машинного обучения. В любом случае вас следует поздравить с тем, что вы хотя бы приняли решение.

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

Математика - это первый шаг к машинному обучению?

1-й шаг для машинного обучения (базовое программирование)

Самый первый шаг - вы должны изучить программирование и, скорее всего, Python. Если вы никогда не писали ни одной строчки кода, я порекомендую вам CS50 Гарвардского университета, лучший курс для новичков в программировании, он научит вас с нуля до всего языка C и большого количества Python и JavaScript с основами SQL. и JSON. Этот увлекательный курс можно бесплатно найти на edx.org, и вы можете найти его здесь. Прочтите статью про cs50 здесь

Если вы хотите начать прямо с Python, я рекомендую вам пройти Введение в информатику с Python Массачусетского технологического института, доступное на edx бесплатно. Обратите внимание, что школьная алгебра является обязательным условием для этого курса, потому что они заставят вас решить множество математических задач реального мира.

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

Если вы достаточно хорошо разбираетесь в основах программирования, но не знаете объектно-ориентированного программирования, я рекомендую вам изучить объектно-ориентированное программирование. Хотя он не очень часто используется в машинном обучении (базовый уровень), но, безусловно, очень помогает. Я предлагаю этот курс, который научит вас основам oop и алгоритмов на Python. Вы можете найти этот курс бесплатно на edx.org.

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

  • Алгоритмический анализ
  • Сортировка и поиск алгоритмов
  • Структуры данных: связанные списки, стеки, очереди

Этот курс доступен бесплатно на edx.org.

Если вы хотите углубиться в структуры данных и алгоритмы, специализация Калифорнийского университета в Сан-Диего является шедевром. В нем 6 курсов, которые приведут вас от 0 до уровня героя в структурах данных и алгоритмах. Вы можете щелкнуть по каждому курсу и бесплатно проверить его материалы, но если вам нужен сертификат, его цена составляет 50 долларов в месяц, зависит от вас, как раньше вы сможете его завершить. Найдите эту специализацию на Coursera.org или нажмите здесь.

2-й шаг для машинного обучения

Да, вы правильно угадали, самая опасная часть для большинства новичков - МАТЕМАТИКА.

Но не волнуйтесь, это не так сложно, как мы думаем, и если вы считаете, что у вас есть хорошие основы математики в старшей школе (векторы, матрицы, исчисление, вероятность и статистика), вы можете просто пройти курс повышения квалификации, но Если вы думаете, что недостаточно хороши, то лучшее место для изучения математики - KHAN ACADEMY. Количество контента в khan academy настолько богатое и полезное, что все доступно бесплатно. Здесь вы можете найти все курсы линейной алгебры, теории вероятностей и статистики, а также многомерное исчисление.

Еще один хороший курс - математика для специализации по машинному обучению от coursera Имперского колледжа Лондона. Это отличный курс, который учит основам и пересматривает концепции, но не погружается слишком глубоко. Упражнения и викторины довольно сложны. На нем 3 курса.

В Массачусетском технологическом институте есть отличный курс по статистике, который учит

  • Постройте оценщики, используя метод моментов и максимального правдоподобия, и решите, как выбирать между ними.
  • Количественная оценка неопределенности с использованием доверительных интервалов и проверки гипотез
  • Выбирайте между разными моделями с помощью теста согласия
  • Делайте прогнозы с использованием линейных, нелинейных и обобщенных линейных моделей
  • Выполните сокращение размеров с помощью анализа главных компонентов (PCA)

Он доступен бесплатно на edx.org.

Если вы хотите изучать математику во время кодирования, у Microsoft есть действительно хороший курс Essential Math for Machine Learning: Python Edition. Это интерактивный курс, который преподает математику в графическом виде с использованием известных библиотек Python Numpy, pandas, matplotlib, которые являются обязательными для этого курса. Найдите этот курс на edx.org бесплатно.

У Udacity есть 3 отличных бесплатных курса по статистике.

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

3-й шаг для машинного обучения

Итак, теперь вы знакомы с линейной алгеброй, многомерным исчислением и статистикой, поэтому теперь вам нужно изучить известные библиотеки визуализации данных Python, такие как Numpy, Pandas, Matplotlib, Scipy, которые помогут вам анализировать любые данные, манипулировать ими и видеть их в графическом виде. Конечно, библиотек визуализации данных намного больше, но они самые важные. Реализуйте свои концепции линейной алгебры и исчисления графически и визуализируйте их.

Одним из шедевров в этом отношении является статистика со специализацией на Python от Мичиганского университета, которая подробно обучает визуализации данных и операциям с ними. Конечно, доступно бесплатно (щелкните каждый курс, чтобы пройти бесплатный аудит) на coursera.org.

Еще один курс Мичиганского университета для новичков в области анализа данных - это Введение в науку о данных в Python, который очень хорошо учит от основ numpy до pandas. Доступно бесплатно на coursera.org. Следующая часть этого курса меняет правила игры. Названный Прикладное построение графиков, диаграмм и представление данных в Python, он обучает всей графической визуализации, ее советам и методам.

Еще один хороший курс - Python для исследований Гарвардского университета, в котором преподаются эти библиотеки вместе с некоторыми известными тематическими исследованиями, а его последний проект действительно интересен и учит многому новому. Доступно бесплатно на edx.org.

Еще один очень всеобъемлющий курс - Python для науки о данных от Калифорнийского университета в Сан-Диего, который преподает

  • Python
  • Блокноты Jupyter
  • панды
  • NumPy
  • Матплотлиб
  • мерзавец
  • научный комплект-обучение
  • НЛТК

Это означает, что этот курс также научит вас основам машинного обучения, но, что более важно, библиотеки науки о данных, изучаемые в этом курсе. Доступно бесплатно на edx.org (не забудьте ознакомиться с предварительными условиями).

Шаг 4 Практическое машинное обучение

До сих пор вы изучили линейную алгебру, многомерное исчисление, вероятность и статистику, а также Python вместе с его библиотеками визуализации данных, так что теперь вы готовы перейти к самой захватывающей части - машинному обучению. 1-й курс может много значить. Если это не хорошо, он может просто сменить поле, потому что ему просто не нравится курс. Таким образом, все курсы здесь будут высококвалифицированными, и, прежде чем вы начнете свой 1-й курс по машинному обучению, проведите небольшое исследование.

Этот вводный курс не будет обучать вас машинному обучению, но вместо этого он даст вам представление о том, что такое машинное обучение, что подразумевается под терминологией машинного обучения, что такое стратегия ИИ, ее этика. Этот курс даст вам обзор того, что такое машинное обучение, как оно работает, каков его рабочий процесс и как создать искусственный интеллект в вашей компании. Это дает вам хорошее введение и обзор ИИ. Курс ведет очень известный инструктор по машинному обучению Эндрю Нг, доступный бесплатно на coursera.org.

Либо вы погуглите, либо увидите в любом блоге, первый курс, который все рекомендуют, - это машинное обучение в Стэнфордском университете, которое преподает Эндрю Н.Г., и, черт возьми, какой это красивый курс. На этот курс было зачислено более 2,5 млн студентов, и более 200000 студентов поставили ему оценку (4,9 *). Он преподает от самых базовых понятий до продвинутых, и это очень всеобъемлющий курс для начинающих. Общая продолжительность курса - 56+ часов. Хотите прочитать обзор этого курса? "Ну вот. Другой обзор здесь. Вот еще один обзор этого курса на Quora. Вот его содержание.

  • Линейная регрессия
  • Полиномиальная регрессия
  • Логистическая регрессия
  • Мультиклассовая классификация
  • Нейронная сеть
  • Машина опорных векторов (SVM)
  • К-означает кластеризацию
  • Анализ первичных компонентов (PCA)
  • Обнаружение аномалий
  • Рекомендательная система

Единственная проблема (по мнению некоторых людей) заключается в том, что он преподается в октаве / Matlab, но для меня это не имеет большого значения, потому что он очистит все основы и глубокие концепции машинного обучения, которые реализация их на любом другом языке не будет быть какой-то проблемой плюс Matlab - это дополнительный навык. Этот курс доступен бесплатно на официальном сайте Стэнфорда (здесь) и coursera.org (здесь).

Этот курс является обязательным для всех, так как он настолько хорош, что не может быть объяснен.

После этого курса вам нужно реализовать все, что вы узнали на python, и выйти за рамки того, чему вы научились, поэтому специализация deeplearning.ai на coursera наших собственных Эндрю Нг, Kian Katanfrosh и Younes Bensouda также обязательно взять. Эта специализация состоит из 5 курсов, которые

  • Нейронные сети и глубокое обучение
  • Улучшение глубоких нейронных сетей: настройка гиперпараметров, регуляризация и оптимизация
  • Структурирование проектов машинного обучения
  • Сверточные нейронные сети
  • Последовательные модели

Основные навыки, которые вы собираетесь получить:

  • TensorFlow
  • Сверточная нейронная сеть
  • Искусственная нейронная сеть
  • Глубокое обучение

Итак, теперь вы хорошо разбираетесь в TensorFlow и машинном обучении, и вам может не понравиться TensorFlow, или вы просто хотите протестировать известного участника TensorFlow, которым является PyTorch (от Facebook), так почему бы не начать этот бесплатный курс глубокого обучения от Udacity. от Facebook в сотрудничестве с Amazon Web Services и частью знаменитой программы глубокого обучения Nano Degree от Udacity стоимостью 1400 долларов.

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

Некоторые советы и рекомендации:

Вот несколько рекомендаций.

Удачи и хорошо проведите время, узнав, как сделать машины умными.