Численные методы обучения по прецедентам (практика, В.В. Стрижов)

Материал из MachineLearning.

Перейти к: навигация, поиск


Содержание


Введение

Моя первая научная статья — практические занятия, посвященные изучению методов научной работы и выполнения исследовательских проектов в области машинного обучения и анализа данных. Задачей студентов является исследование свойств моделей и алгоритмов прогнозирования. Целью работы является написание научной статьи с элементами новизны с последующей подачей в рецензируемый научный журнал. Студенты изучают методы планирования исследований, технику написания научных статей и проведения вычислительных экспериментов.

Работа включает следующие этапы: сбор и анализ литературы, математическая постановка задачи, описание метода решения задачи и исследование его свойств, проведение вычислительного эксперимента. Каждому студенту предлагается персональная тема, по которой он анализирует публикации отечественных и зарубежных исследователей за последние годы, ставит задачу и делает доклад для группы о полученных результатах. Далее выполняется математическое описание метода, делается промежуточный доклад о состоянии работ. Последним шагом работы становится вычислительный эксперимент, иллюстрирующий свойства метода и использующий синтетические или реальные данные. Каждая статья рецензируется, работы синхронизируются на сайте SourceForge.org, проект «MLAlgorithms» или на сайте [GitHub.org GitHub], организация Intelligent-Systems-Phystech.

Цели: aбстрактная — научиться точно, ясно, красиво излагать свои и чужие идеи; конкретная — написать научную статью, которая была бы принята другими исследователями, работающими в нашей области; сделать доклад. Результат: научная статья, поданная в рецензируемый журнал из списка ВАК.

Элементы цикла и полезные страницы

Prerequisites

Course-related materials in English

Курсы

Ссылка на страницу курса Описание
Группа 674, весна 2021 Фундаментальные теоремы машинного обучения (практика, М.С. Потанин, В.В. Стрижов)
Группа 674, 774, весна 2021 Математические методы прогнозирования (лекции, В.В. Стрижов)
Группы 874, 821, 813, весна 2021 Моя первая научная статья, участвуют студенты, консультанты, эксперты
Группа 774, осень 2020 Математические методы прогнозирования (лекции, В.В. Стрижов)
Группа 774, осень 2020 Байесовский выбор моделей, лекции и практика (А.А. Адуенко, В.В. Стрижов)
Группa 674, осень 2020 Порождающие модели (Р.В. Исаченко, В.В. Стрижов)
Группы 574, осень 2020 Выбор моделей в машинном обучении (О.Ю. Бахтеев, В.В. Стрижов)
Группы 774, 794, весна 2020 Моя первая научная статья, участвуют студенты, консультанты, эксперты
ФУПМ, весна 2020 Машинное обучение, семинары
Группа 674, весна 2020 Математические методы прогнозирования (фундаментальные теоремы машинного обучения)
ФУПМ, осень 2019 Машинное обучение, семинары
Группа 574, осень 2019 Выбор моделей в машинном обучении (О.Ю. Бахтеев, Р.В. Исаченко, А.В. Грабовой)
Группа 674, осень 2019 Байесовский выбор моделей, лекции и практика (А.А. Адуенко, В.В. Стрижов)
Группа 674, весна 2019 Моя первая научная публикация, участвуют студенты, консультанты, эксперты
Группа 694, весна 2019 Моя первая научная публикация, участвуют студенты, консультанты, эксперты
Группа 574, весна 2019 Математические методы прогнозирования, разбор фундаментальных понятий в современных задачах машинного обучения
ФУПМ, ФРТК, осень 2018 Моя первая научная публикация, участвуют студенты, консультанты, эксперты
Группа 574, осень 2018 Математические методы прогнозирования, эссе с постановками задач
Группа 474, осень 2018 Байесовский выбор моделей машинного обучения, Александр Александрович Адуенко
Группа 574, весна 2018 Моя первая публикация в журнале ВАК, участвуют эксперты, индивидуальные консультанты, студенты
Группа 594, весна 2018 Моя первая публикация в журнале ВАК, участвуют эксперты, индивидуальные консультанты, студенты
Группа 474, весна 2018 Постановка задач машинного обучения, эссе
Группа 474, осень 2017 Построение эксплуатируемых моделей
Группа 274, осень 2017 Лекции на актуальные темы машинного обучения
Группа 474, весна 2017 Моя первая публикация в журнале ВАК, участвуют эксперты, индивидуальные консультанты, студенты
Группа 374, весна 2017 Постановка задач машинного обучения, эссе
Группа 374, осень 2016 Построение эксплуатируемых моделей
Группа 274, осень 2016 Структурное обучение: порождение и выбор моделей
Группа 174, осень 2016 Лекции на актуальные темы машинного обучения
Группа 374, весна 2016 Моя первая публикация в журнале ВАК, участвуют эксперты, индивидуальные консультанты, студенты
Группа YАД, весна 2016 Моя первая публикация в журнале ВАК, участвуют эксперты, индивидуальные консультанты, студенты
Группа 274, весна 2016 Построение моделей в машинном обучении
Группа 274, осень 2015 Построение эксплуатируемых моделей
Группа 074, осень 2015 Лекции на актуальные темы машинного обучения
Группа 274, весна 2015 Моя первая публикация в журнале ВАК, участвуют эксперты, индивидуальные консультанты, студенты
Группа YАД, весна 2015 Моя первая публикация в журнале ВАК, участвуют эксперты, индивидуальные консультанты, студенты
Группа 174, весна 2015 Планирование научных исследований
Группа 174, осень 2014 Построение эксплуатируемых моделей, задачи из индустриальных и академических источников
Группа 974, осень 2014 Лекции на актуальные темы машинного обучения, эссе, практика на языке Mathematica
Группа 174, весна 2014 Моя первая публикация в журнале ВАК. Участвуют эксперты, индивидуальные консультанты, студенты
Группа 074, весна 2014 Эссе: краткие постановки задач и анализ
Группа 974, весна 2014 Курс "Программная инженерия", лектор Л.Е. Карпов
Группа 274, весна 2014 Подготовка к собеседованию студентов, поступающих на Кафедру интеллектуальных систем
Группа 074, осень 2013 Построение эксплуатируемых моделей и проведение вычислительного эксперимента
Группа 874, осень 2013 Лекции на актуальные темы машинного обучения, эссе, практика
Группа 074, весна 2013 Моя первая публикация с кросс-рецензированием
Группа 974, весна 2013 Технический отчет с учетом формальных требований к дипломной работе
Группа 974, осень 2012 Тематическое моделирование: публикация в журнале ВАК
Группа 774, осень 2012 Лекции на актуальные темы машинного обучения, эссе, практика
Группа 974, весна 2012 Моя первая публикация с кросс-рецензированием
Группа 874, весна 2012 Публикация в журнал JMLDA с кросс-рецензированием и четырьмя докладами
Группа 674, осень 2011 Трехкомпонентные расширенные эссе. Впоследствии работы были опубликованы
Группа 874, осень 2011 Публикация в журнале JMLDA
Группа 874, весна 2011 Моя первая публикация в журнале JMLDA
Группа 774, весна 2011 Руководство исследовательскими проектами: каждый участник одновременно является руководителем и исполнителем
Группа 574, осень 2010 Пишем статью с кодом на machinelearning.ru
Группа 774, осень 2010 Решение прикладных задач с отчетом в виде статьи на machinelearning.ru
Группа 774, весна 2010 Примеры использования классических методов машинного обучения в виде статьи на machinelearning.ru
Группа 674, весна 2010 Сравнение и анализ ПО для анализа данных в виде презентации
Группа 674, осень 2009 Решение прикладных задач с отчетом в виде статьи на machinelearning.ru
Группа 674, весна 2009 Примеры использования классических методов машинного обучения в виде статьи на machinelearning.ru
Группа 474, осень 2009 Библиотеки алгоритмов анализа данных на сайте SF.net
Группа 374, осень 2008 Четыре практических задания
Группа 274, осень 2007 Пять практических заданий
Группа 175, осень 2006 Упражнения в продолжение лекций


План работы

  1. Найти и описать данные. Составить список литературы, собрать публикации в bib-файл. Сделать заголовок статьи: название, аннотация.
  2. Написать введение: обзор методов решения задачи, описание предлагаемого подхода в целом. Сделать обзор литературы.
  3. Поставить задачу, описать новизну подхода, сделать черновик решения задачи.
  4. Визуализировать данные, описать полученные рисунки.
  5. Поставить вычислительный эксперимент, получить первые базовые результаты.
  6. Описать предлагаемый подход в деталях.
  7. Завершить вычислительный эксперимент.
  8. Описать результаты вычислительного эксперимента.
  9. Критически сравнить результаты, проанализировать метод.
  10. Скорректировать статью, последовательность изложения с учетом замечаний рецензента.
  11. Скорректировать теоретическую части статьи.
  12. Скорректировать согласованность статьи. Результатом должна являться рукопись, доступная для понимания.
  13. Подготовить материалы вычислительного эксперимента к публикации. Отделить код от автора.
  14. Выбрать журнал, подать статью в журнал.
  15. Сделать доклад для группы и на научной конференции.

