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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Экзамен)
 
(не показаны 442 промежуточные версии 56 участников)
Строка 8: Строка 8:
  
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
 
Лекции проходят по вторникам, 10:30 - 11:50, ауд. 317.
 
  
  
Строка 18: Строка 16:
 
=== Полезные ссылки ===
 
=== Полезные ссылки ===
  
[https://www.hse.ru/ba/ami/courses/184763700.html Карточка курса и программа]
+
[https://www.hse.ru/edu/courses/646510131 Карточка курса и программа]
  
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
  
Почта для сдачи домашних заданий: hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+141@gmail.com)
+
[https://www.youtube.com/watch?v=OBG6EUSRC9g&list=PLEqoHzpnmTfDwuwrFHWVHdr1-qJsfqCUX Видеозаписи лекций 18/19 года]
 +
 
 +
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+171@gmail.com)
 +
 
 +
Канал в telegram для объявлений: https://t.me/+8Q3FOPazf-kwOWM6
 +
 
 +
Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/+068EETxxsvYxM2Qy
  
Канал в telegram для объявлений: https://telegram.me/hse_cs_ml_course
+
Ссылка на курс в Anytask: [https://anytask.org/course/1062 Ссылка]
  
[https://docs.google.com/spreadsheets/d/1BhzeronD6_DUcH1l0W2ohN4wU97DobLj0tp9-nELNSY/edit?usp=sharing Таблица с оценками]
+
[https://docs.google.com/spreadsheets/d/1SXEMnqS2aKEeZsAEKPk6Lxxmxm1DHONWmofufe0jvmg/edit?usp=sharing Таблица с оценками]
  
 
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
 
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
  
'''Вопросы''' по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу.
+
'''Вопросы''' по курсу можно задавать в телеграм лектору (esokolov@) или семинаристу.
Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде [https://github.com/esokolov/ml-course-hse/issues Issue] в [https://github.com/esokolov/ml-course-hse github-репозитории курса].
+
Вопросы по материалам лекций/семинаров и по заданиям лучше всего задавать на [https://github.com/esokolov/ml-course-hse/discussions форуме].
  
 
=== Семинары ===
 
=== Семинары ===
Строка 37: Строка 41:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание
+
! Группа !! Преподаватель !! Ссылка на чат в телеграме !! Код инвайта на энитаск
 
|-
 
|-
| 141 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || Козловская Наталия || || вторник, 12:10 - 13:30, ауд. 513
+
| 211 (МОП) || [https://www.hse.ru/org/persons/225560347 Морозов Никита Витальевич] || https://t.me/+9OnS8UETnPc1YzYy || 9SD8UZw
 
|-
 
|-
| 142 (МОП) || [https://www.hse.ru/org/persons/191263008 Неклюдов Кирилл Олегович] || Егоров Евгений || || вторник, 12:10 - 13:30, ауд. 503
+
| 212 (МОП) || [https://www.hse.ru/staff/esokolov Соколов Евгений Андреевич] || || p7xUNm6
 
|-
 
|-
| 143 (АПР) || [https://www.hse.ru/org/persons/192085968 Яшков Даниил Дмитриевич] || Потапенко Анна || || вторник, 12:10 - 13:30, ауд. 505
+
| 213 (МОП) || [Еленик Константин] || || BQJIqvE
 
|-
 
|-
| 144 (АДИС) || [https://www.hse.ru/org/persons/191576735 Чиркова Надежда Александровна] || Сафин Александр || [https://github.com/nadiinchi/HSE_FCS_seminars семинары]|| вторник, 13:40 - 15:00, ауд. 503
+
| 214 (ТИ) + 217 (АПР) || [Сендерович Александра] || https://t.me/+KZTbPhO6JR9hZjRi || 5QBsIpt
 
|-
 
|-
| 145 (РС) || [https://www.hse.ru/org/persons/141880775 Умнов Алексей Витальевич] || Грачев Артем || [http://wiki.cs.hse.ru/Машинное_обучение_1/Группа_145_РС семинары] || пятница, 12:10 - 13:30, ауд. 501
+
| 215 (РС) || [Орлов Александр] || https://t.me/+Nwx3IQMQiE82NzQy || H4L7odY
 
|-
 
|-
 +
| 216 (РС) || [https://www.hse.ru/org/persons/225544191 Коган Александра] || https://t.me/+d0dSIctKNRg1MzUy || dgZTdtM
 +
|-
 +
| 218 (АДИС) || [Ульянкин Филипп] || || DMyEAZA
 +
|-
 +
| 2110 (ПР) || [Иванов Семен] || || NkV8Do3
 +
|-
 +
| ФЭН1 || [Багиров Гейдар] || || ZdRjV35
 +
|-
 +
| ФЭН2 || [Баранов Михаил] || || ev5RYXy
 +
|-
 +
| КНАД || [Косакин Даниил] || https://t.me/+Z4WfCB778mI0ZjI6 || AxaC2TP
 
|}
 
|}
  
=== Консультации ===
+
=== Ассистенты ===
  
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.
+
{| class="wikitable"
 +
|-
 +
! Группа !! Ассистент
 +
|-
 +
| 211 (МОП) || [https://t.me/TheDullestPageOnTelegram Петренко Максим], [https://t.me/tutugarin Ершов Иван]
 +
|-
 +
| 212 (МОП) || [https://t.me/mishlen25 Исаков Михаил], [https://t.me/kemmeritocracy Кеммер Анастасия]
 +
|-
 +
| 213 (МОП) || [https://t.me/kvdmitrieva Дмитриева Екатерина], [https://t.me/@mdeil007 Данил Иванов]
 +
|-
 +
| 214 (ТИ) + 217 (АПР) || [https://t.me/rey_arzhan Аржанцев Андрей], [https://t.me/artem_babak Бабак Артем Юрьевич]
 +
|-
 +
| 215 (РС) || [https://t.me/aiziks Максутова Айза]
 +
|-
 +
| 216 (РС) || [https://t.me/afnastya Афанасьева Анастасия]
 +
|-
 +
| 218 (АДИС) || [https://t.me/elineii Костромина Алина], [https://t.me/dogfew Перепелкин Владимир]
 +
|-
 +
| 2110 (ПР) || [https://t.me/cocosinca Неудачина Ева]
 +
|-
 +
| ФЭН1 || [https://t.me/jeembogod Березовский Валерий], [https://t.me/amsilevich Силевич Артем]
 +
|-
 +
| ФЭН2 || [https://t.me/manukyan077 Манукян Айк]
 +
|-
 +
| КНАД || [https://t.me/pauchara0 Петров Олег]
 +
|}
  
 
=== Правила выставления оценок ===
 
=== Правила выставления оценок ===
  
 
В курсе предусмотрено несколько форм контроля знания:
 
В курсе предусмотрено несколько форм контроля знания:
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и выполнение теоретических домашних заданий
+
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и семинаров
 
* Практические домашние работы на Python
 
* Практические домашние работы на Python
* Соревнования по анализу данных
+
* Письменная контрольная работа
* Устный коллоквиум в конце 1-го модуля
+
* Письменный экзамен
* Устный экзамен
+
  
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
  
O<sub>итоговая</sub> = 0.7 * O<sub>накопленная</sub> + 0.3 * О<sub>экз</sub>
+
Итог = Округление(0.15 * ПР + 0.4 * ДЗ + 0.15 * КР + 0.3 * Э)
  
Оценка за работу в семестре вычисляется по формуле
+
ПР — средняя оценка за самостоятельные работы на семинарах
  
O<sub>накопленная</sub> = 0.2 * O<sub>самостоятельные</sub> + 0.6 * О<sub>дз</sub> + 0.2 * О<sub>коллоквиум</sub>
+
ДЗ — средняя оценка за практические домашние работы на Python
  
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
+
КР — оценка за контрольную работу
  
Также за каждое практическое задание и соревнование можно получить дополнительные баллы, которые влияют на выставление оценки за курс автоматом. Необходимым условием для получения автомата является накопленная оценка, равная 8 или выше.
+
Э — оценка за экзамен
 +
 
 +
Округление арифметическое.
  
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
  
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работа не принимаются.
+
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее.
 +
 
 +
Два раза студент может сдать домашнее задание после мягкого дедлайна (но до жёсткого) без штрафов.
  
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
  
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
+
Использовать генеративные модели (ChatGPT, GitHub Copilot и прочие) можно. Но если вы их применяете, то обязательно нужно сделать следующее:
  
== Лекции ==
+
1. Указывать, какие части ДЗ выполнены с использованием генеративных моделей.
  
'''Лекция 1''' (6 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture01-intro.pdf Конспект]]
+
2. Добавить в конец вашего решения небольшой раздел с рефлексией, где вы описываете, как подбирали промпты, какие заметили преимущества и недостатки генеративных моделей при выполнении данного ДЗ.
  
'''Лекция 2''' (13 сентября). Линейная регрессия. Метрики качества регрессии. Градиентный спуск и способы оценивания градиента. Переобучение и регуляризация. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture02-linregr.pdf Конспект]]
+
Также мы в любом случае оставляем за собой право пригласить студента для защиты своего ДЗ, если заподозрим плагиат.
  
'''Лекция 3''' (20 сентября). Переобучение и регуляризация. Разреженные линейные модели. Квантильная регрессия. Подготовка признаков. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture03-linregr.pdf Конспект]]
+
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
  
'''Лекция 4''' (27 сентября). Линейная классификация. Отступ и верхние оценки на пороговую функцию потерь. Метрики качества классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture04-linclass.pdf Конспект]]
+
== Лекции ==
  
'''Лекция 5''' (4 октября). Линейная классификация. Логистическая регрессия и оценки вероятности классов. Метод опорных векторов. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture05-linclass.pdf Конспект]]
+
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
  
'''Лекция 6''' (11 октября). Многоклассовая классификация, сведение к бинарным задачам. Многоклассовая логистическая регрессия. Классификация с пересекающимися классами. Метрики качества многоклассовой классификации. Категориальные признаки: хэширование и счётчики. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture06-linclass.pdf Конспект]]
+
'''Лекция 1''' (8 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture01-intro.pdf Конспект]] [[https://youtu.be/n_2_eq6Y-c8 Запись лекции]]
  
'''Лекция 7''' (18 октября). Решающие деревья. Жадный алгоритм построения. Выбор лучшего разбиения с помощью критерия информативности. Критерии информативности для регрессии и классификации. Учёт пропусков в деревьях. Решающие деревья и категориальные признаки. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture07-trees.pdf Конспект]]
+
'''Лекция 2''' (15 сентября). Линейная регрессия. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture02-linregr.pdf Конспект]] [[https://youtu.be/n69ER7RJLys Запись лекции]]
  
'''Лекция 8''' (1 ноября). Бутстрап и бэггинг. Разложение ошибки на смещение и разброс (bias-variance decomposition). Случайный лес. Вычисление расстояний с помощью лесов. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture08-ensembles.pdf Конспект]]
+
'''Лекция 3''' (22 сентября). Обобщающая способность, градиентные методы. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture03-linregr.pdf Конспект]] [[https://youtu.be/43sSNZPHBxI Запись лекции]]
  
'''Лекция 9''' (8 ноября). Градиентный бустинг. Регуляризация. Особенности бустинга над деревьями. Взвешивание объектов в градиентном бустинге. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture09-ensembles.pdf Конспект]]
+
'''Лекция 4''' (29 сентября). Модификации градиентного спуска, регуляризация. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture04-linregr.pdf Конспект]] [[https://youtu.be/AJYcKzlFg1A Запись лекции]]
  
'''Лекция 10''' (15 ноября). Оптимизация второго порядка в градиентном бустинге. Регуляризация деревьев. XGBoost. Стекинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture10-ensembles.pdf Конспект]]
+
'''Лекция 5''' (6 октября). Регуляризация, разреженные модели, линейная классификация. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture05-linclass.pdf Конспект]] [[https://youtu.be/TXZsyWq_WKo Запись лекции]]
  
'''Лекция 11''' (22 ноября). Графы вычислений, их обучение и метод обратного распространения ошибки. Полносвязные, свёрточные и рекуррентные слои. Возможности аппроксимации. Transfer learning. Глубинное обучение. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture11-dl.pdf Конспект]]
+
'''Лекция 6''' (13 октября). Метрики качества классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture06-linclass.pdf Конспект]] [[https://youtu.be/jNebp1-XxMw Запись лекции]]
  
'''Лекция 12''' (29 ноября). Обучение без учителя. Кластеризация: метрики качества, K-Means, иерархический и графовый подходы. Визуализация, t-SNE. Обучение представлений. word2vec. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/lecture-notes/lecture12-unsupervised.pdf Конспект]]
+
'''Лекция 7''' (20 октября). Логистическая регрессия. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture06-linclass.pdf Конспект]] [[https://www.youtube.com/watch?v=6FAXXihxbRQ Запись лекции]]
  
== Семинары ==
+
'''Лекция 8''' (27 октября). SVM, многоклассовая классификация. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture07-linclass.pdf Конспект]] [[https://www.youtube.com/watch?v=lTmBBppJGmM Запись лекции]]
  
'''Семинар 1'''. Библиотеки для анализа данных: numpy, pandas, matplotlib. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem01-tools.ipynb Notebook]]
+
'''Лекция 9''' (3 ноября). Решающие деревья. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture08-trees.pdf Конспект]] [[https://youtu.be/5wvbnQbRS-E Запись лекции]]
  
'''Семинар 2'''. Векторное дифференцирование. Линейная регрессия, аналитическое и численное решение. Scikit-learn. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem02-linregr.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-01-linregr.pdf Домашнее задание]]
+
'''Лекция 10''' (10 ноября). Решающие деревья, разложение ошибки на смещение и разброс. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture09-ensembles.pdf Конспект]] [[https://youtu.be/MUSQhD9TLUw Запись лекции]]
  
'''Семинар 3'''. Подготовка признаков (масштабирование, категориальные признаки, нелинейные признаки, заполнение пропусков). Выбросы и устойчивые к ним модели. Квантильная регрессия. Vowpal Wabbit. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem03-linregr.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-02-linregr.pdf Домашнее задание]]
+
'''Лекция 11''' (17 ноября). Бэггинг, градиентный бустинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture10-ensembles.pdf Конспект]] [[https://youtu.be/UxWTb1XDh4c Запись лекции]]
  
'''Семинар 4'''. Линейная классификация. Обучение линейных классификаторов в scikit-learn. Метрики качества классификации. Особенности кросс-валидации, стратификация. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem04-linclass.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-03-linclass.pdf Домашнее задание]]
+
'''Лекция 12''' (24 ноября). Градиентный бустинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture11-ensembles.pdf Конспект]] [[https://www.youtube.com/watch?v=pDxkheswP0w Запись лекции]]
  
'''Семинар 5'''. Линейная классификация. Построение ROC-кривых. Явная формула для AUC-ROC. Интерпретации AUC-ROC. Функции потерь, корректно оценивающие вероятности классов. Метод опорных векторов и его гиперпараметры. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem05-linclass.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem05-linclass-viz.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-04-linclass.pdf Домашнее задание]]
+
'''Лекция 13''' (15 декабря). Градиентный бустинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture11-ensembles.pdf Конспект]] [[https://youtu.be/zfJ_GFeLGJc Запись лекции]]
  
'''Семинар 6'''. Разреженные матрицы и их форматы. Работа с текстами, их предобработка. Векторизация. Классификация текстов. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem06-texts.ipynb Notebook]]
+
== Семинары ==
 
