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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Правила сдачи заданий)
м (Ekononova переименовал страницу Машинное обучение 1 в Машинное обучение 1/2023 2024: Прошлогодний курс)
 
(не показано 259 промежуточных версии 34 участников)
Строка 8: Строка 8:
  
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
 
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
 
Лекции проходят по пятницам, 12:10 - 13:30, ауд. R404 (Покровский бульвар, 11).
 
  
  
Строка 18: Строка 16:
 
=== Полезные ссылки ===
 
=== Полезные ссылки ===
  
[https://www.hse.ru/ba/ami/courses/292689583.html Карточка курса и программа]
+
[https://www.hse.ru/edu/courses/646510131 Карточка курса и программа]
  
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
Строка 26: Строка 24:
 
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+171@gmail.com)
 
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+171@gmail.com)
  
Канал в telegram для объявлений: https://t.me/joinchat/AAAAAEtiwm9A8i-78LNcKQ
+
Канал в telegram для объявлений: https://t.me/+8Q3FOPazf-kwOWM6
  
Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/joinchat/A5rlQBUrWTeXl7eBbnyBcQ
+
Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/+068EETxxsvYxM2Qy
  
Ссылка на курс в Anytask: https://anytask.org/course/537
+
Ссылка на курс в Anytask: [https://anytask.org/course/1062 Ссылка]
  
[https://docs.google.com/spreadsheets/d/1QIUMUkjzHfRqNIkYHVb4jsi3Pkq7URAQWSW8c9UwE-g/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 форуме].
  
 
=== Семинары ===
 
=== Семинары ===
Строка 43: Строка 41:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Группа !! Преподаватель !! Учебный ассистент
+
! Группа !! Преподаватель !! Ссылка на чат в телеграме !! Код инвайта на энитаск
 
|-
 
|-
| 171 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || [https://t.me/granilace Виктор Куканов]
+
| 211 (МОП) || [https://www.hse.ru/org/persons/225560347 Морозов Никита Витальевич] || || 9SD8UZw
 
|-
 
|-
| 172 (МОП) || [https://www.hse.ru/org/persons/209813459 Каюмов Эмиль Марселевич] || [https://t.me/svdcvt Соня Дымченко]
+
| 212 (МОП) || [https://www.hse.ru/staff/esokolov Соколов Евгений Андреевич] || || p7xUNm6
 
|-
 
|-
| 173 (ТИ) || [https://www.hse.ru/org/persons/? Хрушков Павел Вадимович] || [https://t.me/resokolov Роман Соколов]
+
| 213 (МОП) || [Еленик Константин] || || BQJIqvE
 
|-
 
|-
| 174 (АДИС) || [https://www.hse.ru/org/persons/? Кохтев Вадим Михайлович] || [https://t.me/widepeepoBlanket Евгений Алаев]
+
| 214 (ТИ) + 217 (АПР) || [Сендерович Александра] || https://t.me/+KZTbPhO6JR9hZjRi || 5QBsIpt
 
|-
 
|-
| 175 (РС) || [https://www.hse.ru/org/persons/228364473 Волохова Александра Константиновна] || [https://t.me/President153 Ярослав Пудяков]
+
| 215 (РС) || [Орлов Александр] || https://t.me/+Nwx3IQMQiE82NzQy || H4L7odY
 
|-
 
|-
| 176 (РС) || [https://www.hse.ru/org/persons/192085968 Яшков Даниил Дмитриевич] || [https://t.me/arcstranger  Николай Пальчиков]
+
| 216 (РС) || [https://www.hse.ru/org/persons/225544191 Коган Александра] || https://t.me/+d0dSIctKNRg1MzUy || dgZTdtM
 
|-
 
|-
| Магистратура ФТиАД || [https://www.hse.ru/org/persons/? Рысьмятова Анастасия Александровна] || [https://t.me/oleg_top Олег Дешеулин]
+
| 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
 
* Письменная контрольная работа
 
* Письменная контрольная работа
Строка 87: Строка 119:
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
  
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее. Есть исключения, о них написано ниже.
+
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее.
 +
 
 +
Два раза студент может сдать домашнее задание после мягкого дедлайна (но до жёсткого) без штрафов.
  
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
 
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
  
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
+
Использовать генеративные модели (ChatGPT, GitHub Copilot и прочие) можно. Но если вы их применяете, то обязательно нужно сделать следующее:
  
== Лекции ==
+
1. Указывать, какие части ДЗ выполнены с использованием генеративных моделей.
  
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
+
2. Добавить в конец вашего решения небольшой раздел с рефлексией, где вы описываете, как подбирали промпты, какие заметили преимущества и недостатки генеративных моделей при выполнении данного ДЗ.
  
'''Лекция 1''' (6 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture01-intro.pdf Конспект]]
+
Также мы в любом случае оставляем за собой право пригласить студента для защиты своего ДЗ, если заподозрим плагиат.
  
'''Лекция 2''' (13 сентября). Линейная регрессия. Метрики качества регрессии. Градиентный спуск и способы оценивания градиента. Продвинутые градиентные методы. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture02-linregr.pdf Конспект]]
+
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
  
'''Лекция 3''' (20 сентября). Переобучение и регуляризация. Разреженные линейные модели. Квантильная регрессия. Подготовка признаков. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture03-linregr.pdf Конспект]]
+
== Лекции ==
  
'''Лекция 4''' (27 сентября). Линейная классификация. Отступ и верхние оценки на пороговую функцию потерь. Метрики качества классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture04-linclass.pdf Конспект]]
+
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
  
'''Лекция 5''' (4 октября). Линейная классификация. Логистическая регрессия и оценки вероятности классов. Метод опорных векторов. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture05-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 Запись лекции]]
  
'''Лекция 6''' (11 октября). Многоклассовая классификация, сведение к бинарным задачам. Многоклассовая логистическая регрессия. Классификация с пересекающимися классами. Метрики качества многоклассовой классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture06-linclass.pdf Конспект]]
+
'''Лекция 2''' (15 сентября). Линейная регрессия. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture02-linregr.pdf Конспект]] [[https://youtu.be/n69ER7RJLys Запись лекции]]
  
'''Лекция 7''' (18 октября). Решающие деревья. Жадный алгоритм построения. Выбор лучшего разбиения с помощью критерия информативности. Критерии информативности для регрессии и классификации. Учёт пропусков в деревьях. Решающие деревья и категориальные признаки. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture07-trees.pdf Конспект]]
+
'''Лекция 3''' (22 сентября). Обобщающая способность, градиентные методы. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture03-linregr.pdf Конспект]] [[https://youtu.be/43sSNZPHBxI Запись лекции]]
  
'''Лекция 8''' (1 ноября). Бутстрап и бэггинг. Разложение ошибки на смещение и разброс (bias-variance decomposition). Случайный лес. Вычисление расстояний с помощью лесов. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture08-ensembles.pdf Конспект]]
+
'''Лекция 4''' (29 сентября). Модификации градиентного спуска, регуляризация. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture04-linregr.pdf Конспект]] [[https://youtu.be/AJYcKzlFg1A Запись лекции]]
  
'''Лекция 9''' (8 ноября). Градиентный бустинг. Регуляризация. Особенности бустинга над деревьями. Взвешивание объектов в градиентном бустинге. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture09-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 Запись лекции]]
  