Слайды

Роли

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

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

Эксперт: поставщик задачи, владелец данных, либо тот, кто гарантирует новизну и актуальность работы.

Содержание отчета о курсе

Отчет состоит из следующих материалов:

  1. научная статья,
  2. исходный код алгоритма,
  3. рецензия на работу,
  4. доклад, видео и слайды презентации.

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

  1. Работы сдаются в течение недели.
  2. Желательна итеративная сдача работ, начинать показ лучше в выходные.
  3. Дедлайн последней версии работы: среда 6:00am.
  • Каждый этап работ + 1 балл по системе (А--, А-, А, А+, А++),
  • Недельное опоздание дает - =1/4 балла.
  • Несделанная работа - 0.
  • Мотивированный перенос работы отменен.

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

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

Домашнее задание 1: инструменты

  1. Верстка. Поставить систему верстки TeX: MikTeX для Windows, TeX Live для Linux и Mac OS или зарегистрироваться на V2 OverLeaf ShareLaTeX.
  2. Поставить текстовый редактор, например TeXnic Center или его вариант WinEdt для Windows, TeXworks для Linux.
  3. Загрузить шаблон статьи, ZIP и скомпилировать.
  4. Прочитать про BibTeX.
  5. Поставить библиографическую систему JabRef (для тех, кто пишет научную статью).
  6. Обмен информацией. Зарегистрироваться в репозитории открытого кода GitHub.
    • Важно: адрес и логин должен иметь вид Name.Surname или Name-Surname (зависит от соглашений системы).
    • Вводные слайды по Version Control System.
    • Основная информация о GitHub.
    • Первые шаги в GitHub.
  7. Скачать программу-оболочку для синхронизации кода: Desktop.GitHub, посмотреть как использовать командную строку для синхронизации.
  8. Зарегистрироваться на сайте MachineLearning.ru. Для этого послать логин координатору (по умолчанию это староста группы) или по адресу mlalgorithms@gmail.com.
  9. Для тех, кто пишет постановку задачи (эссе) внутри ноутбука пример на MathJax.
    • Создать личную страницу пример.
  10. Поставить Hangouts, Skype, прочитать соглашение.
  11. Программирование. Поставить Python Anakonda, PyCharm (вариант Visual Studio), ноутбук онлайн Google.Colab.
    • Разработка в области ML: Pytorch
    • Стилевое оформление: Codestyle pep8
  12. Дополнительно. В качестве альтернативных языков программирования поставить Matlab (вариант Octave), R-project, Wofram Mathematica.
  13. Дополнительно. Начать читать книгу Кутателадзе С. С. Советы эпизодическому переводчику и книгу Сосинский А. Б. Как написать математическую статью по-английски, библ. МФТИ.

Материалы по домашнему заданию

Литература для догоняющих

Анкеты

Домашнее задание 2: пробное программирование

Задачи нужны, чтобы почувствовать как строится базовый эксперимент.

  1. Выбрать одну из задач
  2. Создать папку Surmame2015ProblemN (Ваша фамилия, год, "Problem", N — номер задачи) в репозитории https://github.com/Intelligent-Systems-Phystech/StartCode.
  3. Сохранить туда документированный код и графики c пояснениями.
    • К документации кода приложить короткую аннотацию c целью эксперимента, принцип решения и полученный (на графике) результат.
    • Важно! Пожалуйста, не сохраняйте туда файлы с данными. Они есть в открытом доступе.
  4. Графики оформлять в соответствии с рекомендациями.
  5. Предлагается руководствоваться стилевыми рекомендациями (в частности, назвать первый файл main или demoTitle).
  6. Подготовить доклад, используя аннотацию и единственный график. Его продолжительность не более 45 секунд (в такое небольшое время уложиться непросто, доклад рекомендуется отрепетировать, лучшие графики приглашаются к докладу на семинаре).
  • Совет по выполнению: найдите решение задачи в лекциях, сформулируйте постановку и решение в формулах (в терминах задачи оптимизации) на бумаге, введенные обозначения и решение перепишите в виде кода.


Для справки: примеры ранее выполненных работ.

  • В Problem1 отчет генерируется автоматически в формате html. Не хватает описания рисунков.
  • В Problem7: код документирован, результаты визуализированы, папка содержит файл Report с описанием процедуры решения задачи. Не хватает: краткого отчета о полученных результатах, описания рисунков (что изображено? что это значит?). Комментарии к коду желательно писать на английском. Оформление рисунков: сравнить fig1 и fig2.
  • В Problem15: код документирован, результаты визуализированы, рисунки оформлены в соответствии с требованиям JMLDA/Fig, папка содержит файл Report с описанием процедуры решения задачи. Не хватает: краткого отчета о полученных результатах, описания рисунков.

Дополнение для группы 694

  • На синтетической выборке или выборке из пробных задач построить график зависимости ошибки от числа добавленных признаков. Сделать на обучении и контроле с указанием дисперсии. Дисперсию считать по ошибкам на дополнительных разбиениях выборки. Указать принцип добавления признаков (например, согласно наибольшему убыванию ошибки). Подсказка: то, что было на доске.

Материалы по домашнему заданию

Советы по пользованию репозиторием

  1. Update first, Commit after (Pull first, Push after)
  2. Your own work only, no external publications
  3. No big files (put link to external datasets)
  4. No temporary nor dummy files

Прочитать, чем отличается branch от fork

Домашнее задание (те же ссылки, что и выше)

Домашнее задание A: выбор задачи, аннотация

  1. Выбрать задачу и записать свои предпочтения в анкету.
  2. Задачу надо выбрать в течение пары
  3. Распределение по проектам состоялось. Записывайтесь в таблицу Проекты: результаты.
  4. Обсудить с консультантом проект, понять цели, задачи, проблемы.
  5. Найти в организации https://github.com/Intelligent-Systems-Phystech репозиторий своего проекта или создать его с названием формата 2018-Project-N, пример.
    • Записать ссылку на репозиторий в таблицу.
    • Создать в репозитории общие папки code, data, report.
  6. Создать личную папку в репозитории проекта, название в формате Surname2018Title.
  7. Поместить файл (из ДЗ 1) с шаблоном статьи в личную папку, название в формате Surname2018Title.tex.
    • Записать ссылку на файл PDF с текстом статьи из личной папки в таблицу в формате [http Имя Фамилия].
    • Совет: копируйте ссылку как адрес кнопки Download файла PDF, который находится в репозитории.
  8. Создать документ-черновик обзора литературы формата LinkReview, поставить на него ссылку в таблицу.
  9. Рекомендуется кроме литературы заносить в LinkReview ссылки на источники данных, на код и библиотеки.
  10. Совет: создать групповой чат, поставить на него ссылку-приглашение в таблицу.
  11. Написать черновик аннотации.
  • Аннотация не более 600 символов. Строится по примерному плану:
    • чему посвящена работа в целом,
    • на чем сконцентрировано исследование,
    • в чем особенности исследования,
    • [что новое предлагается],
    • какими примерами проиллюстрирована?


Важно: код и результаты проекта общие, над изложением каждый работает сам лично в тексте рукописи. Завершенные тексты объединяются в общую рукопись для публикации.


Материалы по домашнему заданию


Лекция 1 Линейные, авторегрессионные модели

  • Пример: прогнозирование объемов потребления электроэнергии часть 1 и часть 2.

Домашнее задание B-talk: рассказ на 45 секунд о проекте

Короткий доклад о проекте и два вопроса от аудитории

План доклада:

  1. Цель проекта (чему посвящен проект, какова мотивация исследования)
  2. Центральная идея (в чем изюминка исследования)
  3. Ожидаемый результат (в чем вклад в область, вариант - в чем новизна)

В течение доклада не будет возможности показать слайд или нарисовать что-либо на доске. Рекомендуется отрепетировать доклад на время.

Домашнее задание L: сбор и чтение литературы

  1. Собрать литературу по проекту:
    1. Современные обзоры проблемы, включая tutorials
    2. Фундаментальные методы решения проблемы
    3. Базовый алгоритм решения задачи
    4. Альтернативные алгоритмы
    5. [Изменения в направлениях исследований]
    6. Выборки по задаче
    7. Статьи, ссылающиеся на выборки
    8. Выборки, похожие по структуре
    9. Применение результатов решения задачи
    10. Исследователи, решавшие задачу
    11. Их аспиранты, команды
    12. Те, кто ссылается на исследователей
    13. Те, на кого ссылаются исследователи
  2. Учесть рекомендации по времени появления публикации (сбалансировать ссылки на новые и классические работы)
  3. Подготовить, пополнять, изменять список ключевых слов
  4. Заполнить файл LinkReview
  5. Спланировать раздел Введение (оно пишется в следующем ДЗ)
    • Ключевые слова (основные термины; можно использовать те, которые дали хорошие результаты поиска)
    • Введение (около страницы); ниже — по абзацам, примерный план
    • Основное сообщение — чему посвящена работа (одна-две фразы)
    • Обзор литературы — развитие предлагаемой идеи (не более двух абзацев)
    • Современное состояние области (два-четыре абзаца)
    • Что предлагается (два абзаца)