+
'''Семинар 7'''. Критерии информативности и их свойства. Неустойчивость деревьев. Подбор гиперпараметров. Краткое введение в композиции деревьев. Калибровка вероятностей. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem07-trees.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-05-trees.pdf Домашнее задание]]
+
 
+
'''Семинар 8'''. Разложение ошибки на смещение и разброс для линейных моделей. Бэггинг. Композиции с простым голосованием. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem08-ensembles.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-06-ensembles.pdf Домашнее задание]]
+
 
+
'''Семинар 9'''. Градиентный бустинг. Примеры использования. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem09-ensembles.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-07-ensembles.pdf Домашнее задание]]
+
 
+
'''Семинар 10'''. Градиентный бустинг над деревьями. Особенности решающих деревьев и композиций над ними. XGBoost. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem10-ensembles.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-08-ensembles.pdf Домашнее задание]]
+
  
'''Семинар 11'''. Метод обратного распространения ошибки. Полносвязные слои. Операция свёртки, примеры фильтров. Свёрточные слои. VGG19 и TensorFlow. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem11-dl.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-09-dl.pdf Домашнее задание]]
 
  
'''Семинар 12'''. Визуализация данных. [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/seminars/sem12-visualization.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-theory/homework-theory-10-unsupervised.pdf Домашнее задание]]
 
  
 
