Машинное обучение 2 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Правила выставления оценок)
Строка 9: Строка 9:
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
  
Лекции проходят по пятницам, 10:30 - 11:50, ауд. 317.
+
Лекции проходят по пятницам, 12:10 - 13:30, ауд. 317.
  
  
Строка 18: Строка 18:
 
=== Полезные ссылки ===
 
=== Полезные ссылки ===
  
[https://www.hse.ru/edu/courses/205514318 Карточка курса и программа]
+
[https://www.hse.ru/ba/ami/courses/219874286.html Карточка курса и программа]
  
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
  
Почта для сдачи домашних заданий: hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+151@gmail.com)
+
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+161@gmail.com)
  
Канал в telegram для объявлений: https://telegram.me/hse_cs_ml_2_course_2017
+
Канал в telegram для объявлений: https://t.me/joinchat/AAAAAFhaKwm7kIqKGeAojA
  
Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQEQ7r16nvyHbyXtjNA
+
Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQE2eFY0LN0AWcGH3qA
  
[https://docs.google.com/spreadsheets/d/16wj3eH2crdGY-MFqiMMUoy1E7uo80nYT2MYfz3Y7gx4/edit?usp=sharing Таблица с оценками]
+
[https://docs.google.com/spreadsheets/d/1u832G7b9aRyayoncaKXr7XPD6WisDr85AYRBKSVCMq0/edit?usp=sharing Таблица с оценками]
  
 
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
 
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
Строка 41: Строка 41:
 
! Группа !! Преподаватель !! Расписание
 
! Группа !! Преподаватель !! Расписание
 
|-
 
|-
| 151 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || пятница, 12:10 - 13:30, ауд. ??
+
| 161 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] ||  
 
|-
 
|-
| 152 (МОП) || [https://www.hse.ru/org/persons/191263008 Неклюдов Кирилл Олегович] || пятница, 12:10 - 13:30, ауд. ??
+
| 162 (МОП) || [https://www.hse.ru/org/persons/137283751 Атанов Андрей Игоревич] ||  
 +
|-
 +
| Курс по выбору || [https://www.hse.ru/org/persons/209813459 Каюмов Эмиль Марселевич] ||
 
|-
 
|-
 
|}
 
|}
Строка 50: Строка 52:
  
 
Консультации с преподавателями и учебными ассистентами по курсу проводятся по предварительной договорённости.
 
Консультации с преподавателями и учебными ассистентами по курсу проводятся по предварительной договорённости.
 
=== Правила выставления оценок ===
 
 
В курсе предусмотрено несколько форм контроля знания:
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и выполнение теоретических домашних заданий
 
* Теоретические домашние задания
 
* Практические домашние работы на Python
 
* Соревнования по анализу данных
 
* Письменный коллоквиум в конце 3-го модуля
 
* Письменный экзамен
 
  
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Строка 67: Строка 59:
 
Оценка за работу в семестре вычисляется по формуле
 
Оценка за работу в семестре вычисляется по формуле
  
O<sub>накопленная</sub> = 0.2 * O<sub>самостоятельные</sub> + 0.2 * O<sub>теоретические дз</sub> + 0.4 * О<sub>практические дз</sub> + 0.2 * О<sub>контрольная</sub>
+
O<sub>накопленная</sub> = 0.2 * O<sub>самостоятельные</sub> + 0.6 * О<sub>практические дз</sub> + 0.2 * О<sub>контрольная</sub>
  
 
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
 
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
Накопленная оценка, оценка за экзамен и итоговая округляются арифметически.
+
 
 +
Накопленная, экзаменационная и итоговая оценки округляются арифметически.
  
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
Строка 82: Строка 75:
 
== Лекции ==
 
== Лекции ==
  
'''Лекция 14''' (12 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра.  [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture14-kernels.pdf Конспект]]
+
'''Лекция 13''' (18 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра.  [[https://github.com/esokolov/ml-course-hse/blob/master/2018-spring/lecture-notes/lecture13-kernels.pdf Конспект]]
 
+
'''Лекция 15''' (19 января). Условная оптимизация, двойственные задачи, теорема Куна-Таккера. Двойственная задача SVM. Типы объектов в SVM. Kernel trick. Связь SVM с RBF-ядром и kNN.  [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture15-kernels.pdf Конспект]]
+
 
+
'''Лекция 16''' (26 января). RKHS и теорема о представлении. Аппроксимация ядер, метод случайных признаков Фурье. Ядровой метод главных компонент. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture16-kernels.pdf Конспект]]
+
 
+
'''Лекция 17''' (2 февраля). Смеси распределений. Модели со скрытыми переменными. KL-дивергения. EM-алгоритм в общем виде, его сходимость. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture17-em.pdf Конспект]]
+
 
