Машинное обучение (сов. бак. ВШЭ-РЭШ 2020) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Семинары)
(Отмена правки 57124, сделанной участником Nadiinchi (обс.))
 
(не показано 11 промежуточных версии 2 участников)
Строка 11: Строка 11:
 
'''Ассистент:''' Сайдаш Мифтахов (@saydashtatar)
 
'''Ассистент:''' Сайдаш Мифтахов (@saydashtatar)
  
Лекции проходят по пятницам в 13:00 (Покровский бульвар, 11, в сентябре онлайн).
+
Лекции проходят по пятницам в 13:00 (онлайн, см. чат).
  
Семинары проходят по средам в 9:30 (Покровский бульвар, 11, в сентябре онлайн).
+
Семинары проходят по средам в 9:30 (онлайн, см. чат).
  
 
[https://t.me/joinchat/EQ3MjUwbiQ0JyGz7ItqosA Чат в телеграме]
 
[https://t.me/joinchat/EQ3MjUwbiQ0JyGz7ItqosA Чат в телеграме]
Строка 42: Строка 42:
 
Округление арифметическое.
 
Округление арифметическое.
  
Информация об автоматах будет объявлена в середине второго модуля. В прошлом году автомат выставлялся при преодолении двух порогов: на оценку за КР и за экзамен (в этом случае автоматом выставлялась оценка, полученная по формуле 4/7 * ДЗ + 1/7 * ПР + 2/7 * КР - перенормированная формула общей оценки курса).
+
Информация об автоматах будет объявлена в середине второго модуля. В прошлом году автомат выставлялся при преодолении двух порогов: на оценку за КР и за накопленную оценку (ДЗ+ПР) (в этом случае автоматом выставлялась оценка, полученная по формуле 4/7 * ДЗ + 1/7 * ПР + 2/7 * КР - перенормированная формула общей оценки курса).
  
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
Строка 51: Строка 51:
  
 
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
 
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
 +
 +
=== Контрольная работа (мидтерм) и экзамен ===
 +
 +
[[https://github.com/nadiinchi/ml_hse_nes_2019/blob/master/materials/exam_ml2020.pdf Вопросы к экзамену]]
 +
[[https://github.com/nadiinchi/ml_hse_nes_2019/blob/master/materials/%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B%20%D0%BA%20%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B8%CC%86%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5%202020.pdf Вопросы к контрольной работе]]
 +
 +
Экзамен состоится 23 декаюря в 11:10-12:30, в режиме онлайн.
 +
 +
Контрольная работа состоится 13 ноября во время лекции, в режиме онлайн.
 +
 +
Порядок проведения контрольной работы и экзамена:
 +
 +
1) У студента должна быть включена камера все время проведения работы. Нужно будет установить камеру телефона так, чтобы вас было целиком видно (вы, стол, листок, на котором вы пишете). Именно целиком, а не часть вас и не часть листка. Звук не нужен. Проверьте, что у вас хорошее интернет-соединение. Будет вестись запись.
 +
 +
2) Вы открываете работу на компьютере в начале написания и больше не используете мышь/тачпад/клавитатуру и тд. Работа будет помещаться в один экран, отрегулируйте заранее настройки экрана, чтобы он не погас. Это очень важный пункт: нельзя использовать никакие средства ввода и вообще как-либо упралять компьютером или телефоном.
 +
 +
Время написания работы: 1 час 20 минут.
 +
 +
Если прокторы во время проведения работы замечают противоправные или странные действия, за работу снимаются баллы. В случае обнаружения любого вида списывания работа сразу оценивается в 0 баллов.
 +
 +
Содержание работы: теоретические вопросы из списка (возможны измененные формулировки) + задачи (аналогичные семинарам).
 +
  
 
== Лекции ==
 
== Лекции ==
Строка 70: Строка 92:
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2018-fall/lecture-notes/lecture07-trees.pdf Конспект]]
 
[[https://github.com/esokolov/ml-course-hse/blob/master/2018-fall/lecture-notes/lecture07-trees.pdf Конспект]]
  
 +
Лекция 8. Композиции алгоритмов
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture08-ensembles.pdf Конспект про бэггинг и случайные леса (стр. 1, 2, 9)]]
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2018-fall/lecture-notes/lecture09-ensembles.pdf Конспект про градиентный бустинг (стр. 1-4)]]
 +
 +
Лекция 8. Разложение ошибки на смещение и разброс
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture08-ensembles.pdf Конспект(стр. 3-6)]]
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem08-bvd.pdf Конспект c примерами(стр. 1-4)]]
 +
 +
Лекция 9. Рекомендательные системы
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2018-fall/lecture-notes/lecture12-factorizations.pdf Конспект (стр. 3-7)]]
 +
 +
Лекция 10. Кластеризация и методы понижения размерности
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2018-fall/lecture-notes/lecture11-unsupervised.pdf Конспект по кластеризации и визуализации]]
 +