== Практические задания ==
 
== Практические задания ==
  
'''Задание 1.''' Numpy, pandas, scikit-learn и градиентный спуск.
+
'''Задание 1.''' Pandas и распределение студентов ПМИ по элективам.
 +
 +
Мягкий дедлайн: 23:59 02.10.2023
  
Дата выдачи: 16.09.2016
+
Жесткий дедлайн: 23:59 06.10.2023
  
Дедлайн: 30.09.2016 23:59MSK
+
[[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-practice/homework-practice-01-pandas.ipynb Ноутбук с заданием]]
  
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-practice/homework-practice-01-linregr.ipynb Условие]
 
  
'''Задание 2.''' Линейная классификация, категориальные и текстовые данные.
+
'''Задание 2.''' Exploratory Data Analysis и линейная регрессия.
  
Дата выдачи: 11.10.2016
+
Мягкий дедлайн: 23:59 18.10.2023
  
Дедлайн: 24.10.2016 23:59MSK
+
Жесткий дедлайн: 23:59 22.10.2023
  
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-practice/homework-practice-02-linclass.ipynb Условие]
+
[[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-practice/homework-practice-02-linregr.ipynb Ноутбук с заданием]]
  
'''Задание 3.''' Разложение ошибки на смещение и разброс, решающие деревья и случайные леса.
 
  
Дата выдачи: 14.11.2016
+
'''Задание 3.''' Градиентный спуск и линейная регрессия.
  
