Неперсонализированные. Content-based
Коллаборативная фильтрация. SVD. ALS

Расписание занятий (GMT+3):
- вт, чт 19:00–22:00,
- сб 11:00–14:00

Онлайн-доступ к программе для удаленных участников
26 октября – 23 ноября 2019

Курс
"Рекомендательные
системы"

Мы используем файлы cookie, чтобы улучшить работу сайта, и показывать вам контент, согласно вашим интересам. Продолжая использовать сайт, вы соглашаетесь с условиями использования файлов cookie.
Да, соглашаюсь
Close
Что входит в модуль
Это один из модулей флагманской программы "Специалист по большим данным"
6 лаб
Каждую неделю вам нужно будет решить лабораторную работу и суперачивку
4 занятия
Оффлайн с трансляциями в прямом эфире и видеозаписями в личном кабинете
Для кого этот модуль?
-1-
Аналитики
Вы умеете анализировать данные и работать с классическими алгоритмами машинного обучения, но требуется умение строить рекомендательные системы? Вы научитесь использовать разные алгоритмы рекомендаций: неперсонализированные, контентные, коллаборативную фильтрацию, факторизационные машины .
-2-
Менеджеры
Вы занимаетесь развитием продукта или подразделения? На этом модуле вы получите погружение в разработку рекомендательных систем, узнаете о том, какие виды алгоритмов бывают, какие существуют достоинства и недостатки, как рекомендации делаются в реальной жизни и как оценить их качество.
Чему вы научитесь
В модуле есть четыре составляющих
Неперсонализированные
Научитесь делать простейшие рекомендации вида: "бестселлеры этой недели", "самое обсуждаемое", "лучшие фильмы недели". Узнаете об основных кейсах применения таких рекомендательных систем и потенциальных достоинствах и недостатках.
Content-based
Научитесь строить рекомендательные системы, используя описание товаров и выявляя их схожесть. Узнаете, каким образом подобные алгоритмы могут решить проблему холодного старта рекомендательной системы.
Коллаборативная фильтрация
Научитесь делать рекомендации вида "люди, похожие на вас, выбирают". Узнаете о том, как работает user-to-user и item-to-item рекомендательная система, как при помощи SVD и ALS можно делать рекомендации на основе неявных факторов, таких как жанр фильма или музыки, например.
Оценка качества рекомендаций
Научитесь правильно выбирать метрику для оценки качества рекомендаций, которая лучше всего подходит вашей задаче. Узнаете про p@k, r@k, NDCG, RMSE и другие метрики.
Лабы этого модуля
Задача — построить различного рода топы для рекомендации фильмов пользователям, по которым еще нет никаких данных.
Вам нужно будет, рассчитывая похожесть описаний онлайн-курсов, выявить те, которые можно рекомендовать в дополнение пользователям.
Используя матричные разложения, разработать рекомендации, учитывающие жанр, стиль и другие неявные факторы фильма.
Соревнование, в котором вам нужно будет добиться наилучшего скора, используя вместе разные алгоритмы рекомендательных систем.
Используя данные по просмотру телепередач разных пользователей, сделать рекомендации фильмов по подписке.
Преподаватель этого модуля

Андрей Зимовнов
Старший разработчик,
Яндекс.Дзен
Инфраструктура модуля
То, с чем вы будете работать каждый день
Кластер
Этот модуль посвящен работе с рекомендательными системами, поэтому на нем вы будете работать с нашим JupyterHub, который обеспечен всеми необходимыми библиотеками и вычислительными ресурсами, а также кластером с Apache Spark.
GitHub
Все презентации, лабы, мануалы мы выкладываем в закрытый репозиторий на GitHub. Этот инструмент стал стандартом работы в среде программистов и профессионалов в сфере данных.
Личный кабинет
В нем вы можете проверить правильность выполнения лаб, используя автоматические чекеры. Там же можно смотреть прямые трансляции и видеозаписи занятий.
Slack
Общение во время модуля происходит в Slack — удобный мессенджер для команд. Там можно задавать вопросы во время трансляции, общаться с преподавателями, организаторами, друг с другом. Следить за апдейтами в GitHub и быть в курсе новостей.
Партнер по инфраструктуре
Стоимость модуля
28 000 руб.
Для коллег/ друзей выпускников 20% скидка
Это не онлайн-курс
Это онлайн-доступ к офлайновой программе
В аудитории во время занятия находится преподаватель и офлайн-участники. Вы можете задавать вопросы и получать ответы в режиме реального времени, как будто вы находитесь вместе с ними.

