Семинары по машинному обучению, ВМК МГУ
Конспекты, код и прочие материалы к семинарам по машинному обучению, проводимым на ВМК МГУ.
Почта для заданий: ml.cmc.msu@gmail.com
Страница курса на machinelearning.ru
Канал в telegram для объявлений
На семинары и работу ассистента можно оставить отзыв: [анонимно без регистрации и смс]
Курс лекций на ФКН ВШЭ: [wiki] [материалы]
Правила выставления оценок
Итоговая контрольная работа:
- На последней лекции будет проведена контрольная работа, которая затронет все темы, изученные в течение семестра.
- Контрольная оценивается по двухбалльной шкале (зачет/незачет), незачет влечет за собой недопуск к экзамену.
- Студент, не получивший допуск, переписывает на экзамене контрольную. В случае успеха он сдает экзамен на первой пересдаче. В случае незачета он снова переписывает контрольную на первой пересдаче, и так далее.
Семинары:
- На семинарах по каждой пройденной теме будут проводиться проверочные работы. Каждая проверочная оценивается по пятибалльной шкале. В зависимости от оценки за проверочную, студент освобождается от части или от всех задач по этой теме на итоговой контрольной работе.
- На семинарах будут выдаваться практические задания, которые будут оцениваться по десятибалльной шкале.
- В течение семестра будут проводиться конкурсы по анализу данных. Правила выставления оценок для каждого конкурса указываются в условиях самого конкурса.
- Оценка за работу в семестре равна сумме оценок за проверочные работы, практические задания и конкурсы.
- Если оценка за работу в семестре не меньше 100% от максимальной оценки за проверочные и лабораторные работы, то студент освобождается от написания итоговой контрольной и получает допуск к экзамену автоматом.
- Если оценка за работу в семестре не меньше 80% от максимальной оценки за проверочные и лабораторные работы и конкурсы, то студент получает +1 балл на экзамене (при условии получения положительной оценки).
- В конце семестра разрешается переписать все проверочные, пропущенные по уважительной причине.
Занятия
Дата | Номер | Тема | Материалы | ДЗ |
---|---|---|---|---|
2 сентября | Семинар 1 | Вводное занятие:
|
Конспект | |
16 сентября | Семинар 2 | Метрические методы:
|
Конспект Notebook |
|
23 сентября | Семинар 3 | Метрические методы:
|
Конспект Notebook |
Домашнее задание |
30 сентября | Семинар 4 | Решающие деревья:
|
Конспект | Домашнее задание |
7 октября | Семинар 5 | Решающие деревья:
|
Конспект Notebook |
|
14 октября | Семинар 6 | Метрики качества:
|
Теория: конспект, раздел 2 Практика: конспект, задача 1.1 |
|
21 октября | Семинар 7 | Метрики качества:
|
Теория: конспект, раздел 2 Практика: конспект, задачи 1.2, 1.3, 1.4 |
Домашнее задание |
28 октября | Семинар 8 | Линейная классификация:
|
Теория: конспект | |
11 ноября | Семинар 9 | Линейная классификация:
|
Теория: конспект конспект по разреженным моделям, раздел 5 |
Домашнее задание |
18 ноября | Семинар 10 | Условная оптимизация:
|
Теория: конспект | Домашнее задание |
25 ноября | Семинар 11 | Отчёты о соревнованиях: | ||
2 декабря | Семинар 12 | Линейные модели:
|
Теория: конспект | Домашнее задание |
9 декабря | Семинар 13 | Линейные модели:
|
Теория: конспект | Домашнее задание |
16 декабря | Семинар 14 | Байесовские методы:
|
Теория: конспект | |
16 февраля | Семинар 15 | Разложение ошибки на смещение и разброс | Конспект | Домашнее задание |
2 марта | Семинар 16 | Композиции, случайные леса | Конспект | |
9 марта | Семинар 17 | Градиентный бустинг | Теория Задачи |
|
16 марта | Семинар 18 | EM-алгоритм и смеси нормальных распределений | Конспект (1.1-1.4) | Домашнее задание |
Практические задания
Если задание сдано и было проверено до дедлайна, то разрешается без штрафа внести исправления и прислать новую версию. Новую версию необходимо прислать не позднее мягкого дедлайна. Дальнейшие исправления возможны на усмотрение преподавателей.
Чтобы мы точно успели проверить решение, рекомендуем присылать хотя бы за неделю до дедлайна.
Обратите внимание, что по каждому заданию даётся два дедлайна: мягкий и жёсткий. За сдачу задания после мягкого дедлайна оценка понижается на 0.05*n*(n + 1) баллов, где n — количество дней просрочки. Оценка за задание не может быть отрицательной.
Задание 1: Pandas, kNN и решающие деревья
Дата выдачи: 16.10.2016
Мягкий дедлайн: 30.10.2016, 23:59 MSK
Жёсткий дедлайн: 06.11.2016 23:59 MSK
Задание 2: решающие деревья
Дата выдачи: 14.11.2016
Мягкий дедлайн: 05.12.2016, 05:59 MSK
Задание 3: EM-алгоритм
Дата выдачи: 18.04.2017
Мягкий дедлайн: 07.05.2017, 05:59 MSK
Соревнования
По каждому соревнованию в течение недели после его окончания необходимо прислать краткий отчёт о решении и код, с помощью которого можно воспроизвести решение.
Соревнование 1: вероятность победы в Dota 2
Дата выдачи: 21.10.2016
Дедлайн для индивидуального участия: 6.11.2016
Старт командного участия: 7.11.2016
Дедлайн для командного участия: 20.11.2016
Соревнование: https://inclass.kaggle.com/c/cmc-msu-machine-learning-fall-2016-2017-competition-1
Ссылка для участия: link
За первое, второе и третье место в индивидуальной части контеста ставится 10, 9 и 8 баллов соответственно. За места с четвертого и по самое последнее выставляется от 7 до 1 баллов по равномерной сетке. Участникам, которые не смогли преодолеть бейзлайн, оценка обнуляется.
По окончании индивидуальной части участники делятся по рейтингу на 3 или 4 корзинки (в зависимости от их количества), из которых собираются случайные равномерные по силе команды. В командной части за места с первого по третье ставятся 4, 3 и 2 балла, а дальше по равномерной сетке до 1. Также в каждой команде будет подсчитан процент улучшения качества относительно лучшего из участников; исходя из этого рейтинга, будут проставлены дополнительные баллы по такому же принципу, как и в предыдущем предложении. Следует помнить, что оценка в командной части для участников из нижних корзинок будет сильно зависить от их понимания решения (отчета и выступления).
По окончании контестов участники, занявшие первые 3 места должны выступить с кратким рассказом о своем решении. Если все присланные группой решения будут тривиальными, то преподаватель имеет право снизить максимальную оценку до 10 или 5 баллов.
Альтернативное соревнование
Правила выставления оценок аналогичны правилам по индивидуальной части соревнования по Dota. Никаких ограничений на методы решения не накладывается. Командное решение не предусмотрено. Если студент участвовал и в индивидуальном соревновании по Dota, и в данном соревновании, то ему будет выставлена максимальная из двух оценок, а не сумма. Возможно решение сначала только контеста Сбербанка, а потом командное учебного по Dota, но нужно заранее (за пару дней до начала командной части) уведомить об этом преподавателей. В зависимости от количества участников контеста шкала может быть понижена и/или разрежена. Также за высокие места среди всех участников в общем зачете или по каждой задаче могут выдаваться серьёзные бонусы.
Соревнование 2: Santander Product Recommendation
Дата выдачи: 28.11.2016
Начало командной части: 7.12.2016
Дедлайн на образование команд: 14.12.2016 (позже этого числа kaggle не разрешит слияние)
Оконачание контеста: 21.12.2016
Соревнование: https://www.kaggle.com/c/santander-product-recommendation
Для участия в командной части нужно занять достаточно высокое место на public leaderboard. Ориентировочно потребуется занять место min(60, лучшее_место_лучшего_скрипта - 5), но ближе к началу командной части этот порог может быть изменен в ту или иную сторону по усмотрению преподавателей. Всем, кто преодолеет этот порог, будут начислены 7 баллов.
Для каждой команды будет выделен "куратор" — человек, у которого есть опыт в решении контестов и который сможет помочь с идеями. За хорошие места на private leaderboard будут поставлены дополнительные баллы.
Пользоваться можно любыми алгоритмами машинного обучения, даже теми, что еще не были рассмотрены в курсе.