Дедлайн: 28.11.2016 05:59MSK
+
Мягкий дедлайн: 23:59 08.11.2023
  
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-practice/homework-practice-03-ensembles.ipynb Условие]
+
Жесткий дедлайн: 23:59 12.11.2023
  
'''Задание 4.''' Обучение без учителя.
+
[[https://github.com/esokolov/ml-course-hse/tree/master/2023-fall/homeworks-practice/homework-practice-03-gd Файлы]]
  
Дата выдачи: 06.12.2016
 
  
Дедлайн: 18.12.2016 05:59MSK '''(продлён до 18.12.2016 23:59MSK)'''
+
'''Задание 4.''' Классификация и калибровка вероятностей.
  
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/homeworks-practice/homework-practice-04-unsupervised.ipynb Условие]
+
Мягкий дедлайн: 23:59 22.11.2023
  
== Соревнования ==
+
Жесткий дедлайн: 23:59 26.11.2023
  
Правила участия в соревнованиях зависят от специализации:
+
[[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-practice/homework-practice-04-linclass.ipynb Ноутбук с заданием]]
  
1. Для студентов специализации МОП участие обязательное, оценка учитывается в накопленной наряду с остальными домашними заданиями.
 
  
2. Для студентов других специализаций участие является опциональным. Баллы, заработанные за соревнование, можно добавить к баллам за самостоятельную работу или за практическое домашнее задание (при этом сумма не должна превышать 10 баллов).
+
'''Задание 5.''' Решающие деревья.
  
'''В течение недели''' после окончания соревнования на почту курса необходимо прислать:
+
Мягкий дедлайн: 23:59 12.12.2023
* краткий отчёт с описанием решения (достаточно нескольких предложений с описанием использованных признаков и методов);
+
* код, с помощью которого можно получить ответы, отправленные в качестве решения на Kaggle.
+
  
Также студентам, занявшим в рамках пределах группы первые три места, необходимо выступить на семинаре с рассказом о своём решении.
+
Жесткий дедлайн: 23:59 14.12.2023
  
Оценка за соревнование в случае преодоления всех бейзлайнов вычисляется по формуле
+
[[https://github.com/esokolov/ml-course-hse/tree/master/2023-fall/homeworks-practice/homework-practice-05-trees Файлы]]
  
10 - 9 * (i - 1) / (n - 1),
+
== Теоретические домашние задания ==
  
где i — номер студента в таблице результатов среди своих одногруппников, n — количество студентов в группе. В противном случае студент получает за соревнование 0 баллов.
+
'''Теоретическое ДЗ 1.''' Линейные модели. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-01-linear-models.pdf Задания]]
  
Также за первое, второе и третье место в пределах группы студент получет 3, 2 или 1 дополнительный балл соответственно. За лучшие места в общем рейтинге также могут быть выставлены дополнительные баллы. Напоминаем, что дополнительные баллы не влияют на накопленную оценку, однако влияют на возможность получения оценки автоматом по курсу.
+
'''Теоретическое ДЗ 2.''' Матрично-векторное дифференцирование и градиентный спуск. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-02-derivatives.pdf Задания]]
  
