python

Материалы открытого курса OpenDataScience и Mail.Ru Group по машинному обучению и новый запуск

  • четверг, 21 декабря 2017 г. в 03:14:07
https://habrahabr.ru/company/ods/blog/344044/
  • Машинное обучение
  • Python
  • Data Mining
  • Блог компании Open Data Science
  • Блог компании Mail.Ru Group


Недавно OpenDataScience и Mail.Ru Group провели открытый курс машинного обучения. В прошлом анонсе много сказано о курсе. В этой статье мы поделимся материалами курса, а также объявим новый запуск.



Кому не терпится: новый запуск курса — 5 февраля, регистрация не нужна, но чтоб мы вас запомнили и отдельно пригласили, заполните форму. Курс состоит из серии статей на Хабре (Первичный анализ данных с Pandas — первая из них), дополняющих их лекций на YouTube-канале, воспроизводимых материалов (Jupyter notebooks в github-репозитории курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Главные новости будут в группе ВКонтакте, а жизнь во время курса будет теплиться в Slack OpenDataScience (вступить) в канале #mlcourse_open.


План статьи


  • Чем наш курс отличается от других
  • Материалы курса
  • Подробнее о новом запуске

Чем курс отличается от других


1. Не для новичков


Часто вам будут говорить, что от вас ничего не требуется, через пару месяцев вы станете экспертом анализа данных. Я все еще помню фразу Andrew Ng из его базового курса "Machine Learning": «вы не обязаны знать, что такое производная, и сейчас вы разберетесь, как работают алгоритмы оптимизации в машинном обучении». Или «вы уже почти что эксперт анализа данных» и т.д. При всем безмерном уважении к профессору — это жесткий маркетинг и желтуха. Вы не разберетесь в оптимизации без знания производных, основ матана и линейной алгебры! Скорее всего вы не станете даже Middle Data Scientist, пройдя пару курсов (включая наш). Легко не будет, и больше половины из вас отвалится примерно на 3-4 неделе. Если вы wannabe, но не готовы с головой погрузиться в математику и программирование, видеть красоту машинного обучения в формулах и добиваться результатов, печатая десятки и сотни строк кода — вам не сюда. Но надеемся, вам все же сюда.


В связи с вышесказанным мы указываем порог вхождения — знание высшей математики на базовом (но не плохом) уровне и владение основами Python. Как подготовиться, если этого у вас пока нет, подробно описано в группе ВКонтакте и тут под спойлером, чуть ниже. В принципе можно пройти курс и без математики, но тогда см. следующую картинку. Конечно, насколько дата саентисту нужно знать математику — это холивар, но мы тут на стороне Андрея Карпатого, Yes you should understand backprop. Ну и вообще без математики в Data Science — это почти как сортировать пузырьком: задачу, может, и решишь, но можно лучше, быстрее и умнее. Ну и без математики, конечно, не добраться до state-of-the-art, а за ним следить очень увлекательно.


Математика и Python

Математика


  1. Если быстро, то можно пройтись по конспектам из специализации Яндекса и МФТИ на Coursera (делимся с разрешения).
  2. Если основательно подходить к вопросу, хватит вообще одной ссылки на MIT Open Courseware. На русском классный источник — Wiki-страница курсов ФКН ВШЭ. Но я бы взял программу МФТИ 2 курса и прошелся по основным задачникам, там минимум теории и много практики.
  3. И конечно, ничто не заменит хороших книг (тут можно и программу ШАДа упомянуть):

  • Математический анализ — Кудрявцев;
  • Линейная алгебра — Кострикин;
  • Оптимизация — Boyd (англ.);
  • Теория вероятностей и матстатистика — Кибзун.

Python


  1. Быстрый вариант — браузерные тьюториалы а-ля CodeAcademy, Datacamp и Dataquest, тут же могу указать свой репозиторий.
  2. Основательный — например, мэйловский курс на Coursera или MIT-шный курс "Introduction to Computer Science and Programming Using Python".
  3. Продвинутый уровень — курс питерского Computer Science Center.

2. Теория vs. Практика Теория и Практика


Курсов по машинному обучению полно, есть действительно классные (как специализация «Машинное обучение и анализ данных»), но многие сваливаются в одну из крайностей: либо слишком много теории (PhD guy), либо, наоборот, практика без понимания основ (data monkey).



Мы ищем оптимальное соотношение: у нас много теории в статьях на Хабре (показательна 4-я статья про линейные модели), мы пытаемся ее преподнести максимально понятно, на лекциях излагаем еще более популярно. Но и практики море — домашние задания, 4 соревнования Kaggle, проекты… и это еще не все.


3. Живое общение


Чего не хватает в большинстве курсов — так это живого общения. Новичкам порой нужен всего один короткий совет, чтобы сдвинуться с места и сэкономить часы, а то и десятки часов. Форумы Coursera обычно к какому-то моменту вымирают. Уникальность нашего курса — активное общение и атмосфера взаимоподдержки. В Slack OpenDataScience при прохождении курса помогут с любым вопросом, чат живет и процветает, возникает свой юмор, кто-то кого-то троллит… Ну а главное, что авторы домашних заданий и статей — там же в чате — всегда готовы помочь.


4. Kaggle в действии



Из паблика ВКонтакте «Мемы про машинное обучение для взрослых мужиков».


Соревнования Kaggle — отличный способ быстро прокачаться в практике анализ данных. Обычно в них начинают участвовать после прохождения базового курса машинного обучения (как правило, курса Andrew Ng, автор, безусловно, харизматичен и прекрасно рассказывает, но курс уже сильно устарел). У нас в течение курса будет предложено поучаствовать аж в 4 соревнованиях, 2 из них — часть домашнего задания, надо просто добиться определенного результата от модели, а 2 других — уже полноценные соревнования, где надо покреативить (придумать признаки, выбрать модели) и обогнать своих товарищей.


5. Бесплатно


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


Материалы курса


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


Тема 1. Первичный анализ данных с Pandas. Статья на Хабре


  • живые лекции в московском офисе Mail.Ru Group, по понедельникам с 5 февраля, 19.00-22.00. Видео-записи лекций прежние (youtube), но к ним будут комментарии, дополнения и улучшения;
  • статьи на Хабре прежние, вот первая. В статьях будут объявляться актуальные домашние задания и дедлайны по ним, информация будет дублироваться в группе ВКонтакте и в канале #mlcourse_open в Slack OpenDataScience;
  • соревнования, проекты, тьюториалы и прочие активности, описаны они в этой статье и в репозитории курса;
  • также раз в неделю будем публиковать статьи на английском на Medium. Будет похоже на этот Kaggle Kernel про Vowpal Wabbit, только на Medium;
  • с 23 апреля по 15 июля планируется совместное прохождение стэнфордского курса cs231n по нейронным сетям (подробности — в pinned items в канале #class_cs231n слэка ODS). Это будет уже второй запуск, сейчас как раз проходим, курс великолепен, домашние задания сложные, интересные и очень полезные.

Как подключиться к курсу?


Формальной регистрации не нужно. Просто делайте домашки, участвуйте в соревнованиях, и мы учтем вас в рейтинге. Тем не менее, заполните этот опрос, оставленный e-mail будет вашим ID во время курса, заодно напомним о старте ближе к делу.


Площадки для обсуждения


  • канал #mlcourse_open в Slack OpenDataScience. Основное общение здесь, можно задать любой вопрос. Главный козырь — авторы статей и домашних заданий тоже в этом канале, готовы отвечать, помогать. Но и флуда немало, так что смотрите pinned items перед тем как задать вопрос;
  • группа ВКонтакте. Стена будет удобным местом для официальных объявлений.

Удачи! Напоследок хочу сказать, что все получится, главное — не бросайте! Вот это «не бросайте» вы сейчас пробежали взглядом и скорее всего даже не заметили. Но задумайтесь: именно это главное.