'''Лекция 10''' (15 ноября). Оптимизация второго порядка в градиентном бустинге. Регуляризация деревьев. XGBoost. Стекинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture10-ensembles.pdf Конспект]]
+
'''Лекция 6''' (13 октября). Метрики качества классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture06-linclass.pdf Конспект]] [[https://youtu.be/jNebp1-XxMw Запись лекции]]
  
== Семинары ==
+
'''Лекция 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 Запись лекции]]
  
'''Семинар 1.''' Области применения машинного обучения. Инструменты data scientist'а. Pandas и разведочный анализ данных. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem01-intro.ipynb Ноутбук]]
+
'''Лекция 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 Запись лекции]]
  
'''Семинар 2.''' Линейная регрессия. Библиотека scikit-learn. Валидация моделей. Работа с категориальными признаками. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem02-sklearn-linreg.ipynb Ноутбук]]
+
'''Лекция 9''' (3 ноября). Решающие деревья. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture08-trees.pdf Конспект]] [[https://youtu.be/5wvbnQbRS-E Запись лекции]]
  
'''Семинар 3.''' Градиент и его свойства. Векторное дифференцирование. Градиентый спуск, его модификации, практические аспекты. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem03-linregr-part1.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem03-linregr-part2.ipynb Ноутбук]]
+
'''Лекция 10''' (10 ноября). Решающие деревья, разложение ошибки на смещение и разброс. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture09-ensembles.pdf Конспект]] [[https://youtu.be/MUSQhD9TLUw Запись лекции]]
  
'''Семинар 4.''' Предобработка данных. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem04-features.pdf Конспект]] [[https://nbviewer.jupyter.org/github/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem04-features.ipynb Ноутбук]]
+
'''Лекция 11''' (17 ноября). Бэггинг, градиентный бустинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture10-ensembles.pdf Конспект]] [[https://youtu.be/UxWTb1XDh4c Запись лекции]]
  
'''Семинар 5.''' Метрики качества классификации. AUC-ROC и его прямая оптимизация. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem05-linclass-metrics.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 Запись лекции]]
  