Материалы по домашнему заданию

Домашнее задание I: общая постановка задачи, раздел Введение

  1. Cоздать файл с библиографией: ProjectN.bib для проекта или Surname2018Title.bib личный.
  2. Перенести из Файла LinkReview библиографические записи, оформив их в формате BibTeX.
    • Проверить правильность заполнения базы BibTeX (порядок написания имен авторов, тома журналов, номера страниц).
    • Совет: пользуйтесь библиографическими базами для быстрого заполнения.
    • Совет: используйте стилевой файл по умолчанию \bibliographystyle{plain} перед библиографией \bibliography{ProjectN}.
    • Важно: Википедия не является первичным источником информации (но в ней можно найти полезные ссылки).
    • Важно ArXiv не является рецензируемым авторитетным источником информации. Ищите копии работ, опубликованных в рецензируемых журналах. Если в течение года-двух после публикации в ArXiv работа не появилась в рецензируемом журнале, это может свидетельствовать о ее небрежности: работу отвергли.
  3. Написать раздел Введение. Ожидаемый размер полстраницы-страница. Примерный план:
    1. Цель исследования (мотивация исследования)
    2. Предмет исследования (вокруг чего строится исследование)
    3. Исследуемая проблема (в чем заключается сложность, что требуется сделать)
    4. Методы исследования: обзор работ, посвященных проблеме, современному состоянию исследований
    5. Решаемая в данной работе задача
    6. Предлагаемое решение
    7. Работа или работы описывающие наиболее близкие решения
    8. Анализ сильных и слабых сторон предлагаемого решения
    9. Цель эксперимента, на каких данных будет выполнен эксперимент
  4. Для себя, на черновике: составьте функциональную схему IDEF0 вашего проекта, как вы его сейчас видите.


Цель этой недели — охватить взглядом проект в целом и кратко написать об этом.


Материалы по домашнему заданию

Домашнее задание P : постановка задачи

Ставим задачу формально для того, чтобы предложить оптимальный алгоритм ее решения.

  1. Согласовать с консультантом постановку задачи. Посмотреть примеры постановок в материалах по ДЗ и в предыдущих статьях студентов этого курса.
  2. Обсудить терминологию и систему обозначений (pdf и tex-файлы со списком возможных обозначений в архиве).
  3. В разделе Постановка задачи кратко написать, в чем состоит задача в целом.
  4. Описать элементы постановки задачи:
    1. описание выборки (и, возможно, допустимые операции над элементами выборки),
    2. статистические предположения о природе выборки (гипотезу порождения данных),
    3. предположения о характере выборки (природе ее измерений),
    4. ограничения по составу выборки и значениям ее элементов,
    5. модель, ее принадлежность к классу моделей,
    6. ограничения на множество допустимых моделей,
    7. описание (и, возможно, обоснование) функции ошибки, функции потерь или иной функции качества, согласно которой будет оцениваться качество решения задачи,
    8. способы разбиения выборки,
    9. ограничения, накладываемые на решения задачи,
    10. возможно, дополнительные функции качества,
    11. оптимизационную постановку задачи в формате \arg\min,
    12. в постановке или при планировании эксперимента указать
      1. вид эксплуатируемой модели,
      2. эксплуатационную функцию ошибки.
  5. При необходимости вставить перед использованием терминов их определения: что в данной работе является моделью, ее точностью, устойчивостью, адекватностью, информативностью ее элементов, алгоритмом решения задачи.

Note that:

  • The model is a parametric family of functions to map design space to target space.
  • The criterion (error function) is a function to optimize in order to obtain an optimal solution (model parameters, a function).
  • The algorithm transforms solution space, usually iteratively.
  • The method combines a model, a criterion, and an algorithm to produce a solution.

Check it:

  • the regression model,
  • the sum of squared errors,
  • the Newton-Raphson algorithm,
  • the method of least squares.


Цель этой недели — понять, какого вида задачу мы решаем.


Материалы по домашнему заданию

  • Три слайда с планом постановки
  • Примеры постановок задач
    1. Katrutsa A.M., Strijov V.V. Stresstest procedure for feature selection algorithms // Chemometrics and Intelligent Laboratory Systems, 2015, 142 : 172-183 article
    2. Katrutsa A.M., Strijov V.V. Comprehensive study of feature selection methods to solve multicollinearity problem according to evaluation criteria // Expert Systems with Applications, 2017 article
    3. Motrenko A., Strijov V., Weber G.-W. Bayesian sample size estimation for logistic regression // Journal of Computational and Applied Mathematics, 2014, 255 : 743-752. article
    4. Kulunchakov A.S., Strijov V.V. Generation of simple structured Information Retrieval functions by genetic algorithm without stagnation // Expert Systems with Applications, 2017, 85 : 221-230. article
    5. Ivkin N.P. Feature generation for classification and forecasting problems, MIPT, 2013 draft
  • Рекомендуемые обозначения для вики
  • Рекомендуемые обозначения, pdf
  • Рекомендуемые обозначения, 2019: pdf, исходники (.tex + .sty)
  • Пример простого и удобного стилевого файла с обозначениями
  • Байесовский выбор моделей, обозначения

Todo Update: Put project straight

  1. Check the proper folder structure (example make sure that your paper is not in the Code folder):
    • docs,
    • code,
    • data,
    • [figs].
  2. Put the direct link to the paper [bit.ly/m1p_2020 in the table], so that everyone could access it.
  3. Rename article.tex to Surname2020Title.tex
  4. Check the both .tex and .pdf files are downloaded.
  5. Update your personal page on [bit.ly/m1p_2020 Machinelearning.ru].

Домашнее задание X: планирование эксперимента

Распланировать базовый вычислительный эксперимент, построить синтетическую выборку, сделать описание эксперимента.

  1. Обсудить с руководителем и командой основную цель эксперимента.
    • Записать цель эксперимента в раздел "Вычислительный эксперимент"
  2. Описать базовую (синтетическую или несложную реальную) выборку:
    • указать название, источник, природу измерений, используемых в проекте (техническую часть, теоретическая в постановке задачи),
    • указать число объектов, признаков, другие характеристики,
    • для синтетической выборки указать порождающую модель, ее параметры, способ и условия порождения (например, случайное равномерное семплирование).
  3. Написать, в какой конфигурации запускается алгоритм.
  4. Cоставить план эксперимента.
  5. Спланировать таблицы и графики:
    • составить их список (минимальный и полный варианты),
    • записать название, что отложено по осям,
    • в черновике карандашом нарисовать предполагаемый вид графиков.
  • Совет: старайтесь загружать выборку из внешнего репозитория, чтобы эксперимент можно было удобно повторить. Если такого нет, то загрузить данные (включая одну из синтетических выборок) в свой. Согласуйте с руководителем и командой случай когда объем файла велик (например, превосходит 5 МБ), или если файлов много.


Цель этой недели — в самый краткий срок получить, самое простое решение (модель и ее параметры), поставленной задачи.


Краткий вычислительный эксперимент состоит следующих шагов:

  1. Порождение модельных данных или загрузка реальных данных
    • Желательно избежать этап предобработки данных
  2. Визуализация данных, если требуется
  3. Выполнение алгоритма, получение результатов
  4. Визуализация результатов
  5. Исследование свойств алгоритма


Материалы по домашнему заданию

Домашнее задание B: описание базового алгоритма

Требуется указать базовый алгоритм и запустить его на простой синтетической выборке.

  1. Запустить базовый алгоритм.
    • Для этого вместе с консультантом найти наиболее простой алгоритм, решающий поставленную задачу (возможно, в частичной постановке).
  2. Подготовить синтетические данные, объявленные в проекте (или взять несложные реальные, небольшую выборку).
  3. Загрузить их в репозиторий (в случае, если объем файла превосходит 5 МБ, или если файлов много, согласовывать это с консультантами).
    • Совет: старайтесь загружать выборку из внешнего репозитория, чтобы эксперимент можно было удобно повторить.
  4. Запустить алгоритм на синтетических данных, вычислить ошибку.
  5. Кратко описать базовый алгоритм, проанализировать его свойства, перечислить модели-претенденты. Варианты описания:
    1. Описание - указание на название черного ящика. Желательно указывать на источник, где содержимое черного ящика описывается подробно. Указывать структурные параметры черного ящика.
    2. Описание модели как отображения из пространства описания объектов в пространство целевых переменных. При этом можно указать на алгоритм оптимизации параметров модели в виде черного ящика.
    3. Описание модели и алгоритма оптимизации его параметров в виде псевдокода.

