6 сентября 2017 года стартует 2 запуск открытого курса OpenDataScience по анализу данных и машинному обучению. На этот раз будут проводиться и живые лекции, площадкой выступит московский офис Mail.Ru Group.
Если коротко, то курс состоит из серии статей на Хабре (вот первая), воспроизводимых материалов (Jupyter notebooks, вот github-репозиторий курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Здесь можно записаться на курс, а тут — вступить в сообщество OpenDataScience, где будет проходить все общение в течение курса (канал #mlcourse_open в Slack ODS). А если поподробней, то это вам под кат.
План статьи
- В чем особенность курса
- На кого рассчитан курс и как к нему подготовиться
- Что в себя включает курс
- Как мне записаться на курс?
- Как прошел первый запуск курса
- Бонус: совместное прохождение курса cs231n
В чем особенность курса
Цель курса — помочь быстро освежить имеющиеся у вас знания и найти темы для дальнейшего изучения. Курс вряд ли подойдет именно как первый по этой теме. Мы не ставили себе задачу создать исчерпывающий курс по анализу данных и машинному обучению, но хотели создать курс с идеальным сочетанием теории и практики. Поэтому алгоритмы объясняются достаточно подробно и с математикой, а практические навыки подкрепляются домашними заданиями, соревнованиями и индивидуальными проектами.
Большой плюс именно этого курса — активная жизнь на форуме (Slack сообщества OpenDataScience). В двух словах, OpenDataScience — это крупнейшее русскоязычное сообщество DataScientist-ов, которое делает множество классных вещей, в том числе организует Data Fest. При этом сообщество активно живет в Slack’e, где любой участник может найти ответы на свои DS-вопросы, найти единомышленников и коллег для проектов, найти работу и т.д. Для открытого курса создан отдельный канал, в котором 3-4 сотни людей, изучающих то же, что и ты, помогут в освоении новых тем.
Выбирая формат подачи материала, мы остановились на статьях на Хабре и тетрадках Jupyter. Теперь еще добавятся "живые" лекции и их видеозаписи.
На кого рассчитан курс и как к нему подготовиться
Пререквизиты: нужно знать математику (линейную алгебру, аналитическую геометрию, математический анализ, теорию вероятностей и матстатистику) на уровне 2 курса технического вуза. Нужно немного уметь программировать на языке Python.
Если вам не хватает знаний или скиллов, то в первой статье серии мы описываем, как повторить математику и освежить (либо приобрести) навыки программирования на Python.
Да, еще не помешает знание английского, а также хорошее чувство юмора.
Что в себя включает курс
Статьи
Мы сделали ставку на Хабр и подачу материала в форме статьи. Так можно в любой момент быстро и легко найти нужную часть материала. Статьи уже готовы, за сентябрь-ноябрь они будут частично обновлены, а также добавится еще одна статья про градиентный бустинг.
Список статей серии:
- Первичный анализ данных с Pandas
- Визуальный анализ данных c Python
- Классификация, деревья решений и метод ближайших соседей
- Линейные модели классификации и регрессии
- Композиции: бэггинг, случайный лес
- Построение и отбор признаков. Приложения в задачах обработки текста, изображений и геоданных
- Обучение без учителя: PCA, кластеризация
- Обучение на гигабайтах c Vowpal Wabbit
- Анализ временных рядов с помощью Python
- Градиентный бустинг
Лекции
Лекции будут проходить в московском офисе Mail.Ru Group по средам с 19.00 до 22.00, с 6 сентября по 8 ноября. На лекциях будет разбор теории в целом по тому же плану, что описан в статье. Но также будут разборы задач лекторами вживую, а последний час каждой лекции будет посвящен практике — слушатели сами будут анализировать данные (да, прямо писать код), а лекторы — помогать им в этом. Посетить лекцию смогут топ-30 участников курса по текущему рейтингу. На рейтинг будут влиять домашние задания, соревнования и проекты по анализу данных. Также будут организованы трансляции лекций.
Лекторы:
- Юрий Кашницкий. Программист-исследователь Mail.Ru Group и старший преподаватель факультета компьютерных наук ВШЭ, а также преподаватель в годовой программе дополнительного образования по анализу данных в ВШЭ.
- Алексей Натекин. Основатель сообщества OpenDataScience и DM Labs, Chief Data Officer в Diginetica. В прошлом — глава отдела аналитики Deloitte. Идейный лидер сообщества OpenDataScience, организатор DataFest.
- Дмитрий Сергеев. Data Scientist в Zeptolab, лектор в Центре Математических Финансов МГУ.
Про всех авторов статей курса при желании можно прочитать здесь.
Домашние задания
Каждая из 10 тем сопровождается домашним заданием, на которое дается 1 неделя. Задание — в виде тетрадки Jupyter, в которую надо дописать код и на основе этого выбрать правильный ответ в форме Google. Домашние задания — это первое, что начнет влиять на рейтинг участников курса и, соответственно, на то, кто сможет вживую посещать лекции.
Сейчас в репозитории курса вы можете видеть 10 домашних заданий с решениями. В новом запуске курса домашние задания будут новыми.
Тьюториалы
Одно из творческих заданий в течение курса — выбрать тему из области анализа данных и машинного обучения и написать по ней тьюториал. С примерами того, как оно было, можно познакомиться тут. Опыт оказался удачным, участники курса сами написали несколько очень добротных статей по темам, которые в курсе не рассматривались.
Соревнования Kaggle Inclass
Конечно, без практики в анализе данных никуда, и именно в соревнованиях можно очень быстро что-то узнать и научиться делать. К тому же, мотивация в виде различных плюшек (денег и рейтинга в "большом" Kaggle и просто в виде рейтинга у нас в курсе) способствуют очень активному изучению новых методов и алгоритмов именно в ходе соревнования по анализу данных. В первом запуске курса предлагалось два соревнования, в которых решались очень интересные задачи:
- Идентификация взломщика по его поведению в сети Интернет. Имелись реальные данные о посещении пользователями различных сайтов, и надо было по последовательности из посещенных за 30 минут сайтов понять, была ли это некто Элис или кто-то другой.
- Прогноз популярности статьи на Хабре. В этом задании по тексту, времени и прочим признакам публикации на Хабре надо было предсказать популярность этой статьи — число добавлений в избранное.
Индивидуальные проекты
Из паблика Вконтакте "Мемы про машинное обучение для взрослых мужиков".
Курс рассчитан на 2.5 месяца, а активностей запланировано немало. Но обязательно рассмотрите возможность выполнить собственный проект по анализу данных, от начала до конца, по плану, предложенному преподавателями, но с собственными данными. Проекты можно обсуждать с коллегами, а по окончании курса будет устроена peer-review проверка проектов.
Подробности про проекты будут позже, а пока вы можете подумать, какие бы данные вам взять, чтобы "что-то для них прогнозировать". Но если идей не будет, не страшно, мы посоветуем какие-нибудь интересные задачи и данные для анализа, причем они могут быть разными по уровню сложности.
Как мне записаться на курс?
Для участия в курсе заполните этот опрос, а также вступите в сообщество OpenDataScience (в графе "Откуда вы узнали об OpenDataScience?" ответьте "mlcourse_open"). В основном общение в течение курса будет проходить в Slack OpenDataScience в канале #mlcourse_open.
Как прошел первый запуск курса
Первый запуск прошел с февраля по июнь 2017 года, записалось около тысячи человек, первую домашку сделали 520, а последнюю — 150 человек. Жизнь на форуме просто кипела, в соревнованиях Kaggle было сделано несколько тысяч посылок, участники курса написали с десяток тьюториалов. И, судя по отзывам, получили отличный опыт, с помощью которого дальше можно окунаться в нейронные сети, соревнования на Kaggle или в теорию машинного обучения.
Бонусом для топ-100 финалистов курса был митап в московском офисе Mail.Ru Group, на котором было 3 лекции по актуальным в современном DS темам:
- Обработка больших данных при помощи Apache Spark (Виталий Худобахшов, "Одноклассники"). Видео: часть1, часть2;
- Основы нейронных сетей и Deep Learning (Алексей Озерин, Reason8.ai), видео;
- Deep Learning в решении задач сентимент анализа (Виталий Радченко, Ciklum), видео.
Бонус: совместное прохождение курса cs231n
И последнее, чем пока порадуем: с середины ноября 2017 года, сразу по окончании вводного курса по машинному обучению, там же в канале #mlcourse_open в Slack ODS будем вместе проходить один из лучших курсов по нейронным сетям — стэнфордский курс cs231n “Convolutional Neural Networks for Visual Recognition”.
Успехов вам в изучении этой прекрасной дисциплины — машинного обучения! И вот эти два товарища тут — для мотивации.
Andrew Ng берет интервью у Andrej Karpathy в рамках специализации по Deep Learning.
Комментарии (14)
savvadesogle
11.08.2017 18:12А почему нет комментариев?
Возьмете к себе неопытного в математике, но опытного в Python? к 17 сентября обещаю подготовиться))
MAXHO
11.08.2017 19:28+1Сразу вопрос…
Курс очный. Возможно ли заочное прохождение?yorko Автор
11.08.2017 19:32+2Конечно! Курс прежде всего заочный — для широкой публики. В первом запуске география была обширная — со всего мира участники.
Просто некоторые (топ-30 текущего рейтинга) смогут прийти послушать лекцию вживую. Для остальных — трансляция.MAXHO
11.08.2017 19:46Спасибо… Выслал в личку специфические вопросы по курсу.
yorko Автор
11.08.2017 21:29Нет, в личку не надо :) они не настолько специфичны.
yorko Автор
11.08.2017 22:26Вопрос был очень общий: что из математики нужно знать, чтобы понимать, о чем идет речь в курсе. Об этом мы пишем в первой статье серии. Плюс можно забежать вперед, посмотреть, скажем, 4-ю статью и отмечать, что непонятно. Например, метод максимального правдоподобия. И читаем про него.
Но конечно, ничто не заменит фундаментальный подход. Эта тема часто обсуждается у нас в сообществе ODS, в каналах #edu_courses и #math можно много полезного найти.
Мой личный совет, как быстро повторить математику (не учить с нуля, а именно повторить) — взять программу МФТИ и из нее только задачники. Они с теорией идут, как раз ее немного, зато много задач.
MAXHO
12.08.2017 09:35Ок! Возвращаю вопросы на ленту
Сразу хотел бы обговорить возможность сотрудничества.
Мы — один из региональных «Кванториум»ов. Т.е. учащиеся у нас не 1-2 курса, а 9 — 10 класса.
Я отвечаю за IT — квантум.
Курс иследования данных нам насущно необходим… Олимпиада НТИ и др. подотчетные олимпиады.
ВОПРОСЫ:
Стоит ли записывать детей индивидуально или сделать общий доступ на нашу группу?
Знакомы ли вы с позитивным опытом прохождения ваших курсов учащимися школ?
И стоит ли заключить некий договор о сотрудничестве с вами (мы заинтересованы!)?yorko Автор
12.08.2017 09:49А вот это как раз можно в личке оставить :) Тонкая грань. Что может быть интересно широкому кругу, лучше здесь спрашивать (как вопрос про математику), а то в личке на десятки идентичных вопросов, конечно, не хочется отвечать. Еще можно в ODS Slack канале #mlcourse_open конкретно про курс спрашивать.
А предложение о сотрудничестве — в личку. Хотя отвечу, конечно: курс не для школьников. Вся математика высшая, вузовская. И я не знаю, чтобы кто-то из школьников проходил наш курс.ternaus
12.08.2017 23:27Я думаю, что 11 классники с физмат школ по уровню математики потянут. За все школы не скажу, но то, что нам давали в ФМЛ 239 должно хватить и на курс и на то, чтобы в топ Kaggle уйти.
yorko Автор
12.08.2017 09:51Аа… простите, перепутал с вопросом по математике (немало сообщений просто посыпалось), да, ваш вопрос действительно специфичный, и он для лички.
Abyrvalgov
1. Рекомендую добавить в шапку момент
из дальнейшего текста, т.к. я, например, сначала зарегился, а потом дочитал до этого момента. А ответ-то уже заслал.
2. А как, собственно, курс будет проходить? Вот заслал я ответ на две гугл-формы. А дальше? Даже на мыло ничего не пришло. За месяц забуду дату начала и всё пропущу.
yorko Автор