+
'''Лекция 18''' (9 февраля). Работа с несбалансированными выборками. Одноклассовые методы и обнаружение аномалий: статистический и метрический подходы. Одноклассовый SVM. Isolation forest. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture18-anomaly.pdf Конспект]]
+
 
+
'''Лекция 19''' (16 февраля). Рекомендательные системы. Коллаборативные модели: memory-based, матричные разложения, факторизационные машины. Контентные модели. Метрики качества. Архитектура рекомендательных систем. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture19-recommender.pdf Конспект]]
+
 
+
'''Лекция 22''' (13 апреля). Метрические методы. Метод k ближайших соседей для классификации и регрессии, его оптимальность. Измерение расстояний между текстами с помощью их внутренних представлений. Приближенные методы поиска соседей и locality sensitive hashing. Композиции хэш-функций, LSH forest. Обучение метрик, методы NCA и LMNN. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture22-knn.pdf Конспект]]
+
 
+
'''Лекция 23''' (27 апреля). Обучение ранжированию. Метрики качества ранжирования. Примеры факторов в ранжировании: BM25 и PageRank. Поточечный, попарный и списочный подходы. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/lecture-notes/lecture23-ranking.pdf Конспект]]
+
  
 
== Семинары ==
 
== Семинары ==
'''Семинар 12''' (12 января). Ядра, спрямляющие пространства. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem12-kernels.pdf Конспект]]
 
 
'''Семинар 13''' (19 января). Решение задач условной оптимизации. Условия Куна-Таккера. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem13-kernels.pdf Конспект]]
 
 
'''Семинар 14''' (26 января). Двойственная задача метода опорных векторов. All-subsequences kernel. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem14-kernels.pdf Конспект]]
 
 
'''Семинар 15''' (2 февраля). Линейный дискриминант Фишера. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem15-kernels.pdf Конспект]]
 
 
'''Семинар 16''' (9 февраля). EM-алгоритм. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem16-em.pdf Конспект]]
 
 
'''Семинар 17''' (2 марта). EM-алгоритм для метода главных компонент. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem17-em.pdf Конспект]]
 
 
'''Семинар 18''' (16 марта). Параметрические методы восстановления плотности распределения. Байесовские классификаторы. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem18-bayes.pdf Конспект]]
 
 
'''Семинар 19''' (23 марта). Спектральная кластеризация. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem19-unsupervised.pdf Конспект]]
 
 
'''Семинар 20''' (13 апреля). Рекомендательные системы. Вывод формул для ALS и HALS. Факторизационные машины.  [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem20-recommender.pdf Конспект]]
 
 
'''Семинар 21''' (27 апреля). Модели попарных соотношений. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem21-ranking.pdf Конспект]]
 
 
'''Семинар 22''' (11 мая). Обобщенные линейные модели. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem22-glm.pdf Конспект]]
 
 
'''Семинар 23''' (18 мая). Generative adversarial networks. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/seminars/sem23-gan.pdf Конспект]]
 
 
'''Семинар 24''' (1 июня). Дифференциальная приватность.
 
  
 
== Теоретические задания ==
 