Материалы по домашнему заданию

  • Бахтеев О.Ю. Системы и средства глубокого обучения, статья
  • Мотренко А.П. Повышение качества классификации, статья
  • Исаченко Р.В. Снижение размерности в задаче декодирования, статья
  • Построение выборки в задачах прогнозирования, слайды
  • Постановка задачи прогнозирования дефолтов по картам на год вперед, слайды
  • Постановка задачи анализа биржевых европейских опционов, слайды
  • Стандарт IDEF при планировании проектов

Домашнее задание С: код

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

  1. Выделить единственный файл, который запускает основной эксперимент.
  2. Декомпозировать код, написать необходимые функции.
  3. Выделить параметры эксперимента в отдельный блок.
    • Это легче сделать, когда есть текстовое описание параметров и хода эксперимента.
  4. Утвердить процедуру составления списка точек возврата к данному эксперименту.
    • Достаточно перед при изменением параметров делать Commit.
  5. Организовать вывод графиков в отдельную папку.
    • И даже добавить в код строки вывода результатов в .tex для дальнейшей компиляции.
  • Если алгоритм работает долго, снижайте объем выборки.
    • Не следует работать с большими или сложным и данными. Работайте над иллюстрацией основного сообщения.

Домашнее задание V: визуализация

Утвердить список графиков, которые войдут в статью и в презентацию.

  1. Придумать графики, визуализирующие исходные данные.
    • Цель: поставить на графики обозначения.
  2. Составить набор графиков, анализирующих ошибку.
  3. Утвердить график, иллюстрирующий основное сообщение работы.

Материалы

Цель данной недели: начать собирать результаты для презентации



Планирование проекта с помощью IDEF0

Домашнее задание R: отчет о запуске базового алгоритма

  1. Убедиться, что полученные результаты не противоречат поставленным в начале вычислительного эксперимента целям.
  2. Показать на элементарном графике, что получен адекватный результат. См. оформление графиков.
  3. Написать мини-отчет о полученных результатах. Он включает:
    1. краткое описание графика — что на графике видит читатель и какие выводы следуют,
    2. полученные результаты (значения, если уместно) и комментарий.
    3. отчет поместить в текст статьи.

Домашнее задание-M-Talk: пробный доклад со слайдами

  1. Подготовить устный доклад на две минуты. Доклад отрепетировать по секундомеру. План доклада:
  • Посмотреть шаблоны презентации на русском (pdf, tex) и английском (pdf, tex) в папке Group074/Kuznetsov2013SSAForecasting/doc/.
  • Сделать презентацию по плану:
    1. Титульный лист, 1 слайд.
    2. Цели исследования, решаемая задача, используемые методы, 1 слайд.
    3. Иллюстрация проблемы, 1-2 слайда (необязательно).
    4. Литература, 1 слайд.
    5. Постановка задачи, 1-2 слайда.
    6. Теоретическая часть, 1-10 слайдов (не ожидается).
    7. Цели эксперимента, 1 слайд.
    8. Эксперимент, 1-5 слайдов.
    9. Результаты эксперимента, 1-3 слайда.
    10. Заключение: результаты, выносимые на защиту (обязательно).
  • Подготовить короткий доклад по слайдам (2-3 мин.)

Примеры докладов:


Домашнее задание-T: теоретическая часть

  1. Написать решение поставленной задачи
    1. в простом варианте,
    2. в деталях, насколько это возможно.
  2. Сравнить написанное решение с кодом, откорректировать код и решение.

Домашнее задание-E: анализ ошибки

Запустить базовый эксперимент, проанализировать его результаты.

Анализ ошибки в вычислительных экспериментах — это анализ изменения значений функции ошибки при изменении состава выборки (или при других изменениях условий эксплуатации модели).

Начальные требования для анализа.

  1. Задана стратегия разбиения скользящего контроля.
  2. Поставлена задача оптимизации параметров.
  3. Задан набор внешних (эксплуатационных) критериев качества модели.
  4. Для набора разбиений получен
    • набор значений векторов оптимальных параметров,
    • набор значений функции ошибки на обучении и на контроле.
  5. Получен набор значений внешних критериев на обучении и контроле.

Анализ ошибки содержит следующие базовые статистические тесты.

  1. Анализ состава выборки:
    1. анализ простоты выборки по отдельным признакам (гистограммы признаков),
    2. анализ мультикоррелированности признаков, в частности анализ корреляционных или ковариационных матриц (вычисление R2, VIF, визуализация результатов метода Белсли, в частности, при изменении состава признаков, факторного анализа),
    3. тест наличия выбросов в выборке (визуализация изменения функции ошибки при исключении выбросов),
    4. тест наличия мультимоделей (снижение ошибки при, например, использовании стратегии бустинга)
    5. оценка необходимой мощности выборки (по оси абсцисс — число объектов, по оси ординат — ошибка на обучении и ее стандартное отклонение),
    6. оценка необходимого числа признаков (по оси абсцисс — последовательно добавляемые признаки; признаки добавляются, например, по убыванию скорости изменения ошибки — т. н. ускорение и торможение ошибки)).
  2. Анализ дисперсии параметров и функции ошибки
    1. анализ стандартного отклонения функции ошибки (внутреннего критерия) и внешних критериев (в частности, визуализация ROC — обучение и контроль на каждом из разбиений),
    2. анализ изменения функции ошибки на итерациях оптимизации (ось абсцисс — итерации, ось ординат функция ошибки на обучении, контроле и ее стандартное отклонение),
    3. анализ изменения параметров и гиперпараметров модели (по оси абсцисс — итерации, по оси ординат — набор параметров, лапша и их стандартные отклонения или гиперпараметры),
    4. анализ изменения параметров и функций ошибки при из изменении структурных параметров или регуляризаторов (они по оси абсцисс, по оси ординат — не забываем о стандартном отклонении, получаемом скользящим контролем).
  3. Сложность алгоритма оптимизации функции ошибки в зависимости от объема выборки
    1. теоретическая,
    2. эмпирическая,
    3. аппроксимация эмпирической функции теоретической (по оси абсцисс — объем выборки, число признаков, число кластеров).
  4. Анализ свойств модели с помощью внешних критериев, учет возможных ограничений на параметры и структуру модели
    1. построение парето-оптимального фронта множества моделей, из которых производится выбор.

Материалы по домашнему заданию

Анализ ошибки и байесовский выбор моделей (28.03.2019)

Домашнее задание 3: пробный анализ ошибки

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

  1. Для задачи из Домашнего задания 2 (или для любой новой задачи, или вот этой задачи) сделать анализ ошибки и нарисовать один график на выбор.
    • Зависимость значения ошибки и его стандартного отклонения от сложности (числа признаков) на обучении и контроле.
    • Зависимость значения ошибки и его стандартного отклонения от объема выборки на обучении и контроле.
    • Комбинация первых двух вариантов.
    • Зависимость значения ошибки и его стандартного отклонения от номера шага в итерационной процедуре.
  2. Загрузить или сделать апдейт кода и картинки в репозиторий.
  3. Дополнительно: ретвит @AutomationOf c хештегом #StartCode с графиком и его описанием дает букву.
  4. Дополнительно: составить список конференций и грантов на год вперед.

Материалы по домашнему заданию

Домашнее задание 4: кривая обучения

Запускаем нейросети на общеупотребляемых выборках. Строим график зависимости ошибки от номера итерации алгоритма оптимизации параметров модели.

  1. На ваш выбор взять выборку и тип нейронной сети. Согласовать объем выборки и сложность нейронной сети.
  2. В процедуру оптимизации нейронной сети вставить код, получающий ошибку на тестовой и контрольной выборках или воспользоваться встроенными процедурами.
  3. Для разных объемов выборки построить графики кривой обучения, показывающие различные скорости обучения.
  4. Наложить на выборку шум. Например, перемешать независимые переменные или добавить случайный шум в зависимые, на ваш выбор. Построить несколько графиков кривой обучения в условиях наложенного шума с разной дисперсией.
  5. Если графики строятся на задачах из предыдущих домашних заданий, результаты ДЗ 4 помещаются в ту же папку. Если на новой задаче, создать новую папку в том же репозитории StartCode.

Материалы по домашнему заданию

Домашнее задание-H: анализ структуры модели