Во всем остальном вы получаете все то же самое: доступ к кластеру, материалам, решаете лабы, работаете над проектами, объединяетесь в команды, общаетесь вне занятий в Slack.
Для учебы вам потребуются
Входные требования
Умение программировать на Python 3
Это основной язык программирования, используемый на модуле. Хорошо, если вы уже будете знакомы с базовым синтаксисом, циклами, условными операторами, функциями, чтением и записью файлов.
Базовые знания Linux
В командной строке Linux вы тоже будете много времени проводить, работая с нашим кластером. Хорошо, если вы уже будете уметь перемещаться по директориям, создавать и редактировать файлы, заходить на удаленный сервер по ssh.
SQL
На модуле вы будете использовать такой инструмент как Hive. Для работы с ним вам пригодится умение писать запросы на этом языке: селекты, джойны, фильтры, подзапросы.
Линейная алгебра и машинное обучение
На модуле мы будем рассматривать продвинутые методы анализа данных, поэтому хорошо, если вы знаете основы статистики и линейной алгебры: среднее, дисперсия, вероятность, теорема Байеса, корреляция, ранг матрицы, а также основные алгоритмы машинного обучения.
1
2
3
4
5
6
7
NLP
ML
Интересны другие модули?
Возьмите всю программу целиком
Отзывы
Где работают наши выпускники
Здесь они живут

Наши принципы обучения
Чтобы обучение было эффективным и интересным, мы используем андрагогику
-1-
Материал ориентирован на конкретные задачи
Наша цель — научить вас решать задачи из реальной жизни, а не покрыть список тем. Теория — это инструмент необходимый для решения задач, а не самоцель.
-2-
Возможность сразу же применять знания
Уже после первой недели вы научитесь строить рекомендательные системы и сможете использовать эти знания для пилотного проекта на работе.
-3-
Самостоятельность в решении
Наши задания сформулированы так, что вам часто нужно будет что-то загуглить. После программы у вас будет свой багаж из качественных ресурсов.
F.A.Q.
Могу ли я взять другие модули?
Да, вы можете набрать любое количество модулей программы. Они не пересекаются, поскольку являются частью одной длинной 12-недельной программы. При этом с какого-то момента может оказаться, что дешевле будет взять программу целиком.
Сколько времени потребуется для обучения?
Занятия проходят 3 раза в неделю по 3 часа. Это 9 часов. Плюс 4-10 часов потребуется на решение лабораторных работ в зависимости от задания и вашего изначального уровня подготовки.
Я смогу пройти модуль, если совсем новичок и никогда не программировал?
Да, но будет сложно. Среди наших выпускников есть те, кто познакомился с программированием непосредственно на программе. Было непросто. Приходилось больше тратить время на задания, испытывать сложности. Но если есть высокая мотивация, то это все выполнимо. Также у нас есть отдельный подготовительный модуль с основами Python и Linux.
Чем ваша программа отличается от других курсов по data science?
1. Наша программа не просто про анализ данных, а про анализ больших данных. И такой программы больше нет. Анализ больших данных требует умения работы со специализированными инструментами и наличия инфраструктуры. Все практические задания выполняются на кластере, который мы администрируем и поддерживаем.
2. Это модуль офлайновой программы (этим отличается от онлайн-курсов, хотя по стоимости модуль сопоставим). На офлайн-программах, как правило, обучение строится эффективнее: есть поддерживающая среда из сокурсников, преподавателей, координатора. По статистике, доля успешно завершивших онлайн-курс редко превышает 25%. На нашей программе свыше 70% получают по итогам сертификат.
Остались вопросы?
Задайте их, и мы с радостью вам ответим
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте свой вопрос и контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.