Если решения всех участников окажутся тривиальными или участников будет слишком мало, то преподаватели имеют право
+
'''Теоретическое ДЗ 3.1.''' SVM и логистическая регрессия. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-03_part1-logreg-svm.pdf Задания]]
снизить максимальную оценку или сделать шкалу более разреженной.
+
  
Студент, набравший менее 6 баллов (но при этом преодолевший бейзлайны), имеет право написать подробный отчёт по итогам соревнования и повысить свою оценку до 6 баллов (при выполнении всех требований к отчёту).
+
'''Теоретическое ДЗ 3.2.''' Метрики классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-03_part2-clf-metrics.pdf Задания]]
  
Регистрируясь на соревнование, выбирайте осмысленное имя. Рекомендованный формат: ''Иванов Иван (ПМИ ФКН ВШЭ, группа 141)''.
+
== Бонусы за соревнования ==
  
=== Соревнование 1: Оценка вероятности победы в матче Dota 2 ===
+
За успешное участие в соревнованиях по анализу данных могут быть выставлены бонусные баллы, которые можно прибавить к оценке за любое практическое или теоретическое домашнее задание, а также за самостоятельную работу. Под успешным участием понимается попадание в топ-10% мест; если соревнование особо сложное и крупное, может рассматриваться и попадание в топ-20% мест. Конкретное число баллов определяется преподавателями и зависит от сложности соревнования и занятого места. За одно соревнование можно получить не более 5 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.
  