'''Семинар 6.''' Оценивание вероятностей классов. Квантильная регрессия [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem06-probs-quantile.pdf Конспект]]
+
'''Лекция 13''' (15 декабря). Градиентный бустинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/lecture-notes/lecture11-ensembles.pdf Конспект]] [[https://youtu.be/zfJ_GFeLGJc Запись лекции]]
  
'''Семинар 7.''' Решающие деревья. Критерии информативности. Гиперпараметры в деревьях. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem07-trees.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem07-trees.ipynb Ноутбук]]
+
== Семинары ==
  
'''Семинар 8.''' Разложение ошибки на смещение и разброс. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem08-bvd.pdf Конспект]]
+
'''Семинар 1'''. pandas. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem01-pandas.ipynb Ноутбук]]
  
'''Семинар 9.''' Градиентный бустинг. Вывод формул для сдвигов. Сравнение со случайным лесом. Деревья и экстраполяция данных. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem09-gbm-part1.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem09-gbm-part2.ipynb Ноутбук]]
+
'''Семинар 2'''. sklearn и линейная регрессия. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem02-sklearn-linregr.ipynb Ноутбук]]
  
== Практические задания ==
+
'''Семинар 3'''. Матрично-векторное диффернцирование. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem03-vector-diff.pdf Конспект]]
  
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются, но есть исключение. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна — в этом случае за каждый день просрочки продолжает вычитаться по одному баллу (если не оговорено иное).
+
'''Семинар 4'''. Работа с данными и признаками. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem04-features.ipynb Ноутбук]]
  
'''Задание 1.''' Работа с Pandas и Matplotlib.
+
'''Семинар 5'''. Метрики классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem05-linclass-metrics.pdf Конспект]]
+
Мягкий дедлайн: 15.09.2019 23:59.  
+
  
Жесткий дедлайн: 17.09.2019 23:59.
+
'''Семинар 6'''. Калибровка вероятностей. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem06-calibration.ipynb Ноутбук]][[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem06-probs-quantile.pdf Конспект]]
  
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-practice/homework-practice-01.ipynb Ноутбук с заданием]]
+
'''Семинар 7'''. Решающие деревья. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem07-trees.ipynb Ноутбук]][[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem07-trees.pdf Конспект]]
  
