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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Практические задания: Добавлено задание 4)
Строка 1: Строка 1:
 
== О курсе ==
 
== О курсе ==
  
[[Файл:ML_surfaces.png|280px|borderless|left]]
+
Курс читается для студентов 1-го курса программы [https://www.hse.ru/ma/ps/ "Прикладная политология"] в 2-3 модулях.
  
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 1-2 модулях.
+
'''Лектор:''' [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] ([https://t.me/brainylyasha tg])
  
Проводится с 2016 года.
+
'''Семинарист:''' Панков Алексей Алексеевич ([https://t.me/apnkv tg])
  
'''Лектор:''' [http://www.hse.ru/staff/esokolov Соколов Евгений Андреевич]
+
'''Ассистент:''' Ревина Полина ([https://t.me/polinalv tg])
  
Лекции проходят по пятницам, 12:10 - 13:30, ауд. R404 (Покровский бульвар, 11).
+
Занятия проходят по вторникам, 18:00 — 21:00, ауд. 320а (ул. Мясницкая, 11).
  
  
Строка 22: Строка 22:
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
 
[https://github.com/esokolov/ml-course-hse Репозиторий с материалами на GitHub]
  
[https://www.youtube.com/watch?v=OBG6EUSRC9g&list=PLEqoHzpnmTfDwuwrFHWVHdr1-qJsfqCUX Видеозаписи лекций 18/19 года]
+
Чат в telegram для обсуждений и вопросов: https://t.me/joinchat/Cns_2hbF6c8B3cOx_olT0Q
  
Почта для сдачи домашних заданий (на самом деле задания сдаются в AnyTask, но если он не работает, то присылайте на почту): hse.cs.ml+<номер группы>@gmail.com (например, hse.cs.ml+171@gmail.com)
+
[https://docs.google.com/spreadsheets/d/1GBfsKa_YaAfFtx9EdkoF_6kyPa6x4Py-KYFDS115Tfg/edit?usp=sharing Таблица с оценками]
  
Канал в 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 Олег Дешеулин]
 
|-
 
|}
 
 
=== Консультации ===
 
  
 
=== Правила выставления оценок ===
 
=== Правила выставления оценок ===
Строка 68: Строка 35:
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
 
* Практические домашние работы на Python
 
* Практические домашние работы на Python
* Письменная контрольная работа
+
* Проект
 +
* Коллоквиум
 
* Письменный экзамен
 
* Письменный экзамен
  
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
  
Итог = Округление(0.15 * ПР + 0.4 * ДЗ + 0.15 * КР + 0.3 * Э)
+
Итог = Округление(0.1 * ПР + 0.2 * ДЗ + 0.2 * Проект + 0.2 * Кол + 0.3 * Э)
  
 
ПР — средняя оценка за самостоятельные работы на семинарах
 
ПР — средняя оценка за самостоятельные работы на семинарах
Строка 79: Строка 47:
 
ДЗ — средняя оценка за практические домашние работы на Python
 
ДЗ — средняя оценка за практические домашние работы на Python
  
КР — оценка за контрольную работу
+
Проект — оценка за проект
 +
 
 +
Кол — оценка за коллоквиум
  
 
Э — оценка за экзамен
 
Э — оценка за экзамен
Строка 87: Строка 57:
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
  
За каждый день просрочки после мягкого дедлайна снимается 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 баллов. Для получения оценки необходимо предоставить краткий отчёт о решении задачи.
 
 
== Контрольная работа ==
 
  
 
== Экзамен ==
 
== Экзамен ==
Строка 186: Строка 85:
 
== Страницы предыдущих лет ==
 
== Страницы предыдущих лет ==
  
[[Машинное_обучение_1/2018_2019 | 2018/2019 учебный год]]
+
[[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/2017_2018 | 2017/2018 учебный год]]
+
 
+
[[Машинное_обучение_1/2016_2017 | 2016/2017 учебный год]]
+

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

О курсе

Курс читается для студентов 1-го курса программы "Прикладная политология" в 2-3 модулях.

Лектор: Зиннурова Эльвира Альбертовна (tg)

Семинарист: Панков Алексей Алексеевич (tg)

Ассистент: Ревина Полина (tg)

Занятия проходят по вторникам, 18:00 — 21:00, ауд. 320а (ул. Мясницкая, 11).




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

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

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

Чат в telegram для обсуждений и вопросов: https://t.me/joinchat/Cns_2hbF6c8B3cOx_olT0Q

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

Вопросы по курсу можно задавать в чатепо ссылке выше, а также в телеграм преподавателям и ассистенту.

Семинары

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

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

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

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

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

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

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

Проект — оценка за проект

Кол — оценка за коллоквиум

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

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

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

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

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

Лекции

Семинары

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

Экзамен

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

Книги

  • 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 учебный год]