Машинное обучение 1/2023 2024
Содержание
О курсе
Курс читается для студентов 3-го курса ПМИ ФКН ВШЭ в 1-2 модулях.
Проводится с 2016 года.
Лектор: Соколов Евгений Андреевич
Лекции проходят по пятницам, 10:30 - 11:50, ауд. 317.
Полезные ссылки
Репозиторий с материалами на GitHub
Почта для сдачи домашних заданий: hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+151@gmail.com)
Канал в telegram для объявлений: https://telegram.me/hse_cs_ml_course_2017
Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQEQ7r16nvyHbyXtjNA
Оставить отзыв на курс: форма
Вопросы по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде Issue в github-репозитории курса.
Семинары
Группа | Преподаватель | Учебный ассистент | Страница | Расписание |
---|---|---|---|---|
151 (МОП) | Зиннурова Эльвира Альбертовна | Атанов Андрей | пятница, 12:10 - 13:30, ауд. 300 | |
152 (МОП) | Неклюдов Кирилл Олегович | Гадецкий Артём | понедельник, 15:10 - 16:30, ауд. 505 | |
153 (АПР) | Никишин Евгений Сергеевич | Ковалёв Евгений | пятница, 12:10 - 13:30, ауд. 322 | |
154 (АДИС) | Каюмов Эмиль Марселевич | Панков Алексей | пятница, 12:10 - 13:30, ауд. 501 | |
155 (РС) | Яшков Даниил Дмитриевич | Кохтев Вадим | понедельник, 12:10 - 13:30, ауд. 513 | |
156 (ТИ) | Умнов Алексей Витальевич | Шевченко Александр | ссылка | пятница, 15:10 - 16:30, ауд. 311 |
Магистратура ФТиАД | Чиркова Надежда Александровна | Першин Максим |
Консультации
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знания:
- Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
- Теоретические домашние работы и их защиты
- Практические домашние работы на Python
- Контрольные работы
- Письменный экзамен
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Oитоговая = 0.7 * Oнакопленная + 0.3 * Оэкз
Оценка за работу в семестре вычисляется по формуле
Oнакопленная = 0.1 * Oсамостоятельные + 0.4 * Опрактические дз + 0.3 * Отеоретические дз + 0.2 * Оконтрольные
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
Правила сдачи заданий
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работа не принимаются.
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Лекции
Лекция 1 (1 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [Конспект]
Лекция 2 (8 сентября). Линейная регрессия. Метрики качества регрессии. Градиентный спуск и способы оценивания градиента. Продвинутые градиентные методы. [Конспект]
Лекция 3 (15 сентября). Переобучение и регуляризация. Разреженные линейные модели. Квантильная регрессия. Подготовка признаков. [Конспект]
Лекция 4 (22 сентября). Линейная классификация. Отступ и верхние оценки на пороговую функцию потерь. Метрики качества классификации. [Конспект]
Лекция 5 (29 сентября). Линейная классификация. Логистическая регрессия и оценки вероятности классов. Метод опорных векторов. [Конспект]
Лекция 6 (6 октября). Многоклассовая классификация, сведение к бинарным задачам. Многоклассовая логистическая регрессия. Классификация с пересекающимися классами. Метрики качества многоклассовой классификации. Категориальные признаки: хэширование и счётчики. [Конспект]
Лекция 7 (20 октября). Решающие деревья. Жадный алгоритм построения. Выбор лучшего разбиения с помощью критерия информативности. Критерии информативности для регрессии и классификации. Учёт пропусков в деревьях. Решающие деревья и категориальные признаки. [Конспект]
Лекция 8 (3 ноября). Бутстрап и бэггинг. Разложение ошибки на смещение и разброс (bias-variance decomposition). Случайный лес. Вычисление расстояний с помощью лесов. [Конспект]
Лекция 9 (10 ноября). Градиентный бустинг. Регуляризация. Особенности бустинга над деревьями. Взвешивание объектов в градиентном бустинге. [Конспект]
Лекция 10 (17 ноября). Оптимизация второго порядка в градиентном бустинге. Регуляризация деревьев. XGBoost. Стекинг. [Конспект]
Лекция 11 (23 ноября). Графы вычислений, их обучение и метод обратного распространения ошибки. Полносвязные, свёрточные и рекуррентные слои. Возможности аппроксимации. Transfer learning. Глубинное обучение. [Конспект]
Лекция 12 (1 декабря). Обучение без учителя. Кластеризация: метрики качества, K-Means, иерархический и графовый подходы. Визуализация, t-SNE. Обучение представлений. word2vec. [Конспект]
Семинары
Семинар 1. Постановки задач, примеры применения, инструменты. [Ноутбук с семинара] [Ноутбук для самостоятельного изучения]
Семинар 2. Векторное дифференцирование. Линейная регрессия, аналитическое и численное решение. Свойства градиента. Сравнение градиентного спуска и стохастического градиентного спуска. Scikit-learn. [Конспект] [Notebook] [Домашнее задание]
Семинар 3. Предобработка данных для линейных моделей. Функции потерь в линейной регрессии. Вероятностный взгляд на линейную регрессию. [Notebook] [Домашнее задание]
Семинар 4. Метрики качества классификации. ROC-кривая, алгоритм её построения, AUC-ROC. [Конспект] [Домашнее задание]
Семинар 5. Оценивание вероятностей классов. Метод опорных векторов. Эквивалентность регуляризации и раннего останова в градиентном спуске. [Конспект] [Конспект] [Домашнее задание]
Семинар 6. Метод K ближайших соседей. Различные способы задания метрик. [Конспект]
Семинар 7. Решающие деревья. Критерии информативности. Способность решающих деревьев к переобучению. Калибровка вероятностей. [Конспект] [Домашнее задание]
Семинар 8. Разложение ошибки на смещение и разброс. Композиции. [Конспект] [Домашнее задание]
Семинар 9. Градиентный бустинг, его особенности по сравнению с другими видами композиций алгоритмов. Особенности градиентного бустинга над деревьями. [Конспект] [Notebook]
Семинар 10. Метод обратного распространения ошибки. Нейронные сети. [Конспект] [Notebook] [Домашнее задание]
Семинар 11. Визуализация данных. [Домашнее задание]
Практические задания
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
Задание 1. Библиотека numpy и работа с данными.
Дата выдачи: 18.09.2017
Мягкий дедлайн: 01.10.2017 23:59MSK
Жесткий дедлайн: 08.10.2017 23:59MSK.
Условие,
архив с условием и шаблонами,
соревнование в Яндекс.Контесте,
альтернативная ссылка на соревнование в Яндекс.Контесте.
Задание 2. Линейные методы и работа с категориальными признаками
Дата выдачи: 03.11.2017
Мягкий дедлайн: 19.11.2017 23:59MSK
Жесткий дедлайн: 26.11.2017 23:59MSK
Условие, соревнование в Яндекс.Контесте, альтернативная ссылка на соревнование в Яндекс.Контесте.
Задание 3. Разложение ошибки на смещение и разброс, решающие деревья, композиции.
Дата выдачи: 27.11.2017
Мягкий дедлайн: 10.12.2017 23:59MSK
Жесткий дедлайн: 17.12.2017 23:59MSK
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
Условие, соревнование в Яндекс.Контесте, альтернативная ссылка на соревнование в Яндекс.Контесте.
Теоретические домашние заданий
После (почти) каждого семинара выкладывается теоретическое домашнее задание, состоящее из задач по теме прошедших занятий. Выполнение каждого из данных заданий проверяется при помощи его защиты: преподаватель или ассистент спрашивает решения 1-2 задач из задания, и оценка за каждую из спрошенных задач выставляется, если студент успешно рассказывает решения и отвечает на сопутствующие вопросы принимающего. Подробные правила защит описаны здесь. Начиная с ДЗ №5 отправка решений в отсканированном или набранном в ТеХе виде обязательна.
ДЗ №№1—4
Срок защиты (включительно): 13.10.2017 (151, 153, 154, 156 группы), 16.10.2017 (152, 155 группы)
Срок отправки решений: 15.10.2017 23:59MSK (151, 153, 154, 156 группы), 18.10.2017 23:59MSK (152, 155 группы)
ДЗ №№5—6
Срок защиты (включительно): 11.12.2017
Срок отправки решений: 04.12.2017 23:59MSK
ДЗ №№7—8
Срок защиты (включительно): 19.12.2017
Срок отправки решений: 12.12.2017 23:59MSK
Бонусы за соревнования
За успешное участие в соревнованиях по анализу данных могут быть выставлены бонусные баллы, которые можно прибавить к оценке за любое практическое или теоретическое домашнее задание, а также за самостоятельную работу. Конкретное число баллов определяется преподавателями и зависит от сложности соревнования и занятого места. За одно соревнование можно получить не более 5 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.
Контрольная работа
Дата: 08.12.2017
Контрольная работа будет проводиться на лекции по обычному расписанию (10:30, ауд. 317). Работа является письменной и будет состоять из теоретических вопросов (список появится в ближайшее время) и задач.
Полезные материалы
Книги
- 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: Введение в машинное обучение, К.В. Воронцов