Анализ пространства параметров, гиперпараметров, структуры модели

  1. Поставить вычислительный эксперимент на реальной выборке, проанализировать структуру модели.
  2. Обсудить, что является структурным параметром, согласно которому модель выбирается из множества моделей, примеры:
    • число признаков обобщенно-линейные модели,
    • число слоев нейросети, число нейронов или параметров каждого слоя,
    • число ближайших сосетей,
    • другие параметры.
  3. Обсудить способ выбора модели:
    • с помощью алгоритмического задания структуры,
    • посредством включения структурных параметров в модель,
    • посредством включения структурных параметров в функцию ошибки,
    • наложением ограничений на функцию ошибки,
    • введением механизма релаксации элементов функции ошибки,
  4. Обсудить алгоритм выбора модели, оптимизации структурных параметров, примеры:
    • перебор из списка, заданного вручную,
    • полный перебор,
    • генетические алгоритмы,
    • оптимизация с релаксацией,
    • алгоритмы выбора признаков,
    • алгоритмы прореживания,
    • другие специальные алгоритмы.
  5. Запустить алгоритмы оптимизации
    • параметров,
    • гиперпараметров (если имеются),
    • структурных параметров.
  6. Построить сравнительную таблицу моделей на одной выборке и оптимизируемой функции ошибки.

Материалы по домашнему заданию

Домашнее задание-M: выбор модели

Обоснованная модель с известными свойствами (таблица-куб «модели-выборки-критерии»). Выбрать модель из класса моделей, сравнить модели-претенденты на различных выборках по разным критериям качества.

  1. Используя ранее полученные результаты, выбрать для анализа
    1. несколько выборок,
    2. несколько вариантов модели или алгоритмов решения задачи,
    3. критерии качества, функции ошибок.
  2. Зафиксировать способ кросс-валидации.
  3. Запустить алгоритм построения таблицы.
  4. Указать предпочтительную, в сравнении с альтернативами, модель.

Материалы по домашнему заданию





Домашнее задание-D: документ в целом

План научной статьи

Цель этой недели: подготовить статью к обсуждению


  • Название
  • Аннотация (пишется в первую очередь и переписываются после завершения работ): указание на область, изложение идеи и центрального результата (не более 600 знаков)
  • Ключевые слова (основные термины; можно использовать те, которые дали хорошие результаты поиска)
  • Введение (около страницы, не более двух); примерный план по абзацам:
    • Основное сообщение — чему посвящена работа (одна-две фразы)
    • Определения основных терминов согласно критерию ССС: Correct, Complete, Concise (корректно, полно, сжато)
    • Основная идея (не более абзаца)
    • Обзор литературы — развитие предлагаемой идеи (два абзаца)
    • Современное состояние области (два-четыре абзаца)
    • Что предлагается с преимуществами и недостатками относительно близких работ (два абзаца)
  • Постановка задачи (примерно страница)
    • Дано (как устроена выборка, модель измерения, алгебраическая структура)
    • Предполагается, что (статистические гипотезы, гипотезы порождения данных)
    • Ограничения и другие предположения о характере данных
    • Функция ошибки, правдоподобия, функционал или критерий качества искомой модели, решения (часто вытекает из гипотезы порождения данных)
    • Стратеги разбиения выборки, пополнения выборки, скользящего контроля
    • Внешние, эксплуатационные критерий качества тут или в эксперименте
    • Дополнительные требования к решению (к тому, что мы получаем в результате решения)
  • Решение: математическая часть (тут название первого раздела)
    • Свойства модели или предлагаемого решения
    • Описание алгоритма получения решения
    • Свойства алгоритма
  • Другие разделы (если есть, например, альтернативные решения)
  • Вычислительный эксперимент
    • Цель эксперимента (что ожидаем получить, какую гипотезу проверяем)
    • Описание постановки и условий эксперимента
    • Описание данных, достаточное, чтобы воспроизвести эксперимент самостоятельно, ссылка на выборку
    • Описание алгоритма или ход эксперимента
    • Описание полученных результатов
      • Графики с подробной подписью: в пояснении указать 1) что видит читатель, что показано на графике, 2) какие следствия вытекают из показанного
      • Таблицы с подписью сверху: 1) сослаться на формулы, поясняющие значения столбцов 2) написать о следствиях
    • Выводы, сравнение результатов, полученных альтернативным путем
    • Ссылка на  github.com/Intelligent-Systems-Phystech/ваша_папка для того, чтобы другие исследователи могли проверить результаты или использовать их в дальнейшей работе
  • Заключение: сжатое изложение результатов и планы дальнейших исследований (1/4 страницы)
  • Литература: опорные статьи за последние 10 лет, максимально покрывающие тематику (не менее 17-30 ссылок)
    • Взять всю литературу из LinReview и для обсуждения полного текста работы привести полный список
    • Совет: используйте команду TeX \nocite{*} при выводе из файла bbl для получения полного списка

План технического отчета

  • Аннотация: изложение краткого содержания и основных результатов (не более 600 знаков).
  • Введение: раскрытие темы статьи, общая постановка задачи, обзор литературы, описание подхода к решению задачи.
  • Постановка задачи: полная формальная постановка, введение обозначений, принятие необходимых гипотез, задание функционалов качества.
  • Описание алгоритма (возможно несколько разделов): математическое описание предлагаемого алгоритма, исследование его свойств, доказательство необходимых теорем.
  • Вычислительный эксперимент: описание исходных и производных данных, описание технической части алгоритма (если необходимо), описание результатов, сравнение их с результатами других алгоритмов; крайне желательны иллюстрации.
  • Заключение: сжатое изложение результатов (1/4 страницы).
  • Список литературы: желательно найти опорные статьи за последние 10 лет, максимально покрывающие тематику.

Домашнее задание-W: рецензирование

Работы 3-6 делает рецензент. Работы 1-2 делает автор.

  1. Собрать документ статьи для рецензирования.
  2. Договориться с рецензентом.
  3. Поставить фамилию рецензента в таблице на странице группы.
  4. Рецензенту: написать отзыв на работу. В качестве образца использовать рецензии из папки ArticleReviews. Рецензия не обязательно содержит описание рецензируемой работы, но содержит мнение рецензента о новизне, актуальности и обоснованности работы, а также список ошибок, недочетов и замечаний, призванных улучшить качество статьи.
  5. Рецензию выложить в свою папку doc. Формат произвольный (.pdf, .txt, .tex). Пример: Surname2020Title_Review.rtf

Рецензент проверяет следующие критерии

  1. Ясность основного сообщения, наличие единого объекта исследования
  2. Точность терминов, связность изложения
  3. Стандартность, непротиворечивость и ясность обозначений
  4. Соответствие цели и содержания эксперимента поставленной задаче
  5. Полнота анализа ошибки
  6. Повторяемость эксперимента:
    1. основной алгоритм восстанавливается из математического описания или из псевдокода без помощи автора,
    2. код читается легко, есть его описания, основной модуль легко найти, он запускает базовый вариант эксперимента,
    3. в статье есть ссылка на код и на выборку

Шаблон рецензии Surname2018Title_Review.rtf. Примеры рецензий, которые обсуждались на лекции, находятся здесь.

При рецензировании кода

  • Рецензент
    • в статье на ML ставит пометки \footnote{Замечание к статье}.
    • в файлах-исходниках ставит пометки % FIXIT Замечание к коду.
  • Автор
    • В статье вносит требуемые исправления и снимает пометки \footnote{Замечание к статье}.
    • В файлах-исходниках вносит требуемые исправления и исправляет пометки % FIXIT на %FIXED.

Соглашение о комментировании Приняты следующие комментарии, добавляемые в код при его проверке:

% FIXIT - желательно изменить код (улучшить структуру кода или устранить ошибку), 
% FIXED - устраненные ошибки или улучшенный код, 
% NOTE - комментарий для обмена мнениями,
% TODO - желательно выполнить работу.


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

Домашнее задание-S-slides: подготовка слайдов

  1. Подготовить слайды к устному докладу на пять минут. (сл. нед: Доклад отрепетировать по секундомеру). План доклада:
  • Посмотреть шаблоны презентации на русском (pdf, tex) и английском (pdf, tex) в папке Group074/Kuznetsov2013SSAForecasting/doc/.
  • Сделать презентацию по плану:
    1. Титульный лист, 1 слайд.
    2. Цели исследования, решаемая задача, используемые методы, 1 слайд.
    3. Иллюстрация проблемы, 1 слайд (желательно).
    4. Литература, 1 слайд.
    5. Постановка задачи, 1-2 слайда.
    6. Теоретическая часть, 1-10 слайдов
    7. Цели эксперимента, 1 слайд.
    8. Эксперимент, 1-5 слайдов.
    9. Результаты эксперимента, 1-3 слайда.
    10. Заключение: результаты, выносимые на защиту

Примеры докладов:

Домашнее задание Final show

  1. Поставить Zoom
  2. Настроить веб-камеру
  3. Найти микрофон, вынесенный из компьютера
    • компьютер сильно шумит вентилятором, резкие звуки от столовых приборов, все прочие внешние звуки нормальны
  4. Заполнить таблицу группы, в частности:
    1. Ссылку на LinReview, проверить что работает в Private window
    2. Ссылку на проект назвать GitHub
    3. Прямую ссылку на статью Paper
    4. Прямую ссылку на слайды Slides
    5. Добавить рецензента и ссылку Review
  5. Навести порядок в репозитории, загрузить последнюю версию
  6. В readme.md указать
    1. название проекта, авторов, аннотацию,
    2. название файла (demo, start), который надо запускать, чтобы повторить эксперимент
  7. Попросить консультанта поставить буквы,
    1. можно получить буквы в письме и поставить в таблицу самостоятельно
  8. Отрепетировать доклад устно с секундомером, уложиться в пять минут

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

Список журналов для подачи студенческих работ

Как реагировать на результаты рецензирования и как писать ответ рецензентам.

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


Завершение семестра и зачет

На занятии-семинаре 10 декабря будут выставлены оценки и зачет/незачет (формат определяет деканат). План проведения семинара.

  1. Группы делают доклады.
    • Слайды о проекте, общие для всей группы надо загрузить на сайт в таблицу Проекты: результаты вместе с общим текстом.
    • Совет. Приветствуется краткий рассказ о проекте на 3 минуты, 5 минут максимум, достаточно нескольких слайдов с самым главным сообщением.
    • Можно делать доклад всей группой или выбрать одного докладчика.
  2. Объявляются оценки.

Организационное.

  • Для получения зачета-минимума необходимо закрыть буквы у руководителя. Так как домашние задания строятся вокруг вычислительного эксперимента, результатом которого является таблица "модели-выборки-критерии", то советуем сосредоточить работу вокруг этой таблицы и графиков с анализом ошибки.
  • Для тех, кто хочет получить оценку побольше, учитываются анкеты, тесты, активность на занятиях (в том числе баллы за заполнение таблицы результатов и за диктант с постановкой задач не забыли), активность в гитхабе (половина оценки), и конечно, буквы за ДЗ и мнение руководителя (вторая половина оценки). Дополнительный большой балл за доклад дается всей группе.
  • Тем, кто не имеет букв, чтобы получить минимальную оценку будет дано персональное "аварийное" задание по курсу (результаты проекта группы учитываться не будут), оно будет состоять из заданий SBDEHM. Выборки, модели, критерии будут заданы. (Для студентов ФРТК в этом случае желательно присутствие зам. декана с целью анализа успеваемости. Он же определяет дедлайн.)


Аварийное задание

Выполняется в формате питон-ноутбук с кодом, выполняющим эксперимент, поясняющим текстом, графиком, и таблицей. Для тех, кто программирует на других языках, выполняется в аналогичном формате.

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

  1. Цель вычислительного эксперимента
  2. Описание выборок
  3. Блок загрузки и предобработки выборок
  4. График анализа состава выборки:
    1. анализ выбросов, гистограмма
    2. анализ пропусков, статистика
    3. анализ мультикорреляции признаков, кор. матрица
  5. Список моделей
  6. Список функций ошибки, критериев качества
  7. Способ разбиения выборки на обучение-контроль (выбрать)
  8. Таблица модели/выборки/критерии качества на разбиении со стандартным отклонением
  9. Анализ выбранной модели на разбиении обучение-контроль
    1. График зависимости функции ошибки от значения структурного параметра со ст. откл.
    2. График зависимости функции ошибки от объема выборки со ст. откл.
    3. График скорости сходимости функции ошибки (зависимости функции ошибки от номера итерации оптимизационного алгоритма) со ст. откл.

Задание имеет вид: решить задачу (классификации, регрессии, кластеризации) на выборках (список выборок и синтетическая выборка) с использованием моделей (список) со структурными параметрами (список), критерии качества (список).

Аварийное задание является персональным, высылается по почте. Результаты выполнения загружаются в проект StartCode в папку YourName2018LateProblemN. После того как задание загружено, сообщите об этом, заполнив анкету.


Тема Unit-test

TODO

Подготовка к экзамену

Экзамен будет проходить в виде доклада. Продолжительность 5-10 минут и три дополнительные минуты на вопросы. Цель — показать, что результаты работы понятны специалисту, и могут быть им использованы в дальнейшем. Под специалистами понимаются ваши одногруппники и преподаватели кафедры.

Во время презентации требуется:

  • Поставить задачу
  • Осветить основные принципы работы алгоритма (кратко, без деталей)
  • Описать интерфейсы модулей алгоритма
  • Показать работу алгоритма на примерах
  • Проанализировать свойства алгоритма

На презентации нужны:

  • Отчет
  • Код на sourceforge.net

Советы:

  1. Подготовьте доклад с секундомером в руках
  2. Расскажите его другу, ответьте на его вопросы

На экзамене оценивается:

  1. Корректность математической постановки задачи
  2. Полнота описания алгоритма
  3. Продуманность интерфейсов
  4. Соответствие стандартам программирования
  5. Ясность изложения результатов
  6. Глубина анализа свойств алгоритма
  7. Качество рецензирования (чужой работы)


Разработка алгоритма Основные приемы программирования — на лекции.

Работа с репозиторием В репозитории MLAlgorithms должны лежать следующие файлы и папки:

  • папка — название проекта,
  • папка doc с документацией и со статьей (обязательно хранить там .pdf, .tex, финальные версии рисунков .eps/.pdf; удалять все временные файлы),
  • папка code с кодом проекта,
    • в этой папке выделить файл, который нужно запустить, чтобы посмотреть отчет, например demoProjectName.mat,
  • папка data с данными по проекту (исходными и производными в .mat),
  • (необязательно) папка report c промежуточными рисунками (рисунки и черновики отчетов вместе с кодом хранить нежелательно),
  • не следует хранить чужие статьи в репозитории; их удобнее хранить в базе Mendeley.

На сайте machinelearning.ru находится только вводная часть и ссылки на код и на статью. Ниже приведен шаблон, который следует скопировать и вставить в создаваемую статью.