Дата выдачи: 09.10.2016
+
== Контрольная работа ==
  
Дедлайн: 06.11.2016 (на самом деле 07.11.2016 03:00 MSK)
+
Контрольная работа состоится 8 декабря на лекции (в 11:10). Продолжительность — 80 минут.
  
Соревнование на Kaggle InClass: https://inclass.kaggle.com/c/hse-dota2-win-prediction
+
[https://docs.google.com/document/d/1tVLi0Dbkh-PHTvZR4Nn57oJi0Lt6tkkWCaRL32SoQls/edit?usp=sharing Вопросы для подготовки]
  
Ссылка для участия: https://kaggle.com/join/cshse161
+
[https://github.com/esokolov/ml-course-hse/blob/master/2020-fall/midterm-fall-2020-example.pdf Нулевой вариант]
  
'''Ограничение''': можно использовать только линейные модели для построения предсказаний
+
[https://github.com/hse-ds/iad-intro-ds/blob/master/2021/kr/kr2021-var0.pdf Нулевой вариант с майнора ИАД (попроще, но всё равно полезно прорешать)]
 
+
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/contests/contest01-dota-statement.ipynb Подробное описание задачи]
+
 
+
[https://github.com/esokolov/ml-course-hse/blob/master/2016-fall/contests/contest01-report-requirements.pdf Требования к отчёту]
+
 
+
=== Альтернативное соревнование: Sberbank Data Science Contest ===
+
 
+
Соревнование: https://sdsj.ru/contest.html
+
 
+
Дедлайн: 06.11.2016, 23:59 MSK
+
 
+
Если вам неинтересно участвовать в учебных контестах, то в качестве альтернативы можно заняться соревнованием от Сбербанка.
+
Никаких ограничений на методы и подходы нет, главное — решить задачу как можно лучше.
+
 
+
Правила оценивания такие же, как и в учебных соревнованиях.
+
Если решения всех участников окажутся тривиальными или участников будет слишком мало, то преподаватели имеют право
+
снизить максимальную оценку или сделать шкалу более разреженной.
+
Данное соревнование можно засчитать вместо любого из учебных.
+
За высокие места в соревновании могут быть выданы очень большие бонусы!
+
 
+
== Коллоквиум ==
+
 
+
Дата: 12.11.2016
+
 
+
[https://docs.google.com/document/d/1C4kHPdo-ZzDzomslEJEOIpgcNEubesXx0Y_-joTOWac/edit?usp=sharing Вопросы к коллоквиуму]
+
 
+
Коллоквиум устный. Каждому студенту задаётся несколько вопросов из теоретического минимума (за незнание ответа на любой из них выставляется оценка 0), несколько вопросов из основной части, а также даются задачи по темам семинаров и домашних заданий.
+
 
+
Общее начало в 15:00, сбор в аудитории 509. Группам рекомендуется подходить по следующему расписанию:
+
{| class="wikitable"
+
|-
+
! Время начала !! Группы
+
|-
+
| 15:00 || 143, 144
+
|-
+
| 16:30 || 141, 142
+
|-
+
| 17:30-18:00 || 145
+
|}
+
  
 
== Экзамен ==
 
== Экзамен ==
  
Дата: 26.12.2016
 
 
[https://docs.google.com/document/d/1M76smlFtJ_Omrc7MdXV8Waa-KZDpACrKH2DHl6LKzJw/edit?usp=sharing Вопросы к экзамену]
 
 
{| class="wikitable"
 
|-
 
! Время начала !! Группы
 
|-
 
| 10:30 || 145
 
|-
 
| 12:30 || 142
 
|-
 
| 14:30 || 141
 
|-
 
| 16:00 || 143, 144
 
|}
 
  
 
== Полезные материалы ==
 
== Полезные материалы ==
 
===Книги===
 
===Книги===
 +
* [https://academy.yandex.ru/handbook/ml Учебник по машинному обучению от ШАД]
 
* Hastie T., Tibshirani R, Friedman J. The Elements of Statistical Learning (2nd edition). Springer, 2009.
 
* 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.
 
* Bishop C. M. Pattern Recognition and Machine Learning. Springer, 2006.
Строка 281: Строка 255:
 
* [http://www.machinelearning.ru/wiki/index.php?title=Машинное_обучение_%28курс_лекций%2C_К.В.Воронцов%29 Курс по машинному обучению К.В. Воронцова]
 
* [http://www.machinelearning.ru/wiki/index.php?title=Машинное_обучение_%28курс_лекций%2C_К.В.Воронцов%29 Курс по машинному обучению К.В. Воронцова]
 
* [https://yandexdataschool.ru/edu-process/courses/machine-learning Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов]
 
* [https://yandexdataschool.ru/edu-process/courses/machine-learning Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов]
 +
* [https://www.coursera.org/specializations/machine-learning-from-statistics-to-neural-networks Coursera: Машинное обучение от статистики до нейросетей (специализация)]
 
* [https://www.coursera.org/specializations/machine-learning-data-analysis Coursera: Машинное обучение и анализ данных (специализация)]
 
* [https://www.coursera.org/specializations/machine-learning-data-analysis Coursera: Машинное обучение и анализ данных (специализация)]
 
* [https://www.coursera.org/learn/introduction-machine-learning Coursera: Введение в машинное обучение, К.В. Воронцов]
 
* [https://www.coursera.org/learn/introduction-machine-learning Coursera: Введение в машинное обучение, К.В. Воронцов]
 +
* [https://openedu.ru/course/hse/INTRML/ Введение в машинное обучение (онлайн-курс НИУ ВШЭ)]
 +
 +
== Страницы предыдущих лет ==
 +
[[Машинное_обучение_1/2022_2023 | 2022/2023 учебный год]]
 +
 +
[[Машинное_обучение_1/2021_2022 | 2021/2022 учебный год]]
 +
 +
[[Машинное_обучение_1/2020_2021 | 2020/2021 учебный год]]
 +
 +
[[Машинное_обучение_1/2019_2020 | 2019/2020 учебный год]]
 +
 +
[[Машинное_обучение_1/2018_2019 | 2018/2019 учебный год]]
 +
 +
[[Машинное_обучение_1/2017_2018 | 2017/2018 учебный год]]
 +
 +
[[Машинное_обучение_1/2016_2017 | 2016/2017 учебный год]]

Текущая версия на 13:52, 16 декабря 2023

О курсе

borderless

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

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

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




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

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

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

Видеозаписи лекций 18/19 года

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

Канал в telegram для объявлений: https://t.me/+8Q3FOPazf-kwOWM6

Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/+068EETxxsvYxM2Qy

Ссылка на курс в Anytask: Ссылка

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

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

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

Семинары

Группа Преподаватель Ссылка на чат в телеграме Код инвайта на энитаск
211 (МОП) Морозов Никита Витальевич https://t.me/+9OnS8UETnPc1YzYy 9SD8UZw
212 (МОП) Соколов Евгений Андреевич p7xUNm6
213 (МОП) [Еленик Константин] BQJIqvE
214 (ТИ) + 217 (АПР) [Сендерович Александра] https://t.me/+KZTbPhO6JR9hZjRi 5QBsIpt
215 (РС) [Орлов Александр] https://t.me/+Nwx3IQMQiE82NzQy H4L7odY
216 (РС) Коган Александра https://t.me/+d0dSIctKNRg1MzUy dgZTdtM
218 (АДИС) [Ульянкин Филипп] DMyEAZA
2110 (ПР) [Иванов Семен] NkV8Do3
ФЭН1 [Багиров Гейдар] ZdRjV35
ФЭН2 [Баранов Михаил] ev5RYXy
КНАД [Косакин Даниил] https://t.me/+Z4WfCB778mI0ZjI6 AxaC2TP

Ассистенты

Группа Ассистент
211 (МОП) Петренко Максим, Ершов Иван
212 (МОП) Исаков Михаил, Кеммер Анастасия
213 (МОП) Дмитриева Екатерина, Данил Иванов
214 (ТИ) + 217 (АПР) Аржанцев Андрей, Бабак Артем Юрьевич
215 (РС) Максутова Айза
216 (РС) Афанасьева Анастасия
218 (АДИС) Костромина Алина, Перепелкин Владимир
2110 (ПР) Неудачина Ева
ФЭН1 Березовский Валерий, Силевич Артем
ФЭН2 Манукян Айк
КНАД Петров Олег

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

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

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

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

Итог = Округление(0.15 * ПР + 0.4 * ДЗ + 0.15 * КР + 0.3 * Э)

ПР — средняя оценка за самостоятельные работы на семинарах

ДЗ — средняя оценка за практические домашние работы на Python

КР — оценка за контрольную работу

Э — оценка за экзамен

Округление арифметическое.

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

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

Два раза студент может сдать домашнее задание после мягкого дедлайна (но до жёсткого) без штрафов.

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

Использовать генеративные модели (ChatGPT, GitHub Copilot и прочие) можно. Но если вы их применяете, то обязательно нужно сделать следующее:

1. Указывать, какие части ДЗ выполнены с использованием генеративных моделей.

2. Добавить в конец вашего решения небольшой раздел с рефлексией, где вы описываете, как подбирали промпты, какие заметили преимущества и недостатки генеративных моделей при выполнении данного ДЗ.

Также мы в любом случае оставляем за собой право пригласить студента для защиты своего ДЗ, если заподозрим плагиат.

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

Лекции

Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!

Лекция 1 (8 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [Конспект] [Запись лекции]

Лекция 2 (15 сентября). Линейная регрессия. [Конспект] [Запись лекции]

Лекция 3 (22 сентября). Обобщающая способность, градиентные методы. [Конспект] [Запись лекции]

Лекция 4 (29 сентября). Модификации градиентного спуска, регуляризация. [Конспект] [Запись лекции]

Лекция 5 (6 октября). Регуляризация, разреженные модели, линейная классификация. [Конспект] [Запись лекции]

Лекция 6 (13 октября). Метрики качества классификации. [Конспект] [Запись лекции]

Лекция 7 (20 октября). Логистическая регрессия. [Конспект] [Запись лекции]

Лекция 8 (27 октября). SVM, многоклассовая классификация. [Конспект] [Запись лекции]

Лекция 9 (3 ноября). Решающие деревья. [Конспект] [Запись лекции]

Лекция 10 (10 ноября). Решающие деревья, разложение ошибки на смещение и разброс. [Конспект] [Запись лекции]

Лекция 11 (17 ноября). Бэггинг, градиентный бустинг. [Конспект] [Запись лекции]

Лекция 12 (24 ноября). Градиентный бустинг. [Конспект] [Запись лекции]

Лекция 13 (15 декабря). Градиентный бустинг. [Конспект] [Запись лекции]

Семинары

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

Задание 1. Pandas и распределение студентов ПМИ по элективам.

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

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

[Ноутбук с заданием]


Задание 2. Exploratory Data Analysis и линейная регрессия.

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

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

[Ноутбук с заданием]


Задание 3. Градиентный спуск и линейная регрессия.

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

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

[Файлы]


Задание 4. Классификация и калибровка вероятностей.

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

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

[Ноутбук с заданием]


Задание 5. Решающие деревья.

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

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

[Файлы]

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

Теоретическое ДЗ 1. Линейные модели. [Задания]

Теоретическое ДЗ 2. Матрично-векторное дифференцирование и градиентный спуск. [Задания]

Теоретическое ДЗ 3.1. SVM и логистическая регрессия. [Задания]

Теоретическое ДЗ 3.2. Метрики классификации. [Задания]

Бонусы за соревнования

За успешное участие в соревнованиях по анализу данных могут быть выставлены бонусные баллы, которые можно прибавить к оценке за любое практическое или теоретическое домашнее задание, а также за самостоятельную работу. Под успешным участием понимается попадание в топ-10% мест; если соревнование особо сложное и крупное, может рассматриваться и попадание в топ-20% мест. Конкретное число баллов определяется преподавателями и зависит от сложности соревнования и занятого места. За одно соревнование можно получить не более 5 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.

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

Контрольная работа состоится 8 декабря на лекции (в 11:10). Продолжительность — 80 минут.

Вопросы для подготовки

Нулевой вариант

Нулевой вариант с майнора ИАД (попроще, но всё равно полезно прорешать)

Экзамен

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

Книги

  • Учебник по машинному обучению от ШАД
  • 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.

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

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

2022/2023 учебный год

2021/2022 учебный год

2020/2021 учебный год

2019/2020 учебный год

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

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

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