Машинное обучение 2/2023 2024 — различия между версиями
Esokolov (обсуждение | вклад) (→Экзамен) |
Esokolov (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич] | '''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич] | ||
− | |||
− | |||
Строка 18: | Строка 16: | ||
=== Полезные ссылки === | === Полезные ссылки === | ||
− | [https://www.hse.ru/ | + | [https://www.hse.ru/edu/courses/292675363 Карточка курса и программа] |
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub] | [https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub] | ||
Строка 24: | Строка 22: | ||
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+161@gmail.com) | Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+161@gmail.com) | ||
− | Канал в telegram для объявлений: https://t.me/joinchat/ | + | Канал в telegram для объявлений: https://t.me/joinchat/AAAAAE5SoOZ7xcP42p_G-Q |
+ | |||
+ | Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/joinchat/A5rlQBUrWTeXl7eBbnyBcQ | ||
− | + | Ссылка на курс в Anytask: | |
− | [https://docs.google.com/spreadsheets/d/ | + | [https://docs.google.com/spreadsheets/d/1QIUMUkjzHfRqNIkYHVb4jsi3Pkq7URAQWSW8c9UwE-g/edit?usp=sharing Таблица с оценками] |
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма] | Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма] | ||
Строка 41: | Строка 41: | ||
! Группа !! Преподаватель !! Расписание | ! Группа !! Преподаватель !! Расписание | ||
|- | |- | ||
− | | | + | | 171 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || |
|- | |- | ||
− | | | + | | 172 (МОП) || [https://www.hse.ru/org/persons/209813459 Каюмов Эмиль Марселевич] || |
|- | |- | ||
− | | Курс по выбору || [https://www.hse.ru/org/persons/ | + | | Курс по выбору || [https://www.hse.ru/org/persons/? Рысьмятова Анастасия Александровна] || |
|- | |- | ||
|} | |} | ||
− | === | + | === Правила выставления оценок === |
− | + | В курсе предусмотрено несколько форм контроля знания: | |
+ | * Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций | ||
+ | * Практические домашние работы на Python | ||
+ | * Проект | ||
+ | * Письменная контрольная работа | ||
+ | * Письменный экзамен | ||
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен: | Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен: | ||
− | + | Итог = Округление(0.3 * ДЗ + 0.15 * П + 0.2 * К + 0.1 * ПР + 0.25 * Э) | |
− | + | ПР — средняя оценка за самостоятельные работы на семинарах | |
− | + | ДЗ — средняя оценка за практические домашние работы на Python | |
− | + | П — оценка за проект | |
− | + | КР — оценка за контрольную работу | |
+ | |||
+ | Э — оценка за экзамен | ||
+ | |||
+ | Округление арифметическое. | ||
=== Правила сдачи заданий === | === Правила сдачи заданий === | ||
− | За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. | + | За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключения, о них написано ниже. |
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента. | При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента. | ||
− | При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён | + | При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис. |
== Лекции == | == Лекции == | ||
− | + | Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются! | |
− | '''Лекция | + | '''Лекция 13''' (24 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-spring/lecture-notes/lecture13-kernels.pdf Конспект]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Семинары == | == Семинары == | ||
− | '''Семинар 14'''. Решение задач условной оптимизации. Условия Куна-Таккера. | + | '''Семинар 14'''. Решение задач условной оптимизации. Условия Куна-Таккера. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Теоретические задания == | == Теоретические задания == | ||
− | |||
− | |||
− | |||
− | |||
== Практические задания == | == Практические задания == | ||
− | За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна. | + | За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное). |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Соревнования == | == Соревнования == | ||
Строка 182: | Строка 125: | ||
3. Если вы отправляете код с использованием другого языка программирования, в том же письме направьте нам инструкцию по его запуску с тем, чтобы получить тот же файл с ответами. | 3. Если вы отправляете код с использованием другого языка программирования, в том же письме направьте нам инструкцию по его запуску с тем, чтобы получить тот же файл с ответами. | ||
− | В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Студенты, попавшие в топ-5 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях '''запрещено'''. | + | В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Студенты, попавшие в топ-5 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях '''запрещено'''. Под внешними данными понимаются размеченные данные, где разметка имеет прямое отношение к решаемой задаче. Грубо говоря, сборник текстов с википедии не считается внешними данными. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Коллоквиум == | == Коллоквиум == | ||
− | + | * [https://docs.google.com/document/d/1pSRySGMbE-oTr1HAOCKeAr6OdutPV2huCEC5fBct74Y/edit?usp=sharing Вопросы] прошлого года | |
− | + | * [https://docs.google.com/document/d/1iJ_Q5hBiKpPd3MQ3OhBA6SzyIaTiLuuOKphjAi_fIlU/edit?usp=sharing Теоретический минимум] прошлого года | |
− | * [https://docs.google.com/document/d/1pSRySGMbE-oTr1HAOCKeAr6OdutPV2huCEC5fBct74Y/edit?usp=sharing Вопросы] | + | |
− | * [https://docs.google.com/document/d/1iJ_Q5hBiKpPd3MQ3OhBA6SzyIaTiLuuOKphjAi_fIlU/edit?usp=sharing Теоретический минимум] | + | |
Схема опроса на коллоквиуме: | Схема опроса на коллоквиуме: | ||
Строка 210: | Строка 141: | ||
== Экзамен == | == Экзамен == | ||
− | Вопросы: https://docs.google.com/document/d/1sOSePDjuunPk_OiVW8-VgWEuF-ZCCtE92NPl1hkbIbo/edit?usp=sharing | + | Вопросы прошлого года: https://docs.google.com/document/d/1sOSePDjuunPk_OiVW8-VgWEuF-ZCCtE92NPl1hkbIbo/edit?usp=sharing |
== Полезные материалы == | == Полезные материалы == | ||
Строка 228: | Строка 159: | ||
== Страницы предыдущих лет == | == Страницы предыдущих лет == | ||
+ | |||
+ | [[Машинное_обучение_2/2018_2019 | 2018/2019 учебный год]] | ||
[[Машинное_обучение_2/2017_2018 | 2017/2018 учебный год]] | [[Машинное_обучение_2/2017_2018 | 2017/2018 учебный год]] | ||
[[Машинное_обучение_2/2016_2017 | 2016/2017 учебный год]] | [[Машинное_обучение_2/2016_2017 | 2016/2017 учебный год]] |
Версия 00:43, 28 января 2020
Содержание
О курсе
Курс читается для студентов 3-го курса ПМИ ФКН ВШЭ в 3-4 модулях.
Проводится с 2016 года.
Лектор: Соколов Евгений Андреевич
Полезные ссылки
Репозиторий с материалами на GitHub
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+161@gmail.com)
Канал в telegram для объявлений: https://t.me/joinchat/AAAAAE5SoOZ7xcP42p_G-Q
Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/joinchat/A5rlQBUrWTeXl7eBbnyBcQ
Ссылка на курс в Anytask:
Оставить отзыв на курс: форма
Вопросы по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде Issue в github-репозитории курса.
Семинары
Группа | Преподаватель | Расписание |
---|---|---|
171 (МОП) | Зиннурова Эльвира Альбертовна | |
172 (МОП) | Каюмов Эмиль Марселевич | |
Курс по выбору | Рысьмятова Анастасия Александровна |
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знания:
- Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
- Практические домашние работы на Python
- Проект
- Письменная контрольная работа
- Письменный экзамен
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Итог = Округление(0.3 * ДЗ + 0.15 * П + 0.2 * К + 0.1 * ПР + 0.25 * Э)
ПР — средняя оценка за самостоятельные работы на семинарах
ДЗ — средняя оценка за практические домашние работы на Python
П — оценка за проект
КР — оценка за контрольную работу
Э — оценка за экзамен
Округление арифметическое.
Правила сдачи заданий
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключения, о них написано ниже.
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Лекции
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
Лекция 13 (24 января). Двойственные представления для линейной регрессии и SVM. Ядра. Теорема Мерсера. Способы построения ядер. Полиномиальные и гауссовы ядра. [Конспект]
Семинары
Семинар 14. Решение задач условной оптимизации. Условия Куна-Таккера.
Теоретические задания
Практические задания
За каждый день просрочки после мягкого дедлайна снимается 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 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях запрещено. Под внешними данными понимаются размеченные данные, где разметка имеет прямое отношение к решаемой задаче. Грубо говоря, сборник текстов с википедии не считается внешними данными.
Коллоквиум
- Вопросы прошлого года
- Теоретический минимум прошлого года
Схема опроса на коллоквиуме:
- Разрешается принести с собой один лист А4, где от руки написано что угодно. Можно будет пользоваться этим листом в любом момент, кроме опроса по теоретическому минимуму.
- В начале студенту задаётся три вопроса из теоретического минимума. Отсутствие полного ответа на хотя бы один из них сразу же гарантирует нулевую оценку за коллоквиум. Если на все вопросы ответы полные и правильные, то студент получает 2 балла. Если при дальнейшем опросе студент демонстрирует ненулевые знания, то он получает ещё 2 балла за теоретический минимум.
- Далее студенту даётся вопрос из списка вопросов (первая ссылка выше). Ответ на него оценивается максимум в 4 балла.
- Далее студенту даётся ещё один вопрос из списка или задача. Ответ оценивается максимум в 4 балла.
- Все баллы суммируются, больше 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.
Курсы по машинному обучению и анализу данных
- Курс по машинному обучению К.В. Воронцова
- Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов
- Coursera: Машинное обучение и анализ данных (специализация)
- Coursera: Введение в машинное обучение, К.В. Воронцов