Машинное обучение 2/2018 2019

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

О курсе

borderless

Курс читается для студентов 3-го курса ПМИ ФКН ВШЭ в 3-4 модулях.

Проводится с 2016 года.

Лектор: Соколов Евгений Андреевич

Лекции проходят по пятницам, 12:10 - 13:30, ауд. 317.




Полезные ссылки

Карточка курса и программа

Репозиторий с материалами на GitHub

Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+161@gmail.com)

Канал в telegram для объявлений: https://t.me/joinchat/AAAAAFhaKwm7kIqKGeAojA

Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQE2eFY0LN0AWcGH3qA

Таблица с оценками

Оставить отзыв на курс: форма

Вопросы по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде Issue в github-репозитории курса.

Семинары

Группа Преподаватель Расписание
161 (МОП) Зиннурова Эльвира Альбертовна
162 (МОП) Атанов Андрей Игоревич
Курс по выбору Каюмов Эмиль Марселевич

Консультации

Консультации с преподавателями и учебными ассистентами по курсу проводятся по предварительной договорённости.

Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:

Oитоговая = 0.7 * Oнакопленная + 0.3 * Оэкз

Оценка за работу в семестре вычисляется по формуле

Oнакопленная = 0.2 * Oсамостоятельные + 0.6 * Опрактические дз + 0.2 * Околлоквиум

Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.

Накопленная, экзаменационная и итоговая оценки округляются арифметически.

Правила сдачи заданий

За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.

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

При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.

Лекции

