Машинное обучение (сов. бак. ВШЭ-РЭШ 2020)
Содержание
О курсе
Курс читается для студентов 3-4 курса совместного бакалавриата ВШЭ-РЭШ в 1-2 модулях.
Проводится с 2019 года.
Лектор: Надежда Чиркова (nchirkova@hse.ru, @nadiinch)
Семинаристка: Анастасия Карпова (@Asya_Karpova)
Ассистент: Сайдаш Мифтахов (@saydashtatar)
Лекции проходят по пятницам в 13:00 (онлайн, см. чат).
Семинары проходят по средам в 9:30 (онлайн, см. чат).
Правила выставления оценок
В курсе предусмотрено несколько форм контроля знаний:
- Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций и семинаров (всего 4-5 проверочных)
- Практические домашние работы на Python (всего 7-8 домашних работ)
- Контрольная работа в середине курса
- Письменный экзамен
Домашние работы будут иногда включать дополнительные задания, за которые начисляются бонусные баллы. Бонусные баллы можно прибавить к ДЗ и ПР (до достижения 10), но нельзя прибавлять к КР и экзамену. Бонусные баллы учитываются при вычислении порогов для автомата (см. ниже).
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Oитоговая = Округление(0.4 * ДЗ + 0.1 * ПР + 0.2 * КР + 0.3 * Э)
ДЗ — средняя оценка за практические домашние задания
ПР — средняя оценка за письменные проверочные работы на семинарах
КР — оценка за контрольную работу
Э — оценка за экзамен
Округление арифметическое.
Информация об автоматах будет объявлена в середине второго модуля. В прошлом году автомат выставлялся при преодолении двух порогов: на оценку за КР и за накопленную оценку (ДЗ+ПР) (в этом случае автоматом выставлялась оценка, полученная по формуле 4/7 * ДЗ + 1/7 * ПР + 2/7 * КР - перенормированная формула общей оценки курса).
Правила сдачи заданий
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее.
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
Контрольная работа (мидтерм) и экзамен
[Вопросы к экзамену] [Вопросы к контрольной работе]
Экзамен состоится 23 декаюря в 11:10-12:30, в режиме онлайн.
Контрольная работа состоится 13 ноября во время лекции, в режиме онлайн.
Порядок проведения контрольной работы и экзамена:
1) У студента должна быть включена камера все время проведения работы. Нужно будет установить камеру телефона так, чтобы вас было целиком видно (вы, стол, листок, на котором вы пишете). Именно целиком, а не часть вас и не часть листка. Звук не нужен. Проверьте, что у вас хорошее интернет-соединение. Будет вестись запись.
2) Вы открываете работу на компьютере в начале написания и больше не используете мышь/тачпад/клавитатуру и тд. Работа будет помещаться в один экран, отрегулируйте заранее настройки экрана, чтобы он не погас. Это очень важный пункт: нельзя использовать никакие средства ввода и вообще как-либо упралять компьютером или телефоном.
Время написания работы: 1 час 20 минут.
Если прокторы во время проведения работы замечают противоправные или странные действия, за работу снимаются баллы. В случае обнаружения любого вида списывания работа сразу оценивается в 0 баллов.
Содержание работы: теоретические вопросы из списка (возможны измененные формулировки) + задачи (аналогичные семинарам).
Лекции
Лекция 1. Введение в машинное обучение. [Презентация по введению.] [Презентация про данные.]
Лекции 2-3. Линейная регрессия. [Конспект 1 (стр. 1-10)] [Конспект 2 (стр. 1-5)]
Лекция 4. Линейная классификация. [Конспект 1 (стр. 1-3)] [Конспект 2 (стр. 1-4)]
Лекция 5. Метрики качества классификации. [Конспект (стр. 3-8)]
Лекция 6. Многоклассовая линейная классификация. Метрические методы. [Конспект по многоклассовой классификации (стр. 1-3, 5-6)] [Конспект по метрическим методам (стр. 1-2)]
Лекция 7. Решающие деревья [Конспект]
Лекция 8. Композиции алгоритмов [Конспект про бэггинг и случайные леса (стр. 1, 2, 9)] [Конспект про градиентный бустинг (стр. 1-4)]
Лекция 8. Разложение ошибки на смещение и разброс [Конспект(стр. 3-6)] [Конспект c примерами(стр. 1-4)]
Лекция 9. Рекомендательные системы [Конспект (стр. 3-7)]
Лекция 10. Кластеризация и методы понижения размерности [Конспект по кластеризации и визуализации] [Видео про метод главных компонент] [Вывод решения в меоде главных компонент (доп. материал)]
Лекция 11. Введение в нейронные сети [Презентация] (на лекции было больше материала)
Лекция 12. Сверточные нейросети. Регуляризация нейронных сетей. [Презентация] (на лекции было больше материала)
Лекция 13. Нейронные сети в анализе текстов. [Презентация]
План курса:
- Введение в машинное обучение (постановки задач, виды данных, метрики качества)
- Обучение с учителем (задачи регрессии и классификации, классические методы их решения: линейные модели, метрические методы, решающие деревья, композицци алгоритмов; обзор задачи построения рекомендательных систем)
- Обучение без учителя (задачи кластеризации, визуализации, понижения размерности, обзоры методов их решения)
- Глубинное обучение (понятие вычислительного графа, основные виды слоев и архитектур нейронных сетей, приемы для обучения нейронных сетей)
Семинары
Материалы семинаров и домашек лежат здесь.
На семинарах будут разбираться теоретические задачи и практические задания. Практика в курсе проводится с использованием языка Python и библиотек Numpy, Pandas, Sklearn, Matplotlib, PyTorch.
Семинар 1. Повторение Python и Numpy
Семинар 2. Таблички-картиночки
Семинар 3. Дифференцирование по вектору и неправильный вывод оценки для ridge-регрессии 👒
Семинар 4. Правильный вывод оценки для ridge-регрессии 👒 Нормализация данных. Кросс-валидация.
Семинар 5. Задача классификации. Логистическая регрессия.
Семинар 6. Метрики в задачах классификации. ROC-AUC.
Семинар 7. kNN. Метрики.
Здесь появятся заметки.
Для тех, кто не боится быть любознательным 👒
Семинар 8.
Домашние задания
Домашняя работа 1. Задачки в Numpy. Линейная регрессия
Домашняя работа 2. Логистическая регрессия. Преобразование признаков
Контрольная работа (общая информация)
Контрольная работа включает теоретические вопросы и теоретические задачи, не включает задачи на программирование. Теоретические вопросы подразумевают развернутые ответы с формулами.
Рекомендации по написанию контрольной работы: Во всех формулах поясните обозначения. На всех графиках подпишите оси. Для всех рисунков поясните, что изображено на них. Во всех задачах оптимизации подпишите, по каким переменным она выполняется. Для всех суммирований подпишите индекс и границы суммирования.
Вопросы для подготовки в прошлом году
Примеры задач:
Соревнования
Задача: выявление мошеннических тразнакций
Это соревнование на бонусные баллы, оно не является обязательным.
Ссылка для участия: https://www.kaggle.com/t/c70d9edc863e4b709f12256091e2d394
Дедлайн: 15.12.2020 23:59MSK
В задании всего один бейзлайн (lightgbm), ненулевые баллы получают решения, преодолевшие его на приватном лидерборде. Все решения выше этого бейзлайна оцениваются по равномерной шкале от 0 до 5.
Обратите внимание на раздел Baselines на Kaggle — там можно найти много полезного.
Задание выполняется индивидуально :) Для подтверждения результатов на лидерборде в my.nes надо будет загрузить ноутбук с решением, выдающим тот же скор.
Полезные материалы
Курсы по машинному обучению и анализу данных
- Курс по машинному обучению К.В. Воронцова
- Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов
- Coursera: Машинное обучение и анализ данных (специализация)
- Coursera: Введение в машинное обучение, К.В. Воронцов
- Coursera: Machine Learning, Andrew Ng
Статьи
- An Introduction to Machine Learning Theory and Its Applications: A Visual Tutorial with Examples
- A Visual Introduction to Machine Learning
Книги
- Mohammed J. Zaki, Wagner Meira Jr. Data Mining and Analysis. Fundamental Concepts and Algorithms. Cambridge University Press, 2014.
- Boris Mirkin. Core Concepts in Data Analysis: Summarization, Correlation, Visualization. 2010.
- James, Witten, Hastie, Tibshirani. An Introduction to Statistical Learning. 2013.