Байесовские методы машинного обучения 2018 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Отмена правки 32334, сделанной участником Tipt0p (обс.))
 
Строка 1: Строка 1:
'''Page is not ready yet!'''
+
'''Лектор:''' [https://www.hse.ru/staff/dvetrov Дмитрий Петрович Ветров]
  
'''Lector:''' [https://www.hse.ru/en/staff/dvetrov Dmitry Vetrov]
+
'''Семинаристы:''' [https://www.hse.ru/org/persons/131072080 Екатерина Лобачева], [https://www.hse.ru/org/persons/191263008 Кирилл Неклюдов]
  
'''Tutors:''' [https://www.hse.ru/en/org/persons/190884100 Alexander Grishin], [https://www.hse.ru/en/org/persons/165140955 Kirill Struminsky], [https://www.hse.ru/en/org/persons/205487138 Dmitry Molchanov], [https://www.hse.ru/en/org/persons/191263008 Kirill Neklyudov], [http://artem.sobolev.name/ Artem Sobolev], [https://ars-ashuha.ru/ Arsenii Ashukha], [https://bayesgroup.ru/people/oleg-ivanov/ Oleg Ivanov], [https://www.hse.ru/en/org/persons/131072080 Ekaterina Lobacheva].
+
'''Контакты:''' по всем вопросам, связанным с курсом, просьба писать на '''bayesml@gmail.com'''. В название письма обязательно добавлять '''[ФКН БММО18]'''. Письма без этого тега могут просто не дойти до преподавателей!
 
+
'''Contacts:''' по всем вопросам, связанным с курсом, просьба писать на '''bayesml@gmail.com'''. В название письма обязательно добавлять '''[ФКН БММО18]'''. Письма без этого тега могут просто не дойти до преподавателей!
+
 
Информация о чате и энитаске для сдачи заданий будет позднее.
 
Информация о чате и энитаске для сдачи заданий будет позднее.
  
 
У курса есть чат в телеграме. '''Все объявления по курсу будут вывешиваться именно в чате!''' Всем студентам будет отправлена ссылка на него на почту. Преподаватели в чате бывают, но не всегда. По всем важным вопросам стоит писать на почту.
 
У курса есть чат в телеграме. '''Все объявления по курсу будут вывешиваться именно в чате!''' Всем студентам будет отправлена ссылка на него на почту. Преподаватели в чате бывают, но не всегда. По всем важным вопросам стоит писать на почту.
  
===Abstract===  
+
===Краткое описание===
This course is devoted to Bayesian reasoning in application to deep learning models. Attendees would learn how to use probabilistic modeling to construct neural generative and discriminative models, how to use the paradigm of generative adversarial networks to perform approximate Bayesian inference and how to model the uncertainty about the weights of neural networks. Selected open problems in the field of deep learning would also be discussed. The practical assignments will cover implementation of several modern Bayesian deep learning models.
+
  
=== News ===
+
[[Файл:Bayes.jpeg|400px|безрамки|слева]]
 +
Курс посвящен т.н. байесовским методам решения различных задач машинного обучения (классификации, восстановления регрессии, уменьшения размерности, разделения смесей, тематического моделирования и др.), которые в настоящее время активно развиваются в мире. Большинство современных научных публикаций по машинному обучению используют вероятностное моделирование, опирающееся на байесовский подход к теории вероятностей. Последний позволяет эффективно учитывать различные предпочтения пользователя при построении решающих правил прогноза. Кроме того, он позволяет решать задачи выбора структурных параметров модели. В частности, здесь удается решать без комбинаторного перебора задачи селекции признаков, выбора числа кластеров в данных, размерности редуцированного пространства при уменьшении размерности, значений коэффициентов регуляризации и пр. В байесовском подходе вероятность интерпретируется как мера незнания, а не как объективная случайность. Простые правила оперирования с вероятностью, такие как формула полной вероятности и формула Байеса, позволяют проводить рассуждения в условиях неопределенности. В этом смысле байесовский подход к теории вероятностей можно рассматривать как обобщение классической булевой логики.
  
===Grading System===
+
Основной задачей курса является привитие студентам навыков самостоятельного построения сложных вероятностных моделей обработки данных, используя стандартные модели в качестве своеобразных "кирпичиков". Особое внимание уделяется приближенным байесовским методам, позволяющим обсчитывать сложные вероятностные модели.
  
The assessment consist of 3 practical assignments and a final oral exam. Practical assignments consist in programming some models/methods from the course in Python and analysing their behavior: VAE, Normalizing flows, Sparse Variational Dropout. At the final exam students have to demonstrate knowledge of the material covered during the entire course.
+
=== Новости ===
  
Final course grade is obtained from the following formula:  
+
* 20.09.18 - Выложена формулировка первого практического задания. Срок сдачи - '''5 октября 23:00'''.
О_final = 0,7 * О_cumulative + 0,3 * О_exam,
+
* 27.09.18 -  Выложена формулировка первого теоретического задания. Срок сдачи - '''4 октября 23:00'''.
where О_cumulative is an average grade for the practical assignments.  
+
* 13.10.18 -  Выложена формулировка второго теоретического задания. Срок сдачи - '''20 октября 23:00'''.
 +
* 13.10.18 -  Выложена формулировка первой лабораторной работы. Срок сдачи - '''27 октября 23:00'''.
 +
* 02.11.18 -  Выложена формулировка второго практического задания. Срок сдачи - '''17 ноября 23:00'''.
 +
* 08.11.18 -  Выложена формулировка третьего теоретического задания. Срок сдачи - '''15 ноября 23:00'''.
  
All grades are in ten-point grading scale. If О_cumulative or О_final has a fractional part greater or equal than 0.5 then it is rounded up. Each practical assignment has a deadline, a penalty is charged in the amount of 0.3 points for each day of delay, but in total not more than 6 points. Students have to complete all assignments by themselves, plagiarism is strictly prohibited.
+
===Отчётность по курсу и критерии оценки===
  
За некоторые задания можно будет получить бонусные баллы, о чем будет объявляться при выдаче задания.
+
В курсе предусмотрено несколько форм контроля знания:
 +
* 2 практических домашних задания
 +
* 3 теоретических домашних задания  
 +
* 4 домашних лабораторных работы
 +
* устный экзамен
  
===Assignments ===
+
Результирующая оценка по дисциплине рассчитывается по формуле
 +
 
 +
'''O_итог = 0.7 * O_накопл + 0.3 * O_экз'''
 +
 
 +
Накопленная и итоговая оценки округляются арифметически. Накопленная оценка рассчитывается по формуле
 +
 
 +
'''O_накопл = 3/7 * O_практ + 4/49 * (3 * O_теор + 4 * О_лаб)'''
 +
 
 +
Эта формула выглядит страшно, но на деле она просто означает, что за практические работы можно заработать 3 балла в итоговую оценку, а за теоретические и лабораторные вместе - 4 балла. Оценка за каждый тип заданий рассчитывается как среднее по всем заданиям данного типа. Каждое задание и экзамен оцениваются по 10-балльной шкале (по заданиям допускается дробная оценка). За некоторые задания можно будет получить бонусные баллы, о чем будет объявляться при выдаче задания.
 +
 
 +
===Домашние задания ===
 
# В рамках курса предполагается выполнение двух практических заданий, трёх теоретических домашних заданий и четырёх лабораторных работ. Задания сдаются в системе [https://anytask.org/course/377 anytask]. Для получения инвайта по курсу просьба писать на почту курса.  
 
# В рамках курса предполагается выполнение двух практических заданий, трёх теоретических домашних заданий и четырёх лабораторных работ. Задания сдаются в системе [https://anytask.org/course/377 anytask]. Для получения инвайта по курсу просьба писать на почту курса.  
 
# Все практические задания и лабораторные сдаются на Python 3. Код практических заданий должен быть обязательно предварительно сдан в систему [http://ejudge.bayesgroup.ru/cgi-bin/new-client?contest_id=4 ejudge]. Формат логина в ejudge должен быть следующий: hse_ + первая буква имени + фамилия. Пример: hse_elobacheva. Конфигурация сервера проверки кода в ejudge: python==3.5.3, numpy==1.14.5, scikit-learn==0.19.2, scipy==1.1.0.  
 
# Все практические задания и лабораторные сдаются на Python 3. Код практических заданий должен быть обязательно предварительно сдан в систему [http://ejudge.bayesgroup.ru/cgi-bin/new-client?contest_id=4 ejudge]. Формат логина в ejudge должен быть следующий: hse_ + первая буква имени + фамилия. Пример: hse_elobacheva. Конфигурация сервера проверки кода в ejudge: python==3.5.3, numpy==1.14.5, scikit-learn==0.19.2, scipy==1.1.0.  
Строка 41: Строка 56:
 
Окончательный дедлайн по всем заданиям — 20 декабря 23:00. Домашние задания, присланные позднее, к концу семестра, скорее всего, проверены не будут.
 
Окончательный дедлайн по всем заданиям — 20 декабря 23:00. Домашние задания, присланные позднее, к концу семестра, скорее всего, проверены не будут.
  
===Exam ===
+
===Экзамен ===
TBA
+
 
 +
Экзамен пройдет 24 декабря в 13:00. <br />
 +
Если вы НЕ планируете прийти на экзамен и вас устраивает оценка 0 за него, то нужно мне об этом написать, иначе вам будет выставлена неявка.<br />
 +
[https://docs.google.com/document/d/1Y68W5azLeoW8cLloY6t6kg65iKb-0KqKTtN9dU5wEYo/edit?usp=sharing Билеты к экзамену]
 +
 
 +
При подготовке ответа на экзамене разрешается пользоваться любыми материалами. При непосредственном ответе ничем пользоваться нельзя. Просьба обратить внимание на теоретический минимум по курсу — незнание ответов на вопросы теор. минимума автоматически влечёт неудовлетворительную оценку за экзамен. На экзамене дается час на подготовку ответа на билет, после чего вы отвечаете экзаменатору на вопросы из теоретического минимума, рассказываете билет, отвечаете на дополнительные вопросы по курсу и решаете задачи.
  
 
=== Расписание занятий ===
 
=== Расписание занятий ===
Строка 80: Строка 100:
 
[https://www.youtube.com/playlist?list=PLEqoHzpnmTfCiJpMPccTWXD9DB4ERQkyw Видеозаписи лекций]
 
[https://www.youtube.com/playlist?list=PLEqoHzpnmTfCiJpMPccTWXD9DB4ERQkyw Видеозаписи лекций]
  
====Reading List ====
+
====Рекомендуемая литература ====
 +
* Barber D. [http://www0.cs.ucl.ac.uk/staff/d.barber/brml/ Bayesian Reasoning and Machine Learning.] Cambridge University Press, 2012.
 
* Murphy K.P. Machine Learning: A Probabilistic Perspective. The MIT Press, 2012.
 
* Murphy K.P. Machine Learning: A Probabilistic Perspective. The MIT Press, 2012.
* Bishop C.M. Pattern Recognition and Machine Learning. Springer, 2006.
+
* Bishop C.M. [http://research.microsoft.com/en-us/um/people/cmbishop/prml/ Pattern Recognition and Machine Learning.] Springer, 2006.  
* Mackay D.J.C. Information Theory, Inference, and Learning Algorithms. Cambridge University Press, 2003.
+
* Mackay D.J.C. [http://www.inference.phy.cam.ac.uk/mackay/itila/book.html Information Theory, Inference, and Learning Algorithms.] Cambridge University Press, 2003.  
* Ian Goodfellow, Yoshua Bengio & Aaron Courville. Deep Learning. MIT Press, 2016.
+
* Tipping M. [http://www.jmlr.org/papers/volume1/tipping01a/tipping01a.pdf Sparse Bayesian Learning.] Journal of Machine Learning Research, 1, 2001, pp. 211-244.  
 
+
* Шумский С.А. [http://www.niisi.ru/iont/ni/Library/School-2002/Shumsky-2002.pdf Байесова регуляризация обучения.] В сб. Лекции по нейроинформатике, часть 2, 2002.
====Useful links  ====
+
  
 +
====Полезные ссылки  ====
 
[http://www.machinelearning.ru/wiki/index.php?title=Bmmo Сайт] одноименного курса, читаемого на ВМК МГУ. <br />
 
[http://www.machinelearning.ru/wiki/index.php?title=Bmmo Сайт] одноименного курса, читаемого на ВМК МГУ. <br />
 
[http://bayesgroup.ru Сайт] группы Байесовских методов.<br />
 
[http://bayesgroup.ru Сайт] группы Байесовских методов.<br />
 
Простые и удобные [http://cs.nyu.edu/~roweis/notes.html заметки] по матричным вычислениям и свойствам гауссовских распределений. <br />
 
Простые и удобные [http://cs.nyu.edu/~roweis/notes.html заметки] по матричным вычислениям и свойствам гауссовских распределений. <br />
 
[http://statistics.zone/ Памятка] по теории вероятностей.
 
[http://statistics.zone/ Памятка] по теории вероятностей.

Текущая версия на 16:47, 6 февраля 2019

Лектор: Дмитрий Петрович Ветров

Семинаристы: Екатерина Лобачева, Кирилл Неклюдов

Контакты: по всем вопросам, связанным с курсом, просьба писать на bayesml@gmail.com. В название письма обязательно добавлять [ФКН БММО18]. Письма без этого тега могут просто не дойти до преподавателей! Информация о чате и энитаске для сдачи заданий будет позднее.

У курса есть чат в телеграме. Все объявления по курсу будут вывешиваться именно в чате! Всем студентам будет отправлена ссылка на него на почту. Преподаватели в чате бывают, но не всегда. По всем важным вопросам стоит писать на почту.

Краткое описание

Bayes.jpeg

Курс посвящен т.н. байесовским методам решения различных задач машинного обучения (классификации, восстановления регрессии, уменьшения размерности, разделения смесей, тематического моделирования и др.), которые в настоящее время активно развиваются в мире. Большинство современных научных публикаций по машинному обучению используют вероятностное моделирование, опирающееся на байесовский подход к теории вероятностей. Последний позволяет эффективно учитывать различные предпочтения пользователя при построении решающих правил прогноза. Кроме того, он позволяет решать задачи выбора структурных параметров модели. В частности, здесь удается решать без комбинаторного перебора задачи селекции признаков, выбора числа кластеров в данных, размерности редуцированного пространства при уменьшении размерности, значений коэффициентов регуляризации и пр. В байесовском подходе вероятность интерпретируется как мера незнания, а не как объективная случайность. Простые правила оперирования с вероятностью, такие как формула полной вероятности и формула Байеса, позволяют проводить рассуждения в условиях неопределенности. В этом смысле байесовский подход к теории вероятностей можно рассматривать как обобщение классической булевой логики.

Основной задачей курса является привитие студентам навыков самостоятельного построения сложных вероятностных моделей обработки данных, используя стандартные модели в качестве своеобразных "кирпичиков". Особое внимание уделяется приближенным байесовским методам, позволяющим обсчитывать сложные вероятностные модели.

Новости

  • 20.09.18 - Выложена формулировка первого практического задания. Срок сдачи - 5 октября 23:00.
  • 27.09.18 - Выложена формулировка первого теоретического задания. Срок сдачи - 4 октября 23:00.
  • 13.10.18 - Выложена формулировка второго теоретического задания. Срок сдачи - 20 октября 23:00.
  • 13.10.18 - Выложена формулировка первой лабораторной работы. Срок сдачи - 27 октября 23:00.
  • 02.11.18 - Выложена формулировка второго практического задания. Срок сдачи - 17 ноября 23:00.
  • 08.11.18 - Выложена формулировка третьего теоретического задания. Срок сдачи - 15 ноября 23:00.

Отчётность по курсу и критерии оценки

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

  • 2 практических домашних задания
  • 3 теоретических домашних задания
  • 4 домашних лабораторных работы
  • устный экзамен

Результирующая оценка по дисциплине рассчитывается по формуле

O_итог = 0.7 * O_накопл + 0.3 * O_экз

Накопленная и итоговая оценки округляются арифметически. Накопленная оценка рассчитывается по формуле

O_накопл = 3/7 * O_практ + 4/49 * (3 * O_теор + 4 * О_лаб)

Эта формула выглядит страшно, но на деле она просто означает, что за практические работы можно заработать 3 балла в итоговую оценку, а за теоретические и лабораторные вместе - 4 балла. Оценка за каждый тип заданий рассчитывается как среднее по всем заданиям данного типа. Каждое задание и экзамен оцениваются по 10-балльной шкале (по заданиям допускается дробная оценка). За некоторые задания можно будет получить бонусные баллы, о чем будет объявляться при выдаче задания.

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

  1. В рамках курса предполагается выполнение двух практических заданий, трёх теоретических домашних заданий и четырёх лабораторных работ. Задания сдаются в системе anytask. Для получения инвайта по курсу просьба писать на почту курса.
  2. Все практические задания и лабораторные сдаются на Python 3. Код практических заданий должен быть обязательно предварительно сдан в систему ejudge. Формат логина в ejudge должен быть следующий: hse_ + первая буква имени + фамилия. Пример: hse_elobacheva. Конфигурация сервера проверки кода в ejudge: python==3.5.3, numpy==1.14.5, scikit-learn==0.19.2, scipy==1.1.0.
  3. Задания выполняются самостоятельно. Если задание обсуждалось сообща, или использовались какие-либо сторонние коды и материалы, то об этом должно быть написано в отчете. В противном случае „похожие“ решения считаются плагиатом и все задействованные студенты (в том числе те, у кого списали) будут сурово наказаны.
  4. Практические задания оцениваются из 10 баллов. За сдачу заданий позже срока начисляется штраф в размере 0.3 балла за каждый день просрочки, но суммарно не более 6 баллов.
  5. Теоретические задания и лабораторные работы также оцениваются из 10 баллов. За сдачу заданий позже срока начисляется штраф в размере 0.3 балла за каждый день просрочки. Решения не принимаются к проверке спустя неделю после срока.

Примерные даты выдачи домашних заданий (они могут быть изменены!):

  • Практическая работа -- 20 сентября, 1 ноября
  • Лабораторная работа -- 11 октября, 22 ноября, 29 ноября, 6 декабря
  • Теоретическое задание -- 27 сентября, 11 октября, 8 ноября

Окончательный дедлайн по всем заданиям — 20 декабря 23:00. Домашние задания, присланные позднее, к концу семестра, скорее всего, проверены не будут.

Экзамен

Экзамен пройдет 24 декабря в 13:00.
Если вы НЕ планируете прийти на экзамен и вас устраивает оценка 0 за него, то нужно мне об этом написать, иначе вам будет выставлена неявка.
Билеты к экзамену

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

Расписание занятий

Занятие Дата Название Материалы
1 6, 20 сентября Лекция и семинар: Байесовский подход к теории вероятностей, примеры байесовских рассуждений. лекция (презентация), лекция(конспект), лекция (саммари), семинар(задачи), семинар(конспект)
2 20, 27 сентября Лекция и семинар: Аналитический байесовский вывод, сопряжённые распределения, экспоненциальный класс распределений, примеры. лекция(конспект), семинар(задачи) семинар(конспект)
3 27 сентября, 4 октября Лекция и семинар: Задача выбора модели по Байесу, принцип наибольшей обоснованности, примеры выбора вероятностной модели. лекция(презентация), лекция(конспект), семинар(задачи), семинар(конспект)
4 4, 11 октября Лекция и семинар: Метод релевантных векторов для задачи регрессии, автоматическое определение значимости. Матричные вычисления.

лекция(презентация), лекция(конспект), семинар(задачи 1 с разбором), семинар(задачи 2 с разбором)

5 11, 18 октября Лекция и семинар: Метод релевантных векторов для задачи классификации, приближение Лапласа. лекция(саммари), лекция(конспект), семинар(задачи), семинар(конспект)
6 18 октября, 1 ноября Лекция и семинар: Обучение при скрытых переменных, ЕМ-алгоритм в общем виде, байесовская модель метода главных компонент. лекция, лекция(конспект), семинар(задачи), семинар(конспект)
7 1, 8 ноября Лекция и семинар: Вариационный подход для приближённого байесовского вывода. лекция, лекция (саммари), лекция(конспект),(задачи), семинар(конспект)
8 8, 15 ноября Лекция и семинар: Методы Монте-Карло с марковскими цепями (MCMC). лекция, семинар(задачи)
9 15, 22 ноября Лекция и семинар: Гибридный метод Монте-Карло с марковскими цепями и его масштабируемые обобщения. Hamiltonian dynamics, Langevin Dynamics, семинар(задачи)
10 22, 29 ноября Лекция и семинар: Гауссовские процессы для регрессии и классификации. материалы лекции изложены в разделе 6.4 Бишопа, семинар(задачи), семинар(конспект)
11 29 ноября, 6 декабря Лекция и семинар: Модель LDA для тематического моделирования. лекция, семинар(конспект), Статья по HDP
12 13 декабря Лекция: Стохастический вариационный вывод. Вариационный автокодировщик. статья 1, статья 2

Замечание: рукописные конспекты лекций и семинаров это в первую очередь заметки лектора и семинаристов, а не материалы по курсу. В них могут содержать неточности!

Видеозаписи лекций

Рекомендуемая литература

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

Сайт одноименного курса, читаемого на ВМК МГУ.
Сайт группы Байесовских методов.
Простые и удобные заметки по матричным вычислениям и свойствам гауссовских распределений.
Памятка по теории вероятностей.