== Теоретические задания ==
Все дедлайны жёсткие. До дедлайна необходимо сдать фотографии/сканы решений либо решение, набранное в TeX. Если у проверяющих возникнут вопросы к решениям, то студента могут пригласить на защиту домашней работы. За полностью правильную работу, набранную в TeX, выставляется 1 бонусный балл (если работа набирает меньше баллов, то и бонусы пропорционально уменьшаются).
 
 
Оценки: https://docs.google.com/spreadsheets/d/1yLf9KChFzLrJgY_Dj0cydaz4ivFnPXw4Gi93mExWm-I/edit?usp=sharing (если в графе def стоит 0 — студент вызван на защиту).
 
 
'''ДЗ №9'''
 
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/homeworks-theory/homework-theory-09-kernels.pdf Условие]]
 
 
Дата выдачи: 14.02.2018
 
 
Срок отправки решений: 01.03.2018 23:59MSK
 
 
Защита: 06.04.2018 12:10 (ауд. 505)
 
 
'''ДЗ №10'''
 
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/homeworks-theory/homework-theory-10-unsupervised.pdf Условие]]
 
 
Дата выдачи: 11.04.2018
 
 
Срок отправки решений: 29.04.2018 23:59MSK
 
 
'''ДЗ №11 (не оценивается)'''
 
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/homeworks-theory/homework-theory-11-glm.pdf Условие]]
 
 
Дата выдачи: 03.06.2018
 
  
 
== Практические задания ==
 
== Практические задания ==
  
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
+
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна.  
 
+
'''Задание 1.''' Графы вычислений и обратное распространение ошибки
+
 
+
Дата выдачи: 10.03.2018
+
 
+
Мягкий дедлайн: 28.03.2018 23:59MSK
+
 
+
Жесткий дедлайн: 04.04.2018 23:59MSK
+
 
+
[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/homeworks-practice/homework-practice-04/homework-practice-04.ipynb Условие]
+
 
+
'''Задание 2.''' Частичное обучение и поиск аномалий
+
 
+
Дата выдачи: 07.05.2018
+
 
+
Мягкий дедлайн: 23.05.2018 23:59MSK
+
 
+
Жесткий дедлайн: 30.05.2018 23:59MSK
+
 
+
[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/homeworks-practice/homework-practice-05.ipynb Условие]
+
 
+
'''Задание 3 (бонусное).''' Обобщенные линейные модели
+
 
+
Дата выдачи: 04.06.2018
+
 
+
Жесткий дедлайн: 14.06.2018 23:59MSK
+
 
