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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
== О курсе ==
 
== О курсе ==
  
Курс читается для студентов 1-го курса программы [https://www.hse.ru/ma/ps/ "Прикладная политология"] в 2-3 модулях.
+
[[Файл:ML_surfaces.png|280px|borderless|left]]
  
'''Лектор:''' [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] ([https://t.me/brainylyasha tg])
+
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 1-2 модулях.
  
'''Семинарист:''' Панков Алексей Алексеевич ([https://t.me/apnkv tg])
+
Проводится с 2016 года.
  
'''Ассистент:''' Ревина Полина ([https://t.me/polinalv tg])
+
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
  
Занятия проходят по вторникам, 18:00 — 21:00, ауд. 320а (ул. Мясницкая, 11).
+
Лекции проходят по пятницам, 12:10 - 13:30, ауд. R404 (Покровский бульвар, 11).
  
  
Строка 22: Строка 22:
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
  
Чат в telegram для обсуждений и вопросов: https://t.me/joinchat/Cns_2hbF6c8B3cOx_olT0Q
+
[https://www.youtube.com/watch?v=OBG6EUSRC9g&list=PLEqoHzpnmTfDwuwrFHWVHdr1-qJsfqCUX Видеозаписи лекций 18/19 года]
  
[https://docs.google.com/spreadsheets/d/1GBfsKa_YaAfFtx9EdkoF_6kyPa6x4Py-KYFDS115Tfg/edit?usp=sharing Таблица с оценками]
+
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+171@gmail.com)
  
'''Вопросы''' по курсу можно задавать в чатепо ссылке выше, а также в телеграм преподавателям и ассистенту.
+
Канал в telegram для объявлений: https://t.me/joinchat/AAAAAEtiwm9A8i-78LNcKQ
 +
 
 +
Чат в telegram для обсуждений (предназначение чата до конца не ясно, вопросы может быть правильнее задавать в чатах групп): https://t.me/joinchat/A5rlQBUrWTeXl7eBbnyBcQ
 +
 
 +
Ссылка на курс в Anytask: https://anytask.org/course/537
 +
 
 +
[https://docs.google.com/spreadsheets/d/1QIUMUkjzHfRqNIkYHVb4jsi3Pkq7URAQWSW8c9UwE-g/edit?usp=sharing Таблица с оценками]
 +
 
 +
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
 +
 
 +
'''Вопросы''' по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу.
 +
Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде [https://github.com/esokolov/ml-course-hse/issues Issue] в [https://github.com/esokolov/ml-course-hse github-репозитории курса].
  
 
=== Семинары ===
 
=== Семинары ===
 +
 +
{| class="wikitable"
 +
|-
 +
! Группа !! Преподаватель !! Учебный ассистент
 +
|-
 +
| 171 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || [https://t.me/granilace Виктор Куканов]
 +
|-
 +
| 172 (МОП) || [https://www.hse.ru/org/persons/209813459 Каюмов Эмиль Марселевич] ||  [https://t.me/svdcvt Соня Дымченко]
 +
|-
 +
| 173 (ТИ) || [https://www.hse.ru/org/persons/? Хрушков Павел Вадимович]  ||  [https://t.me/resokolov Роман Соколов]
 +
|-
 +
| 174 (АДИС) || [https://www.hse.ru/org/persons/? Кохтев Вадим Михайлович] ||  [https://t.me/widepeepoBlanket Евгений Алаев]
 +
|-
 +
| 175 (РС) || [https://www.hse.ru/org/persons/228364473 Волохова Александра Константиновна] || [https://t.me/President153 Ярослав Пудяков]
 +
|-
 +
| 176 (РС) || [https://www.hse.ru/org/persons/192085968 Яшков Даниил Дмитриевич] || [https://t.me/arcstranger  Николай Пальчиков]
 +
|-
 +
| Магистратура ФТиАД || [https://www.hse.ru/org/persons/? Рысьмятова Анастасия Александровна] || [https://t.me/oleg_top Олег Дешеулин]
 +
|-
 +
|}
 +
 +
=== Консультации ===
  
 
=== Правила выставления оценок ===
 
=== Правила выставления оценок ===
Строка 35: Строка 68:
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
 
* Практические домашние работы на Python
 
* Практические домашние работы на Python
* Проект
+
* Письменная контрольная работа
* Коллоквиум
+
 
* Письменный экзамен
 
* Письменный экзамен
  
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
  
Итог = Округление(0.1 * ПР + 0.2 * ДЗ + 0.2 * Проект + 0.2 * Кол + 0.3 * Э)
+
Итог = Округление(0.15 * ПР + 0.4 * ДЗ + 0.15 * КР + 0.3 * Э)
  
 
ПР — средняя оценка за самостоятельные работы на семинарах
 
ПР — средняя оценка за самостоятельные работы на семинарах
Строка 47: Строка 79:
 
ДЗ — средняя оценка за практические домашние работы на Python
 
ДЗ — средняя оценка за практические домашние работы на Python
  
Проект — оценка за проект
+
КР — оценка за контрольную работу
 
+
Кол — оценка за коллоквиум
+
  
 
Э — оценка за экзамен
 
Э — оценка за экзамен
Строка 57: Строка 87:
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
  
При обнаружении плагиата в любом виде работ оценки за работу обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
+
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. Даже при опоздании на одну секунду. Сдавайте заранее.
  
При наличии уважительной причины пропущенную работу можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
+
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.
 +
 
 +
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
  
 
== Лекции ==
 
== Лекции ==
 +
 +
Ко всем конспектам на GitHub есть исходники. Исправления и дополнения всячески приветствуются!
 +
 +
'''Лекция 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 Конспект]]
 +
 +
'''Лекция 5''' (4 октября). Линейная классификация. Логистическая регрессия и оценки вероятности классов. Метод опорных векторов. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture05-linclass.pdf Конспект]]
 +
 +
'''Лекция 6''' (11 октября). Многоклассовая классификация, сведение к бинарным задачам. Многоклассовая логистическая регрессия. Классификация с пересекающимися классами. Метрики качества многоклассовой классификации.
 +
 +
'''Лекция 7''' (18 октября). Решающие деревья. Жадный алгоритм построения. Выбор лучшего разбиения с помощью критерия информативности. Критерии информативности для регрессии и классификации. Учёт пропусков в деревьях. Решающие деревья и категориальные признаки. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/lecture-notes/lecture07-trees.pdf Конспект]]
  
 
== Семинары ==
 
== Семинары ==
 +
 +
'''Семинар 1.''' Области применения машинного обучения. Инструменты data scientist'а. Pandas и разведочный анализ данных. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem01-intro.ipynb Ноутбук]]
 +
 +
'''Семинар 2.''' Линейная регрессия. Библиотека scikit-learn. Валидация моделей. Работа с категориальными признаками. [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/seminars/sem02-sklearn-linreg.ipynb Ноутбук]]
 +
 +
'''Семинар 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 Ноутбук]]
 +
 +
'''Семинар 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 Ноутбук]]
 +
 
== Практические задания ==
 
== Практические задания ==
 +
 +
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются. В течение семестра каждый студент может не более 2 раз сдать задание после жёсткого дедлайна.
 +
 +
'''Задание 1.''' Работа с Pandas и Matplotlib.
 +
 +
Мягкий дедлайн: 15.09.2019 23:59.
 +
 +
Жесткий дедлайн: 17.09.2019 23:59.
 +
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-practice/homework-practice-01.ipynb Ноутбук с заданием]]
 +
 +
'''Задание 2.''' Exploratory Data Analysis и линейная регрессия.
 +
 +
Мягкий дедлайн: 01.10.2019 23:59.
 +
 +
Жесткий дедлайн: 04.10.2019 23:59 (за каждый день просрочки снимается 2 балла).
 +
 +
[[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-practice/homework-practice-02.ipynb Ноутбук с заданием]]
 +
 +
'''Задание 3.''' Градиентный спуск своими руками.
 +
 +
Мягкий дедлайн: 15.10.2019 07:59.
 +
 +
Жесткий дедлайн: 17.10.2019 23:59.
 +
 +
'''Задание 4.''' Метод опорных векторов, категориальные признаки, калибровка предсказаний и отбор признаков.
 +
 +
Мягкий дедлайн: 11.11.2019 07:59.
 +
 +
Жесткий дедлайн: 13.11.2019 23:59.
 +
 +
[[https://nbviewer.jupyter.org/github/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-practice/homework-practice-04.ipynb Ноутбук с заданием]]
 +
 +
==Теоретические домашние задания==
 +
 +
Теоретические ДЗ не проверяются, но задачи из них могут войти в проверочные работы на семинарах.
 +
 +
'''Теоретическое домашнее задание 1''': линейная регрессия и векторное дифференцирование [[https://github.com/esokolov/ml-course-hse/blob/master/2019-fall/homeworks-theory/homework-theory-01-linregr.pdf ссылка]]
 +
 +
== Бонусы за соревнования ==
 +
 +
За успешное участие в соревнованиях по анализу данных могут быть выставлены бонусные баллы, которые можно прибавить к оценке за любое практическое или теоретическое домашнее задание, а также за самостоятельную работу. Под успешным участием понимается попадание в топ-10% мест; если соревнование особо сложное и крупное, может рассматриваться и попадание в топ-20% мест. Конкретное число баллов определяется преподавателями и зависит от сложности соревнования и занятого места. За одно соревнование можно получить не более 5 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.
 +
 +
== Контрольная работа ==
  
 
== Экзамен ==
 
== Экзамен ==
Строка 85: Строка 186:
 
== Страницы предыдущих лет ==
 
== Страницы предыдущих лет ==
  
[[http://wiki.cs.hse.ru/%D0%9C%D0%9C%D0%9E_%D0%9F%D0%BE%D0%BB%D0%B8%D1%82%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_201810 | 2018/2019 учебный год]]
+
[[Машинное_обучение_1/2018_2019 | 2018/2019 учебный год]]
 +
 
 +
[[Машинное_обучение_1/2017_2018 | 2017/2018 учебный год]]
 +
 
 +
[[Машинное_обучение_1/2016_2017 | 2016/2017 учебный год]]

Версия 13:24, 29 октября 2019

О курсе

borderless

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

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

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

Лекции проходят по пятницам, 12:10 - 13:30, ауд. R404 (Покровский бульвар, 11).




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

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

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

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

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

Канал в telegram для объявлений: https://t.me/joinchat/AAAAAEtiwm9A8i-78LNcKQ

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

Ссылка на курс в Anytask: https://anytask.org/course/537

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

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

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

Семинары

Группа Преподаватель Учебный ассистент
171 (МОП) Зиннурова Эльвира Альбертовна Виктор Куканов
172 (МОП) Каюмов Эмиль Марселевич Соня Дымченко
173 (ТИ) Хрушков Павел Вадимович Роман Соколов
174 (АДИС) Кохтев Вадим Михайлович Евгений Алаев
175 (РС) Волохова Александра Константиновна Ярослав Пудяков
176 (РС) Яшков Даниил Дмитриевич Николай Пальчиков
Магистратура ФТиАД Рысьмятова Анастасия Александровна Олег Дешеулин

Консультации

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лекции

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

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

Лекция 2 (13 сентября). Линейная регрессия. Метрики качества регрессии. Градиентный спуск и способы оценивания градиента. Продвинутые градиентные методы. [Конспект]

Лекция 3 (20 сентября). Переобучение и регуляризация. Разреженные линейные модели. Квантильная регрессия. Подготовка признаков. [Конспект]

Лекция 4 (27 сентября). Линейная классификация. Отступ и верхние оценки на пороговую функцию потерь. Метрики качества классификации. [Конспект]

Лекция 5 (4 октября). Линейная классификация. Логистическая регрессия и оценки вероятности классов. Метод опорных векторов. [Конспект]

Лекция 6 (11 октября). Многоклассовая классификация, сведение к бинарным задачам. Многоклассовая логистическая регрессия. Классификация с пересекающимися классами. Метрики качества многоклассовой классификации.

Лекция 7 (18 октября). Решающие деревья. Жадный алгоритм построения. Выбор лучшего разбиения с помощью критерия информативности. Критерии информативности для регрессии и классификации. Учёт пропусков в деревьях. Решающие деревья и категориальные признаки. [Конспект]

Семинары

Семинар 1. Области применения машинного обучения. Инструменты data scientist'а. Pandas и разведочный анализ данных. [Ноутбук]

Семинар 2. Линейная регрессия. Библиотека scikit-learn. Валидация моделей. Работа с категориальными признаками. [Ноутбук]

Семинар 3. Градиент и его свойства. Векторное дифференцирование. Градиентый спуск, его модификации, практические аспекты. [Конспект] [Ноутбук]

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

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

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

Задание 1. Работа с Pandas и Matplotlib.

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

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

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

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

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

Жесткий дедлайн: 04.10.2019 23:59 (за каждый день просрочки снимается 2 балла).

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

Задание 3. Градиентный спуск своими руками.

Мягкий дедлайн: 15.10.2019 07:59.

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

Задание 4. Метод опорных векторов, категориальные признаки, калибровка предсказаний и отбор признаков.

Мягкий дедлайн: 11.11.2019 07:59.

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

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

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

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

Теоретическое домашнее задание 1: линейная регрессия и векторное дифференцирование [ссылка]

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

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

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

Экзамен

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

Книги

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

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

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

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

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

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