[[https://ru.coursera.org/lecture/vvedenie-mashinnoe-obuchenie/mietod-ghlavnykh-komponient-Ey95r Видео про метод главных компонент]]
 +
[[https://github.com/esokolov/ml-course-msu/blob/master/ML15-spring/lecture-notes/Sem06_pca.pdf Вывод решения в меоде главных компонент (доп. материал)]]
 +
 +
Лекция 11. Введение в нейронные сети
 +
[[https://github.com/nadiinchi/ml_workshop_nov2020/blob/main/DL_slides.pdf Презентация]] (на лекции было больше материала)
 +
 +
Лекция 12. Сверточные нейросети. Регуляризация нейронных сетей.
 +
[[https://drive.google.com/file/d/1uSVdPsn5wznk510gS9N1K9DXITpxNFXt/view Презентация]] (на лекции было больше материала)
 +
 +
Лекция 13. Нейронные сети в анализе текстов.
 +
[[https://github.com/nadiinchi/ml_hse_nes_2019/blob/master/materials/NLP_lecture.pdf Презентация]]
  
 
План курса:
 
План курса:
Строка 78: Строка 124:
  
 
== Семинары ==
 
== Семинары ==
 +
 +
Материалы семинаров и домашек лежат [https://github.com/AsyaKarpova/ml_nes_2020 здесь].
  
 
На семинарах будут разбираться теоретические задачи и практические задания. Практика в курсе проводится с использованием языка Python и библиотек Numpy, Pandas, Sklearn, Matplotlib, PyTorch.
 
На семинарах будут разбираться теоретические задачи и практические задания. Практика в курсе проводится с использованием языка Python и библиотек Numpy, Pandas, Sklearn, Matplotlib, PyTorch.
Строка 125: Строка 173:
 
[https://www.overleaf.com/project/5f95bd7001b97e000189abea Проверочная]
 
[https://www.overleaf.com/project/5f95bd7001b97e000189abea Проверочная]
  
[Заметки https://github.com/AsyaKarpova/ml_nes_2020/blob/master/sem8/Lesson8.pdf]
+
[https://github.com/AsyaKarpova/ml_nes_2020/blob/master/sem8/Lesson8.pdf Заметки]
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 133: Строка 181:
 
'''Домашняя работа 2'''. [https://github.com/AsyaKarpova/ml_nes_2020/blob/master/homeworks/homework2.ipynb Логистическая регрессия. Преобразование признаков]
 
'''Домашняя работа 2'''. [https://github.com/AsyaKarpova/ml_nes_2020/blob/master/homeworks/homework2.ipynb Логистическая регрессия. Преобразование признаков]
  
== Контрольная работа ==
+
== Контрольная работа (общая информация) ==
 
Контрольная работа включает теоретические вопросы и теоретические задачи, не включает задачи на программирование. Теоретические вопросы подразумевают развернутые ответы с формулами.
 
Контрольная работа включает теоретические вопросы и теоретические задачи, не включает задачи на программирование. Теоретические вопросы подразумевают развернутые ответы с формулами.
  
Строка 149: Строка 197:
 
* [https://github.com/esokolov/ml-minor-hse/blob/master/colloquium-2017/colloquium_minor_problems_metrics.ipynb Метрики качества]
 
* [https://github.com/esokolov/ml-minor-hse/blob/master/colloquium-2017/colloquium_minor_problems_metrics.ipynb Метрики качества]
  
== Экзамен ==
+
== Соревнования ==
  
Формат такой же, как у КР, но по всему курсу.
+
Задача: выявление мошеннических тразнакций
  
== Соревнования ==
+
Это соревнование на бонусные баллы, оно не является обязательным.
 +
 
 +
Ссылка для участия: https://www.kaggle.com/t/c70d9edc863e4b709f12256091e2d394
 +
 
 +
Дедлайн: 15.12.2020 23:59MSK
 +
 
 +
В задании всего один бейзлайн (lightgbm), ненулевые баллы получают решения, преодолевшие его на приватном лидерборде. Все решения выше этого бейзлайна оцениваются по равномерной шкале от 0 до 5.
 +
 
 +
Обратите внимание на раздел Baselines на Kaggle — там можно найти много полезного.
  
В конце курса, возможно, будет организовано соревнование на бонусные баллы.
+
Задание выполняется индивидуально :)
 +
Для подтверждения результатов на лидерборде в my.nes надо будет загрузить ноутбук с решением, выдающим тот же скор.
  
 
==Полезные материалы==
 
==Полезные материалы==

Текущая версия на 22:09, 2 сентября 2021

О курсе

Курс читается для студентов 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-регрессии 👒 Нормализация данных. Кросс-валидация.

Заметки c семинара

Семинар 5. Задача классификации. Логистическая регрессия.

Семинар 6. Метрики в задачах классификации. ROC-AUC.

Проверочная

Видео

Семинар 7. kNN. Метрики.

Здесь появятся заметки.

Для тех, кто не боится быть любознательным 👒

Красиво об LSH

Сферическое проклятие. 👒


Семинар 8.

Проверочная

Заметки

Домашние задания

Домашняя работа 1. Задачки в Numpy. Линейная регрессия

Домашняя работа 2. Логистическая регрессия. Преобразование признаков

Контрольная работа (общая информация)

Контрольная работа включает теоретические вопросы и теоретические задачи, не включает задачи на программирование. Теоретические вопросы подразумевают развернутые ответы с формулами.

Рекомендации по написанию контрольной работы: Во всех формулах поясните обозначения. На всех графиках подпишите оси. Для всех рисунков поясните, что изображено на них. Во всех задачах оптимизации подпишите, по каким переменным она выполняется. Для всех суммирований подпишите индекс и границы суммирования.

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

Пример варианта

Примеры задач:

Соревнования

Задача: выявление мошеннических тразнакций

Это соревнование на бонусные баллы, оно не является обязательным.

Ссылка для участия: https://www.kaggle.com/t/c70d9edc863e4b709f12256091e2d394

Дедлайн: 15.12.2020 23:59MSK

В задании всего один бейзлайн (lightgbm), ненулевые баллы получают решения, преодолевшие его на приватном лидерборде. Все решения выше этого бейзлайна оцениваются по равномерной шкале от 0 до 5.

Обратите внимание на раздел Baselines на Kaggle — там можно найти много полезного.

Задание выполняется индивидуально :) Для подтверждения результатов на лидерборде в my.nes надо будет загрузить ноутбук с решением, выдающим тот же скор.

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

Страница курса прошлого года

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

Статьи

Книги

  • 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.