+
[https://github.com/esokolov/ml-course-hse/blob/master/2017-spring/homeworks-practice/homework-practice-06/homework-practice-06.ipynb Условие]
+
  
 
== Соревнования ==
 
== Соревнования ==
Строка 191: Строка 90:
 
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.
 
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.
  
 +
В лидербордах каждого из соревнований присутствуют несколько базовых решений (бейзлайнов), каждое из которых соответствует определённой оценке. Например, для получения оценки не ниже 8 баллов необходимо, чтобы ваше решение на '''приватном''' лидерборде оказалось лучше соответствующего бейзлайна. Далее для студента, преодолевшего бейзлайн на N_1 баллов, но не преодолевшего бейзлайн на N_2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:
  
В лидербордах каждого из соревнований присутствуют 3 базовых решения (бенчмарка), для получения оценки не ниже 4, 6 и 8 баллов соответственно, необходимо, чтобы ваше решение на '''приватном''' лидерборде оказалось лучше соответствующего бенчмарка. Далее для студента, преодолевшего бенчмарк на N баллов, но не преодолевшего бенчмарк на N+2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:
+
N_2 - (N_2 - N_1) * i  / M,
  
N + 2 - 2 * (i - [N = 8]) / M,
+
где M — количество студентов (из всех студентов, изучающих курс), преодолевших бейзлайн на N_1 баллов, но не преодолевших бейзлайн на N_2 балла;
 
+
где M — количество студентов (из всех студентов, изучающих курс), преодолевших бенчмарк на N баллов, но не преодолевших бенчмарк на N+2 балла;
+
  
 
i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.  
 
i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.  
  
 +
Единственное исключение из формулы — студенты, преодолевшие самый сильный бейзлайн, получают прибавку 1/M к своей оценке.
 +
 +
Чтобы вас не пропустили при проверке решений соревнования, '''необходимо''' использовать следующий формат для имени команды (вкладка Team):
 +
 +
«Имя Фамилия номер_группы»
  
 
В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. При оформлении кода предполагайте, что данные лежат рядом с ним в папке data, а в результате выполнения кода ответы должны быть записаны в файл solution-N-Username.csv, где N — номер соревнования, Username — ваша фамилия. У нас должна быть возможность запустить код и получить те же ответы, что и в вашей посылке, — в частности, это означает, что:
 
В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. При оформлении кода предполагайте, что данные лежат рядом с ним в папке data, а в результате выполнения кода ответы должны быть записаны в файл solution-N-Username.csv, где N — номер соревнования, Username — ваша фамилия. У нас должна быть возможность запустить код и получить те же ответы, что и в вашей посылке, — в частности, это означает, что:
Строка 209: Строка 112:
 
3. Если вы отправляете код с использованием другого языка программирования, в том же письме направьте нам инструкцию по его запуску с тем, чтобы получить тот же файл с ответами.  
 
3. Если вы отправляете код с использованием другого языка программирования, в том же письме направьте нам инструкцию по его запуску с тем, чтобы получить тот же файл с ответами.  
  
В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Студенты, попавшие в топ-5 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде.
+
В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Студенты, попавшие в топ-5 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях '''запрещено'''.
  
=== Соревнование 1: Система рекомендаций для интернет-магазина ===
+
== Коллоквиум ==
 
+
Дата выдачи: 21.03.2018
+
 
+
Срок окончания соревнования: 21.04.2018 23:59MSK
+
 
+
Срок отправки кода: 24.04.2018 23:59MSK
+
 
+
[https://www.kaggle.com/t/1de924dddc0b40c9aa32925325bfc4be Ссылка на участие в соревновании]
+
 
+
=== Соревнование 2: Cryptocurrency trading ===
+
 
+
Дата выдачи: 06.05.2018
+
 
+
Срок закрытия контеста на kaggle: 07.06.2018 02:59MSK
+
 
+
Срок отправки model.py и кода, воспроизводящего результат: 09.06.2018 23:59MSK
+
 
+
[https://www.kaggle.com/t/bacd0e3585f74e1a9308d4eaaee02a94 Ссылка на участие в соревновании]
+
 
+
== Контрольная работа ==
+
 
+
Дата: 08.06.2018
+
 
+
[https://docs.google.com/document/d/1KQYX50F4qeCoV3aAQulvgdfMIvWbPCtCIS8mhFIMnr4/edit?usp=sharing Вопросы к контрольной]
+
 
+
Каждый вариант будет состоять из теоретического вопроса и нескольких задач по аналогии с домашними заданиями и задачами из семинаров.
+
  
 
== Экзамен ==
 
== Экзамен ==
  
[https://docs.google.com/document/d/1TZt2je50Q4EJyZ6g25Q7LEJi_YkjZsimhxwAiy_10Kg/edit?usp=sharing Вопросы к экзамену]
 
  
 
== Полезные материалы ==
 
== Полезные материалы ==
Строка 259: Строка 135:
  
 
== Страницы предыдущих лет ==
 
== Страницы предыдущих лет ==
 +
 +
[[Машинное_обучение_2/2017_2018 | 2017/2018 учебный год]]
  
 
[[Машинное_обучение_2/2016_2017 | 2016/2017 учебный год]]
 
[[Машинное_обучение_2/2016_2017 | 2016/2017 учебный год]]

Версия 17:55, 20 января 2019

О курсе

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. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра. [Конспект]

Семинары

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

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

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

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

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

В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 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 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях запрещено.

Коллоквиум

Экзамен

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

Книги

  • 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 учебный год