'''Название проекта''' и его краткая аннотация, не более 600 символов
== Постановка задачи ==
Не более 1/2 стр. 
== Пути решения задачи ==
Не более 1/2 стр. 
== Смотри также == 
* [http://example.com/ Ссылка на текст статьи]
* [http://example.com/ Ссылка на код]
== Литература ==
{{Задание|Иван Иванов|В.В.Стрижов|24 декабря 2010|Ivanov|Strijov}}
[[Категория:Практика и вычислительные эксперименты]]

Полезная информация:

Справочные материалы

Политика

  1. Списывание (то есть цитирование) приветствуется; использование чужого кода приветствуется вдвойне. При этом следует корректно указывать оригинального автора. Цитаты следует заключать в кавычки, например: «Мера~--- превыше всего»~\cite{Gasparov2004Greece}.
  2. Изобретать велосипед грешно; усовершенствовать почетно.
  3. Результат важнее процесса.

Правила оформления научных работ


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


Список обозначений

Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Рекомендуемые обозначения

Необходимые программы

  • MiKTeX… typesetting beautiful documents… Basic MiKTeX 2.8" Installer[5]
  • LaTeX editors WinEdit[6] OR TeXnicCenter[7]
  • JabRef, an open source bibliography reference manager[8]
  • SciLab, the Free Platform for Numerical Computation[9]
  • Русский словарь для редактора WinEdit ZIP, [1,53Мб], записать в папку C:\Program Files (x86)\WinEdt Team\WinEdt\Dict
  • InkScape, графический редактор с экспортом в LaTeX сайт и пример использования

Руководства по ТеХнической части

  • Custom Export для JabRef
  • Для конвертации LaTeX-исходников в формат MS Word использовать GrindEQ (первые 10 запусков бесплатны)

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

Советы

"Можно ли невозбранно цитировать материалы Википедии" "Как избежать плагиата"

Организационные материалы

Для чтения: Как публиковаться в выскоимпактных журналах? Цитата: "исследователи, успешно публикующиеся в журналах с высоким импакт-фактором, пишут свои рукописи на трех уровнях: первый — это резюме, доступное широкому кругу читателей и содержащее основные выводы, второй — это базовый документ с основными результатами исследований для тех, кто хочет получить более подробную информацию, как именно был получен вышеозначенный результат, и третий — это приложение со всем необходимым для воспроизведения результата. Вот формат, который ждут от вас журналы вроде Science и Nature."

Как найти журнал

  • Ищем, кто публикуется по нашей теме, его базовые работы. На кого мы ссылаемся в работе.
  • Смотрим в каком журнале эти работы.
  • Смотрим какие еще работы по этой теме опубликовал этот журнал.
  • Связываем обзор литературы с этими работами.
  • Подаем туда.

Для пользователей каталога WoK

  • Ищем наиболее близкую работу
  • Строим дерево цитирования вперед и назад во времени
  • Теоретически ссылки должны замыкаться, но сейчас это происходит все реже

Как подать статью в русский журнал

Для справки: индекс цитирования (инструменты)

Журналы ВАК

Список зарубежных журналов ВАК по тематике курса


  • Журнал вычислительной математики и математической физики[15]
  • Автоматизация и современные технологии[16]
  • Проблемы машиностроения
  • Автоматика, связь, информатика
  • Интеллектуальные системы[17] (Мехмат МГУ, МАТИС)
  • Информатика и ее применения[18]
  • Информационные технологии[19]
  • Информационные технологии и вычислительные системы[20]
  • Теория вероятностей и ее применения[21] (Журнал SIAM)
  • Обозрение прикладной и промышленной математики[22] (Сайт ТВП)
  • Проблемы прогнозирования[23]
  • Заводская лаборатория[24]
  • Математическая биология и биоинформатика[25]
Замечание. Название журнала иногда слабо связано с его тематикой.


Подаем статью в редакцию

Статья написана, нужно:

  • прочитать ее громко вслух,
  • дать почитать рецензенту, получить критические замечания, доработать.

Затем переходим к формированию пакета документов.

  1. Делаем перевод названия статьи, аннотации, ключевых слов, на английский язык, внимательно вычитываем. Вставляем этот блок (название, авторы, аннотация, ключевые слова) в конец статьи.
  2. Находим подходящий УДК, ставим в первую строку, до заголовка статьи.
  3. Собираем файл tex>pdf, проверяем название: «Author2011Title.pdf» (фамилия автора и первое или ключевое слово названия статьи).
  4. Читаем раздел «Авторам, требования к оформлению статей» на сайте журнала, выполняем эти требования.
    1. Если журнал принимает статьи TeX, то посылаем файлы .pdf, .tex и .eps. Рисунки .eps должны компилироваться из одной папки со статьей, из названия должны иметь вид «Author2011Title_Fig1.eps». Если журнал предлагает стилевой файл (.sty, .cls) компилируем с ним, если не предлагаем, пользуемся по умолчанию стилем atricle.
    2. Если журнал принимает статьи MS-Word, то пользуемся конвертором LaTeX-to-Word; то, что он не сделал, дорабатываем руками. Замечание: рисунки для MS-Word лучше всего записывать не в формате .eps, а в формате .emf.
  5. Делаем файл «Сведения_об_авторах.doc‎», вписываем себя (и соавторов, если есть).
Сведения об авторах

Фамилия Имя Отчество
студент
Московский физико-технический институт
119991, ГСП-1, Москва, Вавилова д. 42, оф. 151
Тел. служебный: 8 (495) 135-4163 
Факс: 8 (495) 137-2848 
E-mail: Name.Surname@mipt.ru

Пишем письмо следующего вида и отсылаем в журнал письмо и файл-статью (файлы, если это TeX) и файл-сведения по адресу, указанному журналом.

Тема: Новая статья [Автор И.О. Название]
 
Уважаемый [Имя Отчество главного редактора журнала]!

Прошу Вас принять к рассмотрению для публикации в журнале "[Название журнала]"
статью "[Название статьи]". Статья посвящена проблеме [выбора регрессионных 
моделей] и ранее нигде не публиковалась. 

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

С уважением,
[Имя Отчество Фамилия]
[Организация]
[телефоны для связи]

И. О. Автор, студ., Московский физико-технический институт
[Название статьи]
[Текст аннотации на русском языке]
Ключевые слова: [пять слов или словосочетаний через запятую].

N. M. Surname, Moscow Institute of Physics and Technology
[Feature selection in autoregression forecasting]
[The abstract itself]
Keywords: [keywords].

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

Работа с рецензентами

Через некоторое время (одна-две недели) автору приходит сообщение, что статья получена редколлегией и направлена на рецензирование. Если сообщение не приходит, то нужно вежливо написать или позвонить секретарю (или ответственному редактору).

Через несколько месяцев (максимум — полгода) должна прийти рецензия от одного или нескольких рецензентов. Возможны варианты.

  1. Статья принята при условии доработки с учетом замечаний рецензентов — прекрасно. Это означает, что статью внимательно прочитали и ее можно улучшить. Исправляем статью и составляем отчет о проделанной работе, который вместе со статьей отправляем в журнал. См. пример отчета.
  2. Статья будет повторно рассмотрена после доработки — хорошо, бывают такие строгие журналы. Делаем как в пункте выше.
  3. Статья принята без доработки — нормально, но к таким журналам нужно относиться осторожно, возможно, редколлегия статью детально не читала. Если это так, больше там не публикуемся.
  4. Статья отвергнута по каким-то причинам — скорее всего ошибка автора статьи: статья не соответствует тематике или в редколлегии не нашлось специалиста. (А еще и так бывает: статья написана плохо, см. предпоследний пункт).
  5. Статья требует существенной переработки — плохо;
    1. если с детальным указанием что нужно делать, то можно попытаться исправить как в п. 1,
    2. если без указания что нужно делать, то считаем, что редколлегия отвергла статью в вежливой форме (хотя нужно было отвергнуть явно),
    3. статья действительно плохо написана, советуемся с коллегами/научными руководителями, они вам скажут, что думают о вашей работе.
  6. Ответа из редколлегии нет — плохо, статью либо потеряли, либо работа редколлегии плохо организована, добиваемся ответа.

Работа с редактором

Перед публикацией статьи может прийти письмо с предложением встретиться с редактором журнала для технической правки текста. Рекомендуется пойти, познакомиться с редактором и поработать вместе над статьей. Это занимает два-четыре часа. Результат — статья, приведенная в соответствие со стандартами и с нормами русского языка. Вариант: редактор присылает технические правки в файле PDF, автор их принимает или отвергает.

  • Совет консультантам. Желательно править статью вместе при встрече. Пример общепринятой рукописной редакторской правки тут, PDF.

Как подать статью в международный журнал

Список журналов для подачи студенческих научных работ по курсу.

Памятка переводчику

  1. Проще – лучше.
  2. Предложение состоит из подлежащего и сказуемого. И дополнения.
  3. Прочего следует избегать. Ищите подлежащее. Предложение состоит из трех-пяти слов.
  4. Каждое существительное – точный термин.
  5. Существительное имеет свой точный глагол – сказуемое.
  6. Глагол имеет точный предлог перед дополнением.
  7. Точный – это значит, что его надо найти в образцах или в словарях.
  8. Словарный состав должен быть минимален.
  9. Пассива не существует.
  10. Актив для повествования, императив для описания алгоритмов. Роль артиклей значима. Их разнообразие велико.
  11. Не сочиняйте ни слова, ни конструкции. Не придумывайте текст. Ищите его у англичан. Англичанами являются: 1) Стивен Вольфрам, 2) Кристофер Бишоп, 3) Дэвид Маккай.
  12. Копируйте из учебников.
  • Упражнение. Включите "Auto-description" при просмотре фильмов. Обратите внимание на построение предложений и глаголы. Проанализируйте использование предлогов.

TODO на что нужно обратить внимание при подаче статью в журнал с высоким импакт-фактором.

Что сделать

  • Найти журналы опубликовавшие статьи, на которые нужно сослаться. В работе, подаваемой в журнал, желательно иметь 3-5 ссылок на его ранние номера (1-4-летней давности). В идеале нужно найти журнал, содержащий статьи, в которых предлагается "почти то же самое", что и в подаваемой статье. Желательно иметь список из 3-7 журналов. (Предпочтение научного руководителя - IF 2.0-4.0, но можно и меньше).
  • Журналы искать в коллекциях
  • Найденные журналы должны быть в списках ВАК, то есть «включены в хотя бы одну из систем цитирования Web of Science, Scopus, Web of Knowledge, [], Mathematics, [], Springer»[26].
    • Вставить ссылку (платный вход во все перечисленные системы?[27])
    • Возможно, похожа база ScienceDirect (там ссылка на SciVerse, они что, все слились в одну систему?).
  • Найти статьи, опубликованные за последние восемь лет, на которые опирается подаваемая статья. Желательно иметь список из 20 статей.
  • Статьи искать по всему интернету, включая платные коллекции. Желательно ссылаться на статьи из журналов списка SicenceDirect/WebOfKnowledge.

Список журналов

Коллекции и наукометрические системы

Ликбез от Elsevier

После публикации

О защите дипломных работ

Структура введения

Структура презентации

Отзыв научного руководителя

Рекомендации

О защите кандидатских диссертаций

Обязательно перед защитой аспиранту и его научному руководителю прочитать два официальных документа:

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

Публикации, часто задаваемые вопросы (черновик):

Сколько нужно минимально ВАКовских публикаций?

  • две для негуманитарных наук (на кафедре ИС последние кандидатские диссертации были защищены с девятью публикациями ВАК)

Скопусные и WoS учитываются?

  • да, если журналы, в которых опубликована работа, находятся в каталоге, см. ВАК, основная страница, и да, по прецедентам (не найден соотв. док. на основной странице)

