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

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

О курсе

borderless

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

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

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

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




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

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

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

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

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

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

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

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

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

Семинары

Группа Преподаватель Расписание
151 (МОП) Зиннурова Эльвира Альбертовна пятница, 12:10 - 13:30, ауд. ??
152 (МОП) Неклюдов Кирилл Олегович пятница, 12:10 - 13:30, ауд. ??

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

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

Правила выставления оценок

В курсе предусмотрено несколько форм контроля знания:

  • Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и выполнение теоретических домашних заданий
  • Теоретические домашние задания
  • Практические домашние работы на Python
  • Соревнования по анализу данных
  • Письменный коллоквиум в конце 3-го модуля
  • Письменный экзамен

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

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

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

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

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

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

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

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

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

Лекции

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

Лекция 15 (19 января). Условная оптимизация, двойственные задачи, теорема Куна-Таккера. Двойственная задача SVM. Типы объектов в SVM. Kernel trick. Связь SVM с RBF-ядром и kNN. [Конспект]

Лекция 16 (26 января). RKHS и теорема о представлении. Аппроксимация ядер, метод случайных признаков Фурье. Ядровой метод главных компонент. [Конспект]

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

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

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

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

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

Семинары

Семинар 12 (12 января). Ядра, спрямляющие пространства. [Конспект]

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

Семинар 14 (26 января). Двойственная задача метода опорных векторов. All-subsequences kernel. [Конспект]

Семинар 15 (2 февраля). Линейный дискриминант Фишера. [Конспект]

Семинар 16 (9 февраля). EM-алгоритм. [Конспект]

Семинар 17 (2 марта). EM-алгоритм для метода главных компонент. [Конспект]

Семинар 18 (16 марта). Параметрические методы восстановления плотности распределения. Байесовские классификаторы. [Конспект]

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

Семинар 20 (13 апреля). Рекомендательные системы. Вывод формул для ALS и HALS. Факторизационные машины. [Конспект]

Семинар 21 (27 апреля). Модели попарных соотношений. [Конспект]

Семинар 22 (11 мая). Обобщенные линейные модели. [Конспект]

Семинар 23 (18 мая). Generative adversarial networks. [Конспект]

Семинар 24 (1 июня). Дифференциальная приватность.

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

Все дедлайны жёсткие. До дедлайна необходимо сдать фотографии/сканы решений либо решение, набранное в TeX. Если у проверяющих возникнут вопросы к решениям, то студента могут пригласить на защиту домашней работы. За полностью правильную работу, набранную в TeX, выставляется 1 бонусный балл (если работа набирает меньше баллов, то и бонусы пропорционально уменьшаются).

Оценки: https://docs.google.com/spreadsheets/d/1yLf9KChFzLrJgY_Dj0cydaz4ivFnPXw4Gi93mExWm-I/edit?usp=sharing (если в графе def стоит 0 — студент вызван на защиту).

ДЗ №9

[Условие]

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

Срок отправки решений: 01.03.2018 23:59MSK

Защита: 06.04.2018 12:10 (ауд. 505)

ДЗ №10

[Условие]

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

Срок отправки решений: 29.04.2018 23:59MSK

ДЗ №11 (не оценивается)

[Условие]

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

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

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

Задание 1. Графы вычислений и обратное распространение ошибки

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

Мягкий дедлайн: 28.03.2018 23:59MSK

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

Условие

Задание 2. Частичное обучение и поиск аномалий

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

Мягкий дедлайн: 23.05.2018 23:59MSK

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

Условие

Задание 3 (бонусное). Обобщенные линейные модели

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

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

Условие

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

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

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


В лидербордах каждого из соревнований присутствуют 3 базовых решения (бенчмарка), для получения оценки не ниже 4, 6 и 8 баллов соответственно, необходимо, чтобы ваше решение на приватном лидерборде оказалось лучше соответствующего бенчмарка. Далее для студента, преодолевшего бенчмарк на N баллов, но не преодолевшего бенчмарк на N+2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:

N + 2 - 2 * (i - [N = 8]) / M,

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

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


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

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

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

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

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

Соревнование 1: Система рекомендаций для интернет-магазина

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

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

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

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

Соревнование 2: Cryptocurrency trading

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

Срок закрытия контеста на kaggle: 07.06.2018 02:59MSK

Срок отправки model.py и кода, воспроизводящего результат: 09.06.2018 23:59MSK

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

Контрольная работа

Дата: 08.06.2018

Вопросы к контрольной

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

Экзамен

Вопросы к экзамену

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

Книги

  • 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.

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

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

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