'''Задание 2.''' Exploratory Data Analysis и линейная регрессия.
+
'''Семинар 8'''. Разложение ошибки на смещение и разброс. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem08-bvd.pdf Конспект]]
+
Мягкий дедлайн: 01.10.2019 23:59.  
+
  
Жесткий дедлайн: 04.10.2019 23:59 (за каждый день просрочки снимается 2 балла).
+
'''Семинар 9'''. Градиентный бустинг. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem09-gbm-part1.pdf Конспект]]
  
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-practice/homework-practice-02.ipynb Ноутбук с заданием]]
+
'''Семинар 10'''. Виды градиентного бустинга: XGB, LightGBM, CatBoost. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem10-gbm.pdf Конспект]]
  
'''Задание 3.''' Градиентный спуск своими руками.
+
'''Семинар 11'''. Кластеризация. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem11_clustering.ipynb Ноутбук]]
+
Мягкий дедлайн: 15.10.2019 07:59.  
+
  
Жесткий дедлайн: 17.10.2019 23:59.
+
'''Семинар 12'''. Методы понижения размерности: PCE, tSNE. [[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem12-pca.pdf Конспект]][[https://github.com/esokolov/ml-course-hse/blob/master/2022-fall/seminars/sem12_pca_tsne.ipynb Ноутбук]]
  
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-practice/homework-practice-03.ipynb Ноутбук с заданием]]
+
== Практические задания ==
  
'''Задание 4.''' Метод опорных векторов, категориальные признаки, калибровка предсказаний и отбор признаков.
+
'''Задание 1.''' Pandas и распределение студентов ПМИ по элективам.
 
   
 
   
Мягкий дедлайн: 11.11.2019 07:59.  
+
Мягкий дедлайн: 23:59 02.10.2023
  
Жесткий дедлайн: 13.11.2019 23:59.
+
Жесткий дедлайн: 23:59 06.10.2023
  