РИНЦ

  • На сайте e-library явно указано, входит ли журнал в список ВАК, в общем случае нет

Google Scholar

  • Как и в предыдущем пункте, в общем случае нет

Нужны ли иностр. журнальные и какой уровень?

  • ВАК не требует (на кафедре ИС последние кандидатские диссертации были защищены с работами из Q1 или топ-10 по из специальности), TODO поставить ссылки на каталоги

Скажем, Q3 не менее 2-х, или хотя бы одна в Q1-Q2?

  • Это похоже на требования германских университетов, тут каждый решает университет определяет для себя (см. Примечание)

Обязательны ли работы без соавторов среди тех, что учитываются?

  • ВАК не требует (на кафедре ИС ожидается, что первым автором идет аспирант, отвечающий за работу, последним идет руководитель, планировавший работу)

Неформальное и некорректное примечание: Сейчас некоторые университеты, в том числе МГУ, МФТИ, ВШЭ, Сколех получили возможность присуждать ученые степени без вовлечения ВАК. Автор считает дипломы, полученные таким способом, заведомо слабыми. Это подтверждается личными (статистически не значимыми) наблюдениями. Некоторые европейские университеты подвергаются критике за кулуарные защиты и непрозрачные критерии качества (комиссия из шести человек собирается из присуждает степень, при этом критические отчеты оппонентов могут на сохраниться). В целом ценность степени PhD в европе и штатах определяется репутацией университета, присудившего эту степень и научного руководителя. На сегодняшний день ученые степени к.ф.-м.н., присуждаемые ВАК (формально, присуждаемые диссертационным советом и утверждаемые ВАК), имеют неплохую репутацию.

Методические рекомендации преподавателю

  1. При подготовке курса заручиться поддержкой экспертов, убедиться что они готовы предоставить необходимые данные в нужный срок. Согласовать с экспертами предполагаемые темы задач.
  2. Заручиться поддержкой консультантов, с каждым из них на основе предоставленного списка задач договориться о желаемой теме исследования.
  3. Разработать структуру курса: разбить весь объем работ на недельные этапы, соответствующие основным этапам выполнения исследования и написания статьи; создать расписание с планами лекций и домашними заданиями.
  4. Для обеспечения взаимодействия студентов и консультантов:
    • определить роль консультантов в рамках каждого пункта плана курса,
    • убедиться, что консультанты понимают какие результаты ожидаются по каждой подзадаче,
    • дать четкие критерии оценивания студенческих работ.
  5. В ходе курса проводить занятия с группой, обеспечивая студентам необходимую базу знаний и задавая общее направление работ.
  6. Знакомить студентов с основными принципами написания научного текста: согласно плану курса, на лекциях приводить примеры написания основных разделов научной статьи.
  7. Уделять часть лекции разбору домашних заданий. При разборе систематизировать распространенные ошибки.
  8. Собирать анкеты-рефлексию с целью понять
    • всем ли ясна поставленная задача или текущий этап работы,
    • сколько времени в среднем уходит на выполнение каждого этапа работы,
    • основные сложности, возникающие у студентов при выполнении заданий,
    • насколько эффективен процесс консультирования в каждой паре студент-консультант.
  9. Организовать презентации студенческих работ в ключевые этапы написания работ: краткое описание задачи и предполагаемых путей решения в начале семестра, анализ первичных результатов вычислительного эксперимента в середине и финальный отчет-презентацию проделанной работы в конце семестра.
  10. NB The classical unities or Aristotelian unities, or three unities

На лекциях, заметки преподавателю (устарело)

  • 1 лекция: вводная, плюс показ инструментов.
  • 2 лекция: введение в Матлаб (общий рассказ о роли Матлаба в программировании) / проверить как поставился софт.
  • 3 лекция: структура научной статьи, плюс легкие задачи на программирование / проверить ДЗ2 + конструкции Матлаб и ТеХ.
  • 4 лекция: проверка и обсуждение написанного кода (все работы)
  • 5 или 6 лекция: постановка задач.

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

  • технология работы над статьей,
  • способы постановки задач в ML (третье занятие),
  • формулировка теорем и оформление доказательств (откуда берутся и зачем нужны теоремы) ,
  • полнота материла (сколько материала необходимо дать, чтобы работу понимал не только автор, но и читатель),
  • построения предложений (собрать список неудачных фраз) (сделано),
  • типографика в \TeX (сделано),
  • написание рецензий,
  • написание заявок на гранты,
  • перевод на английский язык,
  • международные доклады,
  • пример работы DOI:10.1016/j.camwa.2010.03.021 (Penalty ~ $270).
  • locate a DOI

NB лекционные заметки о карьере

Карьера:

  1. Академическая (исследования и преподавание)
  2. Промышленная (исследования и разработки)
  3. Финансовая (анализ и разработки)
  4. Управление (анализ и принятие решений)


Поиск работы и карьера исследователя в академии и на производстве

Рекомендация от научного руководителя для дальнейшего обучения и стипендий

История развития курса

Данный курс является первой частью цикла

  1. Численные методы обучения по прецедентам
  2. Автоматизация и стандартизация научных исследований
  3. Выполнение исследовательских проектов
  4. Руководство исследовательскими проектами

и подготовкой к основному теоретическому курсу Ранние версии:

Шаблон статьи для сайта ML

'''Название проекта''' и его аннотация, не более 600 символов
== Постановка задачи ==

== Описание алгоритма ==
И другие разделы

== Смотри также == 
* Полный текст этой работы [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/electricity%20forcasting/doc/Dzhamtyrova10forecasting.pdf PDF]
* Ссылка на код [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/electricity%20forcasting/doc/Dzhamtyrova10forecasting.pdf PDF]

== Литература ==
{{Задание|Иван Иванов|В.В.Стрижов|24 декабря 2010|Ivanov|Strijov}}
[[Категория:Практика и вычислительные эксперименты]]

Журнал «Машинное обучение и анализ данных»

Начиная с весны 2011 избранные работы по этому курсу публикуются в специальном журнале. Цель журнала — развитие методов проведения вычислительных экспериментов в области машинного обучения и интеллектуального анализа данных.

Черновики простых задач по глубокому обучению

  • Выборки: используются те, которые часто встречаются в статьях, легко скачать. Желательно, чтобы они выкачивались питоновскими пакетами автоматически.
    1. Boston: есть код загрузки в sklearn: http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html
    2. MNIST: есть код загрузки в TensorFlow (https://www.tensorflow.org/versions/r1.2/get_started/mnist/pros#load_mnist_data), Keras (https://keras.io/datasets/#mnist-database-of-handwritten-digits)
    3. CIFAR-10: есть код в TensorFlow (https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10/), Keras (https://keras.io/datasets/#cifar10-small-image-classification)
    4. Celeb-A: набор лиц знаменитостей с 40 булевыми атрибутами для каждого лица, выборка достаточно часто упоминается в работах по GAN http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html
    5. Frey Faces: игрушечный датасет с лицом одного человека, часто используется в статьях по генеративным моделям https://cs.nyu.edu/~roweis/data.html
    6. Текстовые корпусы из nltk, выкачиваются в одну команду https://www.nltk.org/book/ch02.html
  • По задачам:
    1. В работе по GAN'ам (https://arxiv.org/pdf/1709.06548.pdf) был очень простой эксперимент на паре выборок <картинки из MNIST, транспонированные картинки из MNIST>, где сеть училась делать транспонирование, при этом задача рассматривалась как semi-supervised. Можно попробовать изучить, какое количество объектов потребуется простому автокодировщику, чтобы выучить операцию транспонирования.
    2. В статье (https://omoindrot.github.io/triplet-loss) рассматривались различные подходы к Metric Learning на основе триплетов. Можно провести сравнение стратегий Hard triplets, Easy triplets, Semi-hard triplets и случайных триплетов для какой-нибудь выборки. Результатом может быть визуализация, схожая с последним графиком из статьи.
    3. В работе (https://arxiv.org/pdf/1711.00464.pdf) рассматривается модификация функции потерь вариационного автокодировщика с разными коэффициентами на D_KL и ошибку реконструкции. Если коэффициент D_KL высокий - то модель хорошо работает как генеративная, если коэффициент D_KL низкий, то модель лучше восстанавливает исходную выборку. Можно повторить схожий эксперимент с лицами, получится наглядный график, как Figure 4 из статьи.
    4. Можно обучить модель перевода или что-то похожее на Seq2Seq: https://blog.keras.io/a-ten-minute-introduction-to-sequence-to-sequence-learning-in-keras.html Интересно было бы посмотреть как меняется перевод при снижении количества параметров.
    5. Есть простой пример посимвольной генерации текста на Keras: https://github.com/keras-team/keras/blob/master/examples/lstm_text_generation.py Здесь можно поэкспериментировать с температурой при генерации.

Система анкетирования

Личные инструменты