Лекция 13 (18 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра. [Конспект]

Лекция 14 (1 февраля). Аппроксимация ядер, метод случайных признаков Фурье. Ядра для строк, all-subsequences kernel. Ядровой метод главных компонент. [Конспект]

Лекция 15 (8 февраля). Смеси распределений. Модели со скрытыми переменными. KL-дивергения. EM-алгоритм в общем виде, его сходимость. [Конспект]

Лекция 16 (15 февраля). Работа с несбалансированными выборками. Одноклассовые методы и обнаружение аномалий: статистический и метрический подходы. Одноклассовый SVM. Isolation forest. [Конспект]

Лекция 17 (1 марта). Обучение без учителя. DBSCAN. Спектральная кластеризация. Supervised-метрики кластеризации.

Лекция 18 (15 марта). Частичное обучение. Self-training. Генеративные модели. Semi-supervised SVM. Частичное обучение и графовые методы.

Лекция 19 (22 марта). Рекомендательные системы. Коллаборативные модели: memory-based, матричные разложения, факторизационные машины. Контентные модели. Метрики качества. Архитектура рекомендательных систем. [Конспект]

Лекция 20 (5 апреля). Метрические методы. Метод k ближайших соседей для классификации и регрессии, его оптимальность. Измерение расстояний между текстами с помощью их внутренних представлений. Приближенные методы поиска соседей и locality sensitive hashing. Композиции хэш-функций, LSH forest. Обучение метрик, методы NCA и LMNN. [Конспект]

Лекция 21 (12 апреля). Метрические методы. Метрики качества кластеризации (unsupervised и supervised). Быстрый поиск ближайших соседей: методы NSW и HNSW.

Лекция 22 (19 апреля). Обучение ранжированию. Метрики качества ранжирования. Примеры факторов в ранжировании: BM25 и PageRank. Поточечный, попарный и списочный подходы. [Конспект]

Семинары

Семинар 14. Решение задач условной оптимизации. Условия Куна-Таккера. Двойственная задача SVM. [Конспект]

Семинар 15. Решение задач на ядра. [Конспект]

Семинар 16. EM-алгоритм. [Конспект]

Семинар 17. Оценки максимального правдоподобия на параметры многомерного нормального распределения. Байесовские классификаторы. [Конспект]

Семинар 18. Спектральная кластеризация. [Конспект]

Семинар 19. Multi-label классификация, focal loss. [Конспект]

Семинар 20. Вывод ALS и HALS для LFM. Факторизационные машины. [Конспект]

Семинар 21. Метод k ближайших соседей. Способы задания расстояния на различных типах признаков. [Конспект]

Семинар 22. Тематическое моделирование. [Конспект]

Теоретические задания

Теоретическое домашнее задание 1: ядровые методы [ссылка]

Теоретическое домашнее задание 2: обучение без учителя [ссылка]

Практические задания

За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна.

Задание 8. Кластеризация.

Мягкий дедлайн: 24.03.2019 05:59 MSK

Жесткий дедлайн: 28.03.2019 05:59 MSK

Условие

Задание 9. EM-алгоритм.

Мягкий дедлайн: 14.04.2019 07:59 MSK

Жесткий дедлайн: 16.04.2019 23:59 MSK

Условие

Задание 10. Тематическое моделирование.

Мягкий дедлайн: 12.05.2019 08:00 MSK

Жесткий дедлайн: 14.05.2019 23:59 MSK

Условие

Задание 11. Обобщённые линейные модели.

Жесткий дедлайн: 16.06.2019 07:59 MSK

Условие

Соревнования

Правила участия и оценивания

В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.

В лидербордах каждого из соревнований присутствуют несколько базовых решений (бейзлайнов), каждое из которых соответствует определённой оценке. Например, для получения оценки не ниже 8 баллов необходимо, чтобы ваше решение на приватном лидерборде оказалось лучше соответствующего бейзлайна. Далее для студента, преодолевшего бейзлайн на N_1 баллов, но не преодолевшего бейзлайн на N_2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:

N_2 - (N_2 - N_1) * i / M,

где M — количество студентов (из всех студентов, изучающих курс), преодолевших бейзлайн на N_1 баллов, но не преодолевших бейзлайн на N_2 балла;

i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.

Единственное исключение из формулы — студенты, преодолевшие самый сильный бейзлайн, получают прибавку 1/M к своей оценке.

Чтобы вас не пропустили при проверке решений соревнования, необходимо использовать следующий формат для имени команды (вкладка Team):

«Имя Фамилия номер_группы»

В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. При оформлении кода предполагайте, что данные лежат рядом с ним в папке data, а в результате выполнения кода ответы должны быть записаны в файл solution-N-Username.csv, где N — номер соревнования, Username — ваша фамилия. У нас должна быть возможность запустить код и получить те же ответы, что и в вашей посылке, — в частности, это означает, что:

1. Если вы отправляете файл *.py, мы будем запускать его при помощи команды python *.py в вышеуказанном предположении о местонахождении данных.

2. Если вы отправляете ноутбук *.ipynb, мы последовательно запустим все ячейки ноутбука и будем ожидать в результате его работы формирование файла с ответами.

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

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

Соревнование 4: Рекомендательная система

Дата выдачи: 24.04.2019

Срок окончания соревнования: 28.05.2019 23:59MSK

Срок отправки кода: 30.05.2019 23:59MSK

Ссылка на участие в соревновании

Коллоквиум

Коллоквиум пройдёт 18 мая.

Схема опроса на коллоквиуме:

  1. Разрешается принести с собой один лист А4, где от руки написано что угодно. Можно будет пользоваться этим листом в любом момент, кроме опроса по теоретическому минимуму.
  2. В начале студенту задаётся три вопроса из теоретического минимума. Отсутствие полного ответа на хотя бы один из них сразу же гарантирует нулевую оценку за коллоквиум. Если на все вопросы ответы полные и правильные, то студент получает 2 балла. Если при дальнейшем опросе студент демонстрирует ненулевые знания, то он получает ещё 2 балла за теоретический минимум.
  3. Далее студенту даётся вопрос из списка вопросов (первая ссылка выше). Ответ на него оценивается максимум в 4 балла.
  4. Далее студенту даётся ещё один вопрос из списка или задача. Ответ оценивается максимум в 4 балла.
  5. Все баллы суммируются, больше 10 баллов получить нельзя. Избыток баллов уходит в бонусы.

Экзамен

Вопросы: https://docs.google.com/document/d/1sOSePDjuunPk_OiVW8-VgWEuF-ZCCtE92NPl1hkbIbo/edit?usp=sharing

Полезные материалы

Книги

  • Hastie T., Tibshirani R, Friedman J. The Elements of Statistical Learning (2nd edition). Springer, 2009.
  • Bishop C. M. Pattern Recognition and Machine Learning. Springer, 2006.
  • Mohri M., Rostamizadeh A., Talwalkar A. Foundations of Machine Learning. MIT Press, 2012.
  • Murphy K. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
  • Mohammed J. Zaki, Wagner Meira Jr. Data Mining and Analysis. Fundamental Concepts and Algorithms. Cambridge University Press, 2014.
  • Willi Richert, Luis Pedro Coelho. Building Machine Learning Systems with Python. Packt Publishing, 2013.

Курсы по машинному обучению и анализу данных

Страницы предыдущих лет

2017/2018 учебный год

2016/2017 учебный год