[[https://nbviewer.jupyter.org/github/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-practice/homework-practice-04.ipynb Ноутбук с заданием]]
+
[[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-practice/homework-practice-01-pandas.ipynb Ноутбук с заданием]]
  
'''Задание 5.''' Решающие деревья
 
  
Мягкий дедлайн: 22.11.2019 1:59
+
'''Задание 2.''' Exploratory Data Analysis и линейная регрессия.
  
Жесткий дедлайн: 23.11.2019 23:59
+
Мягкий дедлайн: 23:59 18.10.2023
  
[[https://github.com/esokolov/ml-course-hse/tree/master/2019-fall/homeworks-practice/homework-practice-05 Ноутбук и модуль с заданием]]
+
Жесткий дедлайн: 23:59 22.10.2023
  
'''Задание 6.''' Разложение ошибки на смещение и разброс
+
[[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-practice/homework-practice-02-linregr.ipynb Ноутбук с заданием]]
  
Мягкий дедлайн: 01.12.2019 8:00
 
  
Жесткий дедлайн: 02.12.2019 23:59
+
'''Задание 3.''' Градиентный спуск и линейная регрессия.
  
[[https://github.com/esokolov/ml-course-hse/tree/master/2019-fall/homeworks-practice/homework-practice-06.ipynb Ноутбук с заданием]]
+
Мягкий дедлайн: 23:59 08.11.2023
  
==Теоретические домашние задания==
+
Жесткий дедлайн: 23:59 12.11.2023
  
Теоретические ДЗ не проверяются, но задачи из них могут войти в проверочные работы на семинарах.
+
[[https://github.com/esokolov/ml-course-hse/tree/master/2023-fall/homeworks-practice/homework-practice-03-gd Файлы]]
  
'''Теоретическое домашнее задание 1''': линейная регрессия и векторное дифференцирование [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-theory/homework-theory-01-linregr.pdf ссылка]]
 
  
'''Теоретическое домашнее задание 2''': линейная классификация [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-theory/homework-theory-02-linclass.pdf ссылка]]
+
'''Задание 4.''' Классификация и калибровка вероятностей.
  
'''Теоретическое домашнее задание 3''': решающие деревья [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-theory/homework-theory-03-trees.pdf ссылка]]
+
Мягкий дедлайн: 23:59 22.11.2023
  
'''Теоретическое домашнее задание 4''': разложение ошибки на смещение и разброс [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-theory/homework-theory-04-bvd.pdf ссылка]]
+
Жесткий дедлайн: 23:59 26.11.2023
  
== Соревнования ==
+
[[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-practice/homework-practice-04-linclass.ipynb Ноутбук с заданием]]
  
===Правила участия и оценивания===
 
В соревновании по анализу данных вам предлагается по имеющимся данным решить некоторую задачу, оптимизируя указанную метрику, и отправить ответы для заданного тестового множества. Максимальное количество посылок в сутки ограничено (как правило, разрешается сделать 2 посылки), ближе к концу соревнования вам будем необходимо выбрать 2 посылки, которые вы считаете лучшими. Тестовые данные делятся на публичные и приватные в некотором соотношении, на основе которых строятся публичный и приватный лидерборды соответственно, при этом публичный лидерборд доступен в течение всего соревнования, а приватный строится после его окончания для выбранных вами посылок.
 
  
В лидербордах каждого из соревнований присутствуют несколько базовых решений (бейзлайнов), каждое из которых соответствует определённой оценке. Например, для получения оценки не ниже 8 баллов необходимо, чтобы ваше решение на '''приватном''' лидерборде оказалось лучше соответствующего бейзлайна. Далее для студента, преодолевшего бейзлайн на N_1 баллов, но не преодолевшего бейзлайн на N_2 балла, итоговая оценка за соревнование рассчитывается по равномерной сетке среди всех таких студентов в зависимости от места в приватном лидерборде среди них; если быть точными, то по следующей формуле:
+
'''Задание 5.''' Решающие деревья.
  
N_2 - (N_2 - N_1) * i  / M,
+
Мягкий дедлайн: 23:59 12.12.2023
  
где M — количество студентов (из всех студентов, изучающих курс), преодолевших бейзлайн на N_1 баллов, но не преодолевших бейзлайн на N_2 балла;
+
Жесткий дедлайн: 23:59 14.12.2023
  
i — место (начиная с 1) студента в приватном лидерборде среди всех таких студентов.  
+
[[https://github.com/esokolov/ml-course-hse/tree/master/2023-fall/homeworks-practice/homework-practice-05-trees Файлы]]
  
Единственное исключение из формулы — студенты, преодолевшие самый сильный бейзлайн, получают прибавку 1/M к своей оценке.
+
== Теоретические домашние задания ==
  
Чтобы вас не пропустили при проверке решений соревнования, '''необходимо''' использовать следующий формат для имени команды (вкладка Team):  
+
'''Теоретическое ДЗ 1.''' Линейные модели. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-01-linear-models.pdf Задания]]
  
«Имя Фамилия номер_группы»
+
'''Теоретическое ДЗ 2.''' Матрично-векторное дифференцирование и градиентный спуск. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-02-derivatives.pdf Задания]]
  
В течение 3 суток после окончания соревнования в соответствующее задание на anytask необходимо прислать код, воспроизводящий ответы для посылки, фигурирующей в приватном лидерборде. При оформлении кода предполагайте, что данные лежат рядом с ним в папке data, а в результате выполнения кода ответы должны быть записаны в файл solution-N-Username.csv, где N — номер соревнования, Username — ваша фамилия. У нас должна быть возможность запустить код и получить те же ответы, что и в вашей посылке, — в частности, это означает, что:
+
'''Теоретическое ДЗ 3.1.''' SVM и логистическая регрессия. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-03_part1-logreg-svm.pdf Задания]]
  
1. Если вы отправляете файл *.py, мы будем запускать его при помощи команды python *.py в вышеуказанном предположении о местонахождении данных.
+
'''Теоретическое ДЗ 3.2.''' Метрики классификации. [[https://github.com/esokolov/ml-course-hse/blob/master/2023-fall/homeworks-theory/homework-theory-03_part2-clf-metrics.pdf Задания]]
 
+
2. Если вы отправляете ноутбук *.ipynb, мы последовательно запустим все ячейки ноутбука и будем ожидать в результате его работы формирование файла с ответами.
+
 
+
3. Если вы отправляете код с использованием другого языка программирования, в том же письме направьте нам инструкцию по его запуску с тем, чтобы получить тот же файл с ответами.
+
 
+
В случае отсутствия кода, воспроизводящего результат, в установленный срок студенту выставляется 0 в качестве оценки за соревнование. Студенты, попавшие в топ-5 согласно приватному лидерборду, смогут получить бонусные баллы, если в течение недели после окончания соревнования пришлют на почту курса отчет о получении решения, фигурирующего в приватном лидерборде. Если не оговорено иное, использовать любые внешние данные в соревнованиях '''запрещено'''.
+
 
+
=== Соревнование 1: Определение категории товара ===
+
 
+
'''Соревнование на бонусные баллы, не входит в основную формулу оценки'''
+
 
+
Дата выдачи: 9.11.2019
+
 
+
Срок окончания соревнования: 11.12.2019 23:59MSK
+
 
+
Срок отправки кода: 14.12.2019 23:59MSK
+
 
+
Бейзлайн на 4 балла
+
 
+
[https://www.kaggle.com/t/78b4150e88c84935b37e550fbb636a4f Ссылка на участие в соревновании]
+
  
 
== Бонусы за соревнования ==
 
== Бонусы за соревнования ==
Строка 250: Строка 253:
 
== Контрольная работа ==
 
== Контрольная работа ==
  
Контрольная работа состоится на семинарах 6 декабря (вторая пара).
+
Контрольная работа состоится 8 декабря на лекции (в 11:10). Продолжительность — 80 минут.
  
В варианте будут два теоретических вопроса и две задачи (возможно, будут также дополнительные задачи на бонусные баллы, для получения максимальной оценки за контрольную их решать не потребуется). Теоретические вопросы будут затрагивать материалы всех лекций и семинаров по темам до градиентного бустинга включительно. Основные задачи будут затрагивать все темы, которые затрагивались в теоретических домашних заданиях (линейные модели, деревья, разложение ошибки на смещение и разброс).
+
[https://docs.google.com/document/d/1tVLi0Dbkh-PHTvZR4Nn57oJi0Lt6tkkWCaRL32SoQls/edit?usp=sharing Вопросы для подготовки]
  
[https://docs.google.com/document/d/1xSaTtFqXkj1hG0Da7lX8GkGn7kaqAxWGYflLLvKf5z0/edit?usp=sharing Вопросы для подготовки]
+
[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://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.
Строка 270: Строка 277:
 
* [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/2018_2019 | 2018/2019 учебный год]]

Текущая версия на 16:02, 11 сентября 2024

О курсе

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 (МОП) Морозов Никита Витальевич 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. [Ноутбук]

Семинар 2. sklearn и линейная регрессия. [Ноутбук]

Семинар 3. Матрично-векторное диффернцирование. [Конспект]

Семинар 4. Работа с данными и признаками. [Ноутбук]

Семинар 5. Метрики классификации. [Конспект]

Семинар 6. Калибровка вероятностей. [Ноутбук][Конспект]

Семинар 7. Решающие деревья. [Ноутбук][Конспект]

Семинар 8. Разложение ошибки на смещение и разброс. [Конспект]

Семинар 9. Градиентный бустинг. [Конспект]

Семинар 10. Виды градиентного бустинга: XGB, LightGBM, CatBoost. [Конспект]

Семинар 11. Кластеризация. [Ноутбук]

Семинар 12. Методы понижения размерности: PCE, tSNE. [Конспект][Ноутбук]

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

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