Обзор курса Machine Learning от Stanford University на Coursera

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

Курс Machine learning можно назвать одним из флагманских курсов для Coursera. Этот курс был создан еще на на заре расцвета сервиса одним из его основателей Andrew Ng.

Цитируя краткое описание с сайта:

“Машинное обучение это наука о том, как заставить компьютеры действовать не используя четких детерминированных алгоритмов. На этом курсе вы узнаете про наиболее эффективные алгоритмы машинного обучения, получите опыт их практического применения, узнаете как заставить их работать на вас. Что более важно, вы научитесь не только теоретическим основам машинного обучения, но также и практическим ноу-хау, требующимся для быстрого и эффективного применения алгоритмов для решения новый задач.”

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

Всего курс длится 11 недель. Каждая неделя предполагает 1-2 часа видео лекций, тест на знание теории и практическое задание по применению конкретных методов машинного обучения. Всего на прохождение всего материала и выполнение всех заданий одной недели у меня уходило по 4-6 часов.

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

Сильные стороны курса:

  • Лектор объясняет хорошо и понятно, хотя это и субъективно.
  • Отличные практические задания в конкретных приложения. Можно выбрать как более распространенный в России Matlab, так и бесплатный GNU Octave.
  • Удобно построена проверка тестов и домашних заданий. Каждое домашнее задание разбито на несколько логических этапов, каждый из которых моно проверять по-очереди. В случае с домашними заданиями проверяющий скрипт показывает не только корректность предложенного решения, но и то, что именно ожидается.
  • Ко всем видео есть субтитры.
  • Удобно, что можно выбирать свою скорость обучения. В принципе курс, сам по себе зациклен, и почти сразу как только заканчивается один поток (11 недель), начинается другой. Лекции и задания можно проходить как заранее от предполагаемых создателями сроков, так и после.

Недостатки в основном вытекают из-за того, что курс старый и возможно не всегда оперативно обновляется:

  • Качество видеозаписей иногда оставляет лучшего. Часто без субтитров нельзя понять, что именно говорит Andrew. В некоторых случаях даже в субтитрах та или иная реплика пропущены, т.к., вероятно, автор субтитров сам не смог разобрать текст.
  • Пару раз в субтитрах были ошибки, которые могут сбить с толку при попытке понять озвученный тезис. Например, сказанное лектором по смыслу “for cycles” (“на протяжении циклов”) может быть записано как “four cycles” (“четыре цикла”).
  • К сожалению, стартовые скрипты не всегда сразу работают. Уже не помню точно, но мне пришлось буквально в каждом скрипте заменять какую-то константу на другую, чтобы все заработало. Облегчает проблему, то что решение достаточно быстро находится на официальных форумах курса.

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

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

comments powered by Disqus
blog@pyatakov.com