Численные методы обучения по прецедентам (практика, В.В. Стрижов)
Материал из MachineLearning.
Введение
Автоматизация научных исследований — практические занятия, посвященные изучению методов научной работы и выполнения исследовательских проектов в области машинного обучения и анализа данных. Задачей студентов является исследование свойств моделей и алгоритмов прогнозирования. Целью работы является написание научной статьи с элементами новизны с последующей подачей в рецензируемый научный журнал. Студенты изучают методы планирования исследований, технику написания научных статей и проведения вычислительных экспериментов.
Работа включает следующие этапы: сбор и анализ литературы, математическая постановка задачи, описание метода решения задачи и исследование его свойств, проведение вычислительного эксперимента. Каждому студенту предлагается персональная тема, по которой он анализирует публикации отечественных и зарубежных исследователей за последние годы, ставит задачу и делает доклад для группы о полученных результатах. Далее выполняется математическое описание метода, делается промежуточный доклад о состоянии работ. Последним шагом работы становится вычислительный эксперимент, иллюстрирующий свойства метода и использующий синтетические или реальные данные. Каждая статья рецензируется, работы синхронизируются на сайте SourceForge.org, проект «MLAlgorithms» или на сайте [GitHub.org GitHub], организация Intelligent-Systems-Phystech.
Цели: aбстрактная — научиться точно, ясно, красиво излагать свои и чужие идеи; конкретная — написать научную статью, которая была бы принята другими исследователями, работающими в нашей области; сделать доклад. Результат: научная статья, поданная в рецензируемый журнал из списка ВАК.
Элементы цикла и полезные страницы
- Короткий адрес этой страницы: bit.ly/16UIlQH
- Видео докладов по курсу на канале Machine Learning на Youtube
- Machine Learning and Data Analysis (Strijov's practice)
- Описание курса
- Список задач для пробного программирования
- Эксперты и консультанты
- Подготовка статьи к публикации на английском языке (материал ожидается)
- Коллекция реальных данных
- Учебные примеры
- Временной ряд (библиотека примеров)
- Черновые обзоры Linkreview
- Библиография всех завершенных проектов (на декабрь 2015)
- Список докладов на конференциях (2015)
- Расписание курса на английском языке
- План лекций
- Семинар
Course-related materials in English
- Brief description of the course: goals, structure and grading policy CourseShort.pdf
- Slides in PDF with course overview (goals, syllabus, summary of 2009-2014 results) CourseSlides.pdf
- Basic schedule with the list of tasks to complete
- The second term of the course Machine Learning and Data Analysis (Strijov's practice)/4th year, fall. Report on the course results, Fall 2013 Report2013Fall.pdf
- Report presentation templates in pdf, tex
- Lists of recommended journals on Machine Learning and Data Analysis:
- High impact factor High_IF_ScientificJournals.pdf
- Low impact factor Low_IF_ScientificJournals.pdf
- On reviewing/resubmitting/correcting the paper:
- Examples of feedback from reviewers: Review1.pdf, Review2.pdf, Review3.pdf
- Sample responses Response1.pdf, Response2.pdf
- Correction sample CorrectedPaper.pdf
Задачи
Ссылка на страницу курса | Описание |
---|---|
Группа 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 | Упражнения в продолжение лекций |
План работы
- Найти и описать данные. Составить список литературы, собрать публикации в bib-файл. Сделать заголовок статьи: название, аннотация.
- Написать введение: обзор методов решения задачи, описание предлагаемого подхода в целом. Сделать обзор литературы.
- Поставить задачу, описать новизну подхода, сделать черновик решения задачи.
- Визуализировать данные, описать полученные рисунки.
- Поставить вычислительный эксперимент, получить первые базовые результаты.
- Описать предлагаемый подход в деталях.
- Завершить вычислительный эксперимент.
- Описать результаты вычислительного эксперимента.
- Критически сравнить результаты, проанализировать метод.
- Скорректировать статью, последовательность изложения с учетом замечаний рецензента.
- Скорректировать теоретическую части статьи.
- Скорректировать согласованность статьи. Результатом должна являться рукопись, доступная для понимания.
- Подготовить материалы вычислительного эксперимента к публикации. Отделить код от автора.
- Выбрать журнал, подать статью в журнал.
- Сделать доклад для группы и на научной конференции.
Роли
Студент хочет научиться ставить задачи формально, находить нужную литературу, порождать новые и актуальные идеи и решения задач, доносить свои идеи до коллег.
Консультант, руководитель помогает студенту в пользовании инструментами, отвечает на вопросы по специальности, консультирует выполнение работ, оперативно реагирует на проблемы, проверяет (в среду) результаты, ставит оценки. Предполагается, что консультант сам пишет работу-спутник по этой теме. В конце работы могут быть объединены или выполнены и опубликованы параллельно. По возможности, рекомендуется организовать правки текста студента с целью улучшить стиль изложения таким образом, чтобы студент вносил правки самостоятельно. Возможно, при очной встрече или по скайпу.
Эксперт: поставщик задачи, владелец данных, либо тот, кто гарантирует новизну и актуальность работы.
Содержание отчета о курсе
Отчет состоит из следующих материалов:
- научная статья,
- исходный код алгоритма,
- рецензия на работу,
- доклад, видео и слайды презентации.
Консультации и оценивание
- Работы сдаются в течение недели.
- Желательна итеративная сдача работ, начинать показ лучше в выходные.
- Дедлайн последней версии работы: среда 6:00am.
- Каждый этап работ + 1 балл по системе (А--, А-, А, А+, А++),
- Недельное опоздание дает - =1/4 балла.
- Несделанная работа - 0.
- Мотивированный перенос работы отменен.
Домашние задания
Замечание для консультантов: нижеперечисленные пункты Домашних заданий являются критериями оценки качества работы.
Домашнее задание 1: инструменты
- Верстка. Поставить систему верстки TeX: MikTeX для Windows, TeX Live для Linux и Mac OS или зарегистрироваться на V2 OverLeaf ShareLaTeX.
- Поставить текстовый редактор, например TeXnic Center или его вариант WinEdt для Windows, TeXworks для Linux.
- Прочитать про LaTeX на MachineLearning.
- Из полезного: Wikibooks LaTeX, К.В.Воронцов. LaTeX2e в примерах.
- Прочитать основные главы Львовский С. М. Набор и верстка в системе LaTeX.
- Загрузить шаблон статьи, ZIP и скомпилировать.
- Прочитать про BibTeX.
- Поставить библиографическую систему JabRef.
- Обмен информацией. Зарегистрироваться в репозитории открытого кода GitHub.
- Важно: адрес и логин должен иметь вид Name.Surname или Name-Surname (зависит от соглашений системы).
- Вводные слайды по Version Control System.
- Основная информация о GitHub.
- Первые шаги в GitHub.
- Скачать программу-оболочку для синхронизации кода: Desktop.GitHub, посмотреть как использовать командную строку для синхронизации.
- Зарегистрироваться на сайте MachineLearning.ru. Для этого послать логин координатору (по умолчанию это староста группы) или по адресу mlalgorithms@gmail.com.
- Создать личную страницу пример.
- Поставить Hangouts, Skype, прочитать соглашение.
- Программирование. Поставить Python Anakonda, PyCharm, ноутбук онлайн Google.Colab.
- Дополнительно. В качестве альтернативных языков программирования поставить Matlab (вариант Octave), R-project, Wofram Mathematica.
- Прочитать статью Введение в Матлаб.
- Прочитать Документирование функций Matlab, соглашение об именах переменных и создание отчетов о вычислительных экспериментах.
- Прочитать Matlab Programming Style Guidelines.
- Дополнительно. Начать читать книгу Кутателадзе С. С. Советы эпизодическому переводчику и книгу Сосинский А. Б. Как написать математическую статью по-английски.
Материалы по домашнему заданию
- Для объявлений: Телеграм-канал AutomationML
- Вопросы можно задать по email:mlalgorithms@gmail.com
- Слайды первой лекции.
- Краткое описание курса.
- Анкета с вопросами по Домашнему заданию 1.
Литература для догоняющих
- Python notes for professionals by GoalKicker.com Free Programming Books.
- Лагутин М.Б. Наглядная математическая статистика, М.: Бином, 2009. См. также вырезку.
- Bishop C.P. Pattern recognition and machine learning, Berlin: Springer, 2008.
- MackKay D. Information Theory, Pattern Recognition and Neural Networks, Inference.org.uk, 2009.
Домашнее задание
Домашнее задание 2: пробное программирование
Задачи нужны, чтобы почувствовать как строится базовый эксперимент.
- Выбрать одну из задач
- в репозитории Intelligent-Systems-Phystech
- или в списке задач пробного программирования.
- Создать папку Surmame2015ProblemN (Ваша фамилия, год, "Problem", N — номер задачи) в репозитории https://github.com/Intelligent-Systems-Phystech/StartCode.
- Сохранить туда документированный код и графики c пояснениями.
- К документации кода приложить короткую аннотацию c целью эксперимента, принцип решения и полученный (на графике) результат.
- Важно! Пожалуйста, не сохраняйте туда файлы с данными. Они есть в открытом доступе.
- Графики оформлять в соответствии с рекомендациями.
- Предлагается руководствоваться стилевыми рекомендациями (в частности, назвать первый файл main или demoTitle).
- Питон: формат numpy/scipy.
- Формат документации кода в Питоне базируется на формате от Гугл, но более читабелен. Также он обрабатывается Sphinx для автоматической генерации сайтов с документацией.
- Матлаб: Документирование функций Matlab и MATLAB Programming Style Guidelines.
- Подготовить доклад, используя аннотацию и единственный график. Его продолжительность не более 45 секунд (в такое небольшое время уложиться непросто, доклад рекомендуется отрепетировать, лучшие графики приглашаются к докладу на семинаре).
- Совет по выполнению: найдите решение задачи в лекциях, сформулируйте постановку и решение в формулах (в терминах задачи оптимизации) на бумаге, введенные обозначения и решение перепишите в виде кода.
Для справки: примеры ранее выполненных работ.
- В Problem1 отчет генерируется автоматически в формате html. Не хватает описания рисунков.
- В Problem7: код документирован, результаты визуализированы, папка содержит файл Report с описанием процедуры решения задачи. Не хватает: краткого отчета о полученных результатах, описания рисунков (что изображено? что это значит?). Комментарии к коду желательно писать на английском. Оформление рисунков: сравнить fig1 и fig2.
- В Problem15: код документирован, результаты визуализированы, рисунки оформлены в соответствии с требованиям JMLDA/Fig, папка содержит файл Report с описанием процедуры решения задачи. Не хватает: краткого отчета о полученных результатах, описания рисунков.
Дополнение для группы 694
- На синтетической выборке или выборке из пробных задач построить график зависимости ошибки от числа добавленных признаков. Сделать на обучении и контроле с указанием дисперсии. Дисперсию считать по ошибкам на дополнительных разбиениях выборки. Указать принцип добавления признаков (например, согласно наибольшему убыванию ошибки). Подсказка: то, что было на доске.
Материалы по домашнему заданию
- Слайды второй лекции.
- Простой пример выбора моделей: линейная регрессия, раздел криволинейные модели.
- Анкета с вопросами по Домашнему заданию 2.
Советы по пользованию репозиторием
- GitHub: не делайте копии fork, клонируйте мастер и заливайте правки в него. См. краткое руководство по работе с GitHub.
- Update first, Commit after (Pull first, Push after)
- Your own work only, no external publications
- No big files (put link to external datasets)
- No temporary nor dummy files
Домашнее задание (те же ссылки, что и выше)
Домашнее задание 3: пробный анализ ошибки
Обоснование модели, анализ ошибки. Отвечаем на вопрос почему мы используем именно такую прогностическую модель.
- Для задачи из Домашнего задания 2 (или для любой новой задачи, или вот этой задачи) сделать анализ ошибки и нарисовать один график на выбор.
- Зависимость значения ошибки и его стандартного отклонения от сложности (числа признаков) на обучении и контроле.
- Зависимость значения ошибки и его стандартного отклонения от объема выборки на обучении и контроле.
- Комбинация первых двух вариантов.
- Зависимость значения ошибки и его стандартного отклонения от номера шага в итерационной процедуре.
- Загрузить или сделать апдейт кода и картинки в репозиторий.
- Дополнительно: ретвит @AutomationOf c хештегом #StartCode с графиком и его описанием дает букву.
- Дополнительно: составить список конференций и грантов на год вперед.
Материалы по домашнему заданию
- Подсказка-алгоритм к ДЗ 3.
- Пример линейной регрессии на Матлабе (из прошлого ДЗ).
- Пример логистической регрессии на Матлабе
- Пример линейной регрессии на Питоне и пояснения (и еще вариант).
- Добавление, GitHub: Самый простой способ работы с репозиторием GitHub, слайды-руководство.
- Добавление, GitHub: пошаговая инструкция по работе с git.
- Слайды третьей лекции.
- Анкета с вопросами по Домашнему заданию 3.
- Создан чат Телеграм для обсуждения вопросов по курсу.
Домашнее задание 4: кривая обучения
Запускаем нейросети на общеупотребляемых выборках. Строим график зависимости ошибки от номера итерации алгоритма оптимизации параметров модели.
- На ваш выбор взять выборку и тип нейронной сети. Согласовать объем выборки и сложность нейронной сети.
- В процедуру оптимизации нейронной сети вставить код, получающий ошибку на тестовой и контрольной выборках или воспользоваться встроенными процедурами.
- Для разных объемов выборки построить графики кривой обучения, показывающие различные скорости обучения.
- Наложить на выборку шум. Например, перемешать независимые переменные или добавить случайный шум в зависимые, на ваш выбор. Построить несколько графиков кривой обучения в условиях наложенного шума с разной дисперсией.
- Если графики строятся на задачах из предыдущих домашних заданий, результаты ДЗ 4 помещаются в ту же папку. Если на новой задаче, создать новую папку в том же репозитории StartCode.
Материалы по домашнему заданию
- Слайды четвертой лекции.
- Примеры, разобранные на лекции Радослава Нейчева.
- Tinker with a neural network right here
- Простой пример логистической регрессии, в которой показана итерация алгоритма оптимизации, внутри которой вычисляется функция ошибки.
- Анкета с вопросами по Домашнему заданию 4.
Домашнее задание A: выбор задачи, аннотация
- Выбрать задачу и записать свои предпочтения в анкету.
- Задачу надо выбрать в течение пары
- Распределение по проектам состоялось. Записывайтесь в таблицу Проекты: результаты.
- Обсудить с консультантом проект, понять цели, задачи, проблемы.
- Найти в организации https://github.com/Intelligent-Systems-Phystech репозиторий своего проекта или создать его с названием формата 2018-Project-N, пример.
- Записать ссылку на репозиторий в таблицу.
- Создать в репозитории общие папки code, data, report.
- Создать личную папку в репозитории проекта, название в формате Surname2018Title.
- Поместить файл (из ДЗ 1) с шаблоном статьи в личную папку, название в формате Surname2018Title.tex.
- Записать ссылку на файл PDF с текстом статьи из личной папки в таблицу в формате [http Имя Фамилия].
- Совет: копируйте ссылку как адрес кнопки Download файла PDF, который находится в репозитории.
- Создать документ-черновик обзора литературы формата LinkReview, поставить на него ссылку в таблицу.
- Рекомендуется кроме литературы заносить в LinkReview ссылки на источники данных, на код и библиотеки.
- Совет: создать групповой чат, поставить на него ссылку-приглашение в таблицу.
- Написать черновик аннотации.
- Аннотация не более 600 символов. Строится по примерному плану:
- чему посвящена работа в целом,
- на чем сконцентрировано исследование,
- в чем особенности исследования,
- [что новое предлагается],
- какими примерами проиллюстрирована?
Важно: код и результаты проекта общие, над изложением каждый работает сам лично в тексте рукописи. Завершенные тексты объединяются в общую рукопись для публикации. |
Материалы по домашнему заданию
- Примеры целеполаганий.
- Примеры черновиков обзоров литературы LinkReview раз, два.
- Примеры аннотаций.
- Анкета с вопросами по Домашнему заданию AIL.
Лекция 1 Линейные, авторегрессионные модели
Домашнее задание B-talk: рассказ на 45 секунд о проекте
Короткий доклад о проекте и два вопроса от аудитории
План доклада:
- Цель проекта (чему посвящен проект, какова мотивация исследования)
- Центральная идея (в чем изюминка исследования)
- Ожидаемый результат (в чем вклад в область, вариант - в чем новизна)
В течение доклада не будет возможности показать слайд или нарисовать что-либо на доске. Рекомендуется отрепетировать доклад на время.
Домашнее задание L: сбор и чтение литературы
- Собрать литературу по проекту:
- Современные обзоры проблемы, включая tutorials
- Фундаментальные методы решения проблемы
- Базовый алгоритм решения задачи
- Альтернативные алгоритмы
- [Изменения в направлениях исследований]
- Выборки по задаче
- Статьи, ссылающиеся на выборки
- Выборки, похожие по структуре
- Применение результатов решения задачи
- Исследователи, решавшие задачу
- Их аспиранты, команды
- Те, кто ссылается на исследователей
- Те, на кого ссылаются исследователи
- Учесть рекомендации по времени появления публикации (сбалансировать ссылки на новые и классические работы)
- Подготовить, пополнять, изменять список ключевых слов
- Заполнить файл LinkReview
- Спланировать раздел Введение (оно пишется в следующем ДЗ)
- Ключевые слова (основные термины; можно использовать те, которые дали хорошие результаты поиска)
- Введение (около страницы); ниже — по абзацам, примерный план
- Основное сообщение — чему посвящена работа (одна-две фразы)
- Обзор литературы — развитие предлагаемой идеи (не более двух абзацев)
- Современное состояние области (два-четыре абзаца)
- Что предлагается (два абзаца)
Материалы по домашнему заданию
- Примеры целеполаганий.
- Примеры аннотаций.
- Методические рекомендации выполнения исследовательских проектов в коммерческой фирме.
- Простое введение в нейросети
- Проект-стартап, пример отчета от Владимира Жуйкова.
- Демотиватор
Домашнее задание I: общая постановка задачи, раздел Введение
- Cоздать файл с библиографией: ProjectN.bib для проекта или Surname2018Title.bib личный.
- Перенести из Файла LinkReview библиографические записи, оформив их в формате BibTeX.
- Проверить правильность заполнения базы BibTeX (порядок написания имен авторов, тома журналов, номера страниц).
- Совет: пользуйтесь библиографическими базами для быстрого заполнения.
- Совет: используйте стилевой файл по умолчанию \bibliographystyle{plain} перед библиографией \bibliography{ProjectN}.
- Важно: Википедия не является первичным источником информации (но в ней можно найти полезные ссылки).
- Важно ArXiv не является рецензируемым авторитетным источником информации. Ищите копии работ, опубликованных в рецензируемых журналах. Если в течение года-двух после публикации в ArXiv работа не появилась в рецензируемом журнале, это может свидетельствовать о ее небрежности: работу отвергли.
- Написать раздел Введение. Ожидаемый размер полстраницы-страница. Примерный план:
- Цель исследования (мотивация исследования)
- Предмет исследования (вокруг чего строится исследование)
- Исследуемая проблема (в чем заключается сложность, что требуется сделать)
- Методы исследования: обзор работ, посвященных проблеме, современному состоянию исследований
- Решаемая в данной работе задача
- Предлагаемое решение
- Работа или работы описывающие наиболее близкие решения
- Анализ сильных и слабых сторон предлагаемого решения
- Цель эксперимента, на каких данных будет выполнен эксперимент
- Для себя, на черновике: составьте функциональную схему IDEF0 вашего проекта, как вы его сейчас видите.
Цель этой недели — охватить взглядом проект в целом (и кратко написать об этом). Принцип: проект любой сложности может быть сделан за неделю. |
Материалы по домашнему заданию
- Библиографические базы
- Планирование проекта с помощью IDEF0
- Страница A-0 в формате IDEF0
- Описание архитектуры системы, стандарт IDEF0
- Планирование проекта, pdf (на примере задачи конверсии рекламных кликов)
- Планирование системы, pdf и rsf (на примере задачи порождения и выбора признаков в задаче прогнозирования)
- Описание эксплуатируемой модели, pdf на примере задачи кредитного скоринга с пояснением
- Заметка: как создавать циклические схемы IDEF0.
- Инструмент для создания IDEF0: [Ramus Educational], вариант [уточняется https://www.draw.io/]
- План постановки задачи к обсуждению на следующем семинаре
Домашнее задание S : постановка задачи
Ставим задачу формально для того, чтобы предложить оптимальный алгоритм ее решения.
- Согласовать с консультантом постановку задачи. Посмотреть примеры постановок в материалах по ДЗ и в предыдущих статьях студентов этого курса.
- Обсудить терминологию и систему обозначений (pdf и tex-файлы со списком возможных обозначений в архиве).
- В разделе Постановка задачи кратко написать, в чем состоит задача в целом.
- Описать элементы постановки задачи:
- описание выборки (и, возможно, допустимые операции над элементами выборки),
- статистические предположения о природе выборки (гипотезу порождения данных),
- предположения о характере выборки (природе ее измерений),
- ограничения по составу выборки и значениям ее элементов,
- модель, ее принадлежность к классу моделей,
- ограничения на множество допустимых моделей,
- описание (и, возможно, обоснование) функции ошибки, функции потерь или иной функции качества, согласно которой будет оцениваться качество решения задачи,
- способы разбиения выборки,
- ограничения, накладываемые на решения задачи,
- возможно, дополнительные функции качества,
- оптимизационную постановку задачи в формате ,
- в постановке или при планировании эксперимента указать
- вид эксплуатируемой модели,
- эксплуатационную функцию ошибки.
- При необходимости вставить перед использованием терминов их определения: что в данной работе является моделью, ее точностью, устойчивостью, адекватностью, информативностью ее элементов, алгоритмом решения задачи.
Материалы по домашнему заданию
- Три слайда с планом постановки
- Примеры постановок задач
- Katrutsa A.M., Strijov V.V. Stresstest procedure for feature selection algorithms // Chemometrics and Intelligent Laboratory Systems, 2015, 142 : 172-183 article
- 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
- 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
- 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
- Ivkin N.P. Feature generation for classification and forecasting problems, MIPT, 2013 draft
- Рекомендуемые обозначения для вики
- Рекомендуемые обозначения, pdf
- Рекомендуемые обозначения, 2019: pdf, исходники (.tex + .sty)
- Пример простого и удобного стилевого файла с обозначениями
- Анкета с вопросами по Домашнему заданию S
Домашнее задание B: описание базового алгоритма
Требуется указать базовый алгоритм и запустить его на простой синтетической выборке.
- Запустить базовый алгоритм.
- Для этого вместе с консультантом найти наиболее простой алгоритм, решающий поставленную задачу (возможно, в частичной постановке).
- Подготовить синтетические данные (или взять несложные реальные, небольшую выборку).
- Запустить алгоритм на синтетических данных, вычислить ошибку.
- Кратко описать базовый алгоритм, проанализировать его свойства, перечислить модели-претенденты. Варианты описания:
- Описание - указание на название черного ящика. Желательно указывать на источник, где содержимое черного ящика описывается подробно. Указывать структурные параметры черного ящика.
- Описание модели как отображения из пространства описания объектов в пространство целевых переменных. При этом можно указать на алгоритм оптимизации параметров модели в виде черного ящика.
- Описание модели и алгоритма оптимизации его параметров в виде псевдокода.
Материалы по домашнему заданию
- Бахтеев О.Ю. Системы и средства глубокого обучения, статья
- Мотренко А.П. Повышение качества классификации, статья
- Исаченко Р.В. Снижение размерности в задаче декодирования, статья
- Построение выборки в задачах прогнозирования, слайды
- Зоопарк нейросетей от Ильи Жарикова.
- Постановка задачи прогнозирования дефолтов по картам на год вперед, слайды
- Постановка задачи анализа биржевых европейских опционов, слайды
- Анкета с вопросами по Домашнему заданию B
Домашнее задание D: планирование эксперимента
Распланировать базовый вычислительный эксперимент, построить синтетическую выборку, сделать описание эксперимента.
- Обсудить с руководителем и командой основную цель эксперимента.
- Записать цель эксперимента в раздел "Вычислительный эксперимент"
- Описать базовую (синтетическую или несложную реальную) выборку:
- указать название, источник, природу измерений,
- указать число объектов, признаков, другие характеристики,
- для синтетической выборки указать порождающую модель, ее параметры, условия порождения (например, случайное равномерное семплирование)
- Написать, в какой конфигурации запускается алгоритм.
- Спланировать таблицы и графики:
- составить их список (минимальный и полный варианты),
- записать название, что отложено по осям,
- в черновике карандашом нарисовать предполагаемый вид графиков.
- Совет: старайтесь загружать выборку из внешнего репозитория, чтобы эксперимент можно было удобно повторить. Если такого нет, то загрузить данные (включая одну из синтетических выборок) в свой. Согласуйте с руководителем и командой случай когда объем файла велик (например, превосходит 5 МБ), или если файлов много.
Материалы по домашнему заданию
- Примеры целеполаганий вычислительных экспериментов, см. работы пошлых лет А. Грабовой, В. Алексеев, А. Рогозина, И. Игашов, Н. Уваров
- Краткое описание природы реальных данных см. например, Bishop C.P. Pattern recognition and machine learning, 2006. Pp. 677-683.
- Коллекция графиков, ассорти[1], версия для загрузки слайды, PDF.
- Анкета с вопросами по Домашнему заданию D.
Домашнее задание-E: анализ ошибки
Запустить базовый эксперимент, проанализировать его результаты.
Анализ ошибки в вычислительных экспериментах — это анализ изменения значений функции ошибки при изменении состава выборки (или при других изменениях условий эксплуатации модели).
Начальные требования для анализа.
- Задана стратегия разбиения скользящего контроля.
- Поставлена задача оптимизации параметров.
- Задан набор внешних (эксплуатационных) критериев качества модели.
- Для набора разбиений получен
- набор значений векторов оптимальных параметров,
- набор значений функции ошибки на обучении и на контроле.
- Получен набор значений внешних критериев на обучении и контроле.
Анализ ошибки содержит следующие базовые статистические тесты.
- Анализ состава выборки:
- анализ простоты выборки по отдельным признакам (гистограммы признаков),
- анализ мультикоррелированности признаков, в частности анализ корреляционных или ковариационных матриц (вычисление R2, VIF, визуализация результатов метода Белсли, в частности, при изменении состава признаков, факторного анализа),
- тест наличия выбросов в выборке (визуализация изменения функции ошибки при исключении выбросов),
- тест наличия мультимоделей (снижение ошибки при, например, использовании стратегии бустинга)
- оценка необходимой мощности выборки (по оси абсцисс — число объектов, по оси ординат — ошибка на обучении и ее стандартное отклонение),
- оценка необходимого числа признаков (по оси абсцисс — последовательно добавляемые признаки; признаки добавляются, например, по убыванию скорости изменения ошибки — т. н. ускорение и торможение ошибки)).
- Анализ дисперсии параметров и функции ошибки
- анализ стандартного отклонения функции ошибки (внутреннего критерия) и внешних критериев (в частности, визуализация ROC — обучение и контроль на каждом из разбиений),
- анализ изменения функции ошибки на итерациях оптимизации (ось абсцисс — итерации, ось ординат функция ошибки на обучении, контроле и ее стандартное отклонение),
- анализ изменения параметров и гиперпараметров модели (по оси абсцисс — итерации, по оси ординат — набор параметров, лапша и их стандартные отклонения или гиперпараметры),
- анализ изменения параметров и функций ошибки при из изменении структурных параметров или регуляризаторов (они по оси абсцисс, по оси ординат — не забываем о стандартном отклонении, получаемом скользящим контролем).
- Сложность алгоритма оптимизации функции ошибки в зависимости от объема выборки
- теоретическая,
- эмпирическая,
- аппроксимация эмпирической функции теоретической (по оси абсцисс — объем выборки, число признаков, число кластеров).
- Анализ свойств модели с помощью внешних критериев, учет возможных ограничений на параметры и структуру модели
- построение парето-оптимального фронта множества моделей, из которых производится выбор.
Материалы по домашнему заданию
- Анализ пространства параметров, слайды.
- Критерии качества линейных моделей раз, два.
- Коллекция графиков, ассорти[2], версия для загрузки слайды, PDF.
- Linear model feature selection slide.
- 11 Important Model Evaluation Techniques Everyone Should Know (datacentral).
- How Bayesian Inference Works (datacentral).
- Анкета с вопросами по [лекциям и семинарам и по Домашнему заданию Е тут 19 ноября с 18:35 до 19:45 https://goo.gl/forms/lpc41Jn6ucxD0zHn1].
Домашнее задание-H: анализ структуры модели
Анализ пространства параметров, гиперпараметров, структуры модели
- Поставить вычислительный эксперимент на реальной выборке, проанализировать структуру модели.
- Обсудить, что является структурным параметром, согласно которому модель выбирается из множества моделей, примеры:
- число признаков обобщенно-линейные модели,
- число слоев нейросети, число нейронов или параметров каждого слоя,
- число ближайших сосетей,
- другие параметры.
- Обсудить способ выбора модели:
- с помощью алгоритмического задания структуры,
- посредством включения структурных параметров в модель,
- посредством включения структурных параметров в функцию ошибки,
- наложением ограничений на функцию ошибки,
- введением механизма релаксации элементов функции ошибки,
- Обсудить алгоритм выбора модели, оптимизации структурных параметров, примеры:
- перебор из списка, заданного вручную,
- полный перебор,
- генетические алгоритмы,
- оптимизация с релаксацией,
- алгоритмы выбора признаков,
- алгоритмы прореживания,
- другие специальные алгоритмы.
- Запустить алгоритмы оптимизации
- параметров,
- гиперпараметров (если имеются),
- структурных параметров.
- Построить сравнительную таблицу моделей на одной выборке и оптимизируемой функции ошибки.
Материалы по домашнему заданию
- Анкета с вопросами по Домашнему заданию H.
Домашнее задание-M: выбор модели
Обоснованная модель с известными свойствами (таблица-куб «модели-выборки-критерии»). Выбрать модель из класса моделей, сравнить модели-претенденты на различных выборках по разным критериям качества.
- Используя ранее полученные результаты, выбрать для анализа
- несколько выборок,
- несколько вариантов модели или алгоритмов решения задачи,
- критерии качества, функции ошибок.
- Зафиксировать способ кросс-валидации.
- Запустить алгоритм построения таблицы.
- Указать предпочтительную, в сравнении с альтернативами, модель.
Материалы по домашнему заданию
- Примеры таблицы модели-выборки-критерии Comprehensive study of feature selection methods и Stresstest procedures.
- Коллекция графиков, ассорти [3], версия для загрузки слайды, PDF.
- Анкета с вопросами по Домашнему заданию M и Анкета-2.
Домашнее задание-R: оформление результатов
Завершить эксперимент, создать рукопись-технический отчет для показа.
- При консультации руководителя собрать результаты всей команды:
- завершить эксперимент,
- собрать полученные результаты,
- внести таблицу с результатами в раздел Вычислительный эксперимент,
- написать общий вывод.
- Лично (если неясны буквы за выполнение ДЗ) связаться с руководителем, спросить его о своих оценках.
10 декабря - последнее занятие семестра.
Материалы по домашнему заданию
- Анкета с вопросами по [Домашнему заданию R будет тут].
Завершение семестра и зачет
На занятии-семинаре 10 декабря будут выставлены оценки и зачет/незачет (формат определяет деканат). План проведения семинара.
- Группы делают доклады.
- Слайды о проекте, общие для всей группы надо загрузить на сайт в таблицу Проекты: результаты вместе с общим текстом.
- Совет. Приветствуется краткий рассказ о проекте на 3 минуты, 5 минут максимум, достаточно нескольких слайдов с самым главным сообщением.
- Можно делать доклад всей группой или выбрать одного докладчика.
- Объявляются оценки.
Организационное.
- Для получения зачета-минимума необходимо закрыть буквы у руководителя. Так как домашние задания строятся вокруг вычислительного эксперимента, результатом которого является таблица "модели-выборки-критерии", то советуем сосредоточить работу вокруг этой таблицы и графиков с анализом ошибки.
- Для тех, кто хочет получить оценку побольше, учитываются анкеты, тесты, активность на занятиях (в том числе баллы за заполнение таблицы результатов и за диктант с постановкой задач не забыли), активность в гитхабе (половина оценки), и конечно, буквы за ДЗ и мнение руководителя (вторая половина оценки). Дополнительный большой балл за доклад дается всей группе.
- Тем, кто не имеет букв, чтобы получить минимальную оценку будет дано персональное "аварийное" задание по курсу (результаты проекта группы учитываться не будут), оно будет состоять из заданий SBDEHM. Выборки, модели, критерии будут заданы. (Для студентов ФРТК в этом случае желательно присутствие зам. декана с целью анализа успеваемости. Он же определяет дедлайн.)
Аварийное задание
Выполняется в формате питон-ноутбук с кодом, выполняющим эксперимент, поясняющим текстом, графиком, и таблицей. Для тех, кто программирует на других языках, выполняется в аналогичном формате.
Отчет по заданию содержит следующие разделы и графики с комментариями, достаточными для передачи сообщения тому, кто будет читать код. Графики должны иметь подписанные оси и поясняющий текст с выводом - результатом анализа.
- Цель вычислительного эксперимента
- Описание выборок
- Блок загрузки и предобработки выборок
- График анализа состава выборки:
- анализ выбросов, гистограмма
- анализ пропусков, статистика
- анализ мультикорреляции признаков, кор. матрица
- Список моделей
- Список функций ошибки, критериев качества
- Способ разбиения выборки на обучение-контроль (выбрать)
- Таблица модели/выборки/критерии качества на разбиении со стандартным отклонением
- Анализ выбранной модели на разбиении обучение-контроль
- График зависимости функции ошибки от значения структурного параметра со ст. откл.
- График зависимости функции ошибки от объема выборки со ст. откл.
- График скорости сходимости функции ошибки (зависимости функции ошибки от номера итерации оптимизационного алгоритма) со ст. откл.
Задание имеет вид: решить задачу (классификации, регрессии, кластеризации) на выборках (список выборок и синтетическая выборка) с использованием моделей (список) со структурными параметрами (список), критерии качества (список).
Аварийное задание является персональным, высылается по почте. Результаты выполнения загружаются в проект StartCode в папку YourName2018LateProblemN. После того как задание загружено, сообщите об этом, заполнив анкету.
Домашние задания, Весна 2019
Машинное обучение, весна 2019, распределение по семинарам, анкета https://goo.gl/forms/Rt3l4SbSl7ETx9Ys2 |
Домашнее задание FS: анализ пространства
08.02: Порождение расширенного признакового пространства, софткомпьютинг
Домашнее задание FA: сравнение способов порождения признаков
15.02: Ручное порождение признаков или автоматическое
Домашнее задание NA: описание нового алгоритма
22.03: Работа над основным алгоритмом
Домашнее задание MM: мультимоделирование
01.03: Анализ адекватности модели, ансамбли и мультимоделирование
Домашнее задание CO: график сложности и профилирование
15.03: Анализ сложности алгоритма: теоретический и эмпирический
Домашнее задание CR: набор критериев и алгоритм оптимизации
22.03: Создание набора внешних критериев, дообучение
Домашнее задание EX: эксперимент, анализ постановки в эксперименте
05.04: Планирование эксперимента
Домашнее задание A: эксперимент, анализ ошибки в эксперименте
19.04: Анализ результатов, оформление результатов эксперимента
Домашние задания прежних лет (Весна 2018)
Полезные ссылки
- Стипендиальный конкурс Потанина
- Повышенная государственная академическая стипендия
- Конкурс фундаментальных исследований, выполняемых молодыми учеными
Домашнее задание-T: теоретическая часть
- Написать решение поставленной задачи
- в простом варианте
- в деталях, насколько это возможно.
- Сравнить написанное решение с кодом, откорректировать код и решение.
Домашнее задание-M-Talk: пробный доклад со слайдами
- Подготовить устный доклад на две минуты. Доклад отрепетировать по секундомеру. План доклада:
- Посмотреть шаблоны презентации на русском (pdf, tex) и английском (pdf, tex) в папке Group074/Kuznetsov2013SSAForecasting/doc/.
- Сделать презентацию по плану:
- Титульный лист, 1 слайд.
- Цели исследования, решаемая задача, используемые методы, 1 слайд.
- Иллюстрация проблемы, 1-2 слайда (необязательно).
- Литература, 1 слайд.
- Постановка задачи, 1-2 слайда.
- Теоретическая часть, 1-10 слайдов (не ожидается).
- Цели эксперимента, 1 слайд.
- Эксперимент, 1-5 слайдов.
- Результаты эксперимента, 1-3 слайда.
- Заключение: результаты, выносимые на защиту (обязательно).
- Подготовить короткий доклад по слайдам (2-3 мин.)
Примеры докладов:
- Катруца А.М. Дискретное квадратичное программирование с релаксацией при отборе признаков, МФТИ, 2016,презентация
- Медведникова М.М. Построение интегральных индикаторов по частично упорядоченным множествам экспертных оценок, МФТИ, 2013, презентация,
- Стенина М.М. Согласование прогнозов в задачах прогнозирования иерархических временных рядов, МФТИ, 2015, презентация
- Кузнецов М.П. Построение моделей обучения по предпочтениям с использованием порядковых экспертных оценок, МФТИ, 2018, презентация
Домашнее задание-D: документ в целом
План научной статьи
- Название
- Аннотация (пишется в первую очередь и переписываются при завершении работ): изложение краткого содержания и основных результатов (не более 600 знаков)
- Ключевые слова (основные термины; можно использовать те, которые дали хорошие результаты поиска)
- Введение (около страницы); ниже — по абзацам, примерный план)
- Основное сообщение — чему посвящена работа (одна-две фразы)
- Обзор литературы — развитие предлагаемой идеи (не более двух абзацев)
- Современное состояние области (два-четыре абзаца)
- Что предлагается (два абзаца)
- Постановка задачи (примерно страница)
- Дано (как устроена выборка)
- Предполагается, что (статистические гипотезы, гипотезы порождения данных)
- Ограничения и другие предположения о характере данных
- Функционал или критерий качества искомой модели, решения (часто вытекает из гипотезы порождения данных)
- Дополнительные требования (разбиения выборки, скользящий контроль, требования к мультиколлинеарности и подобное)
- Решение: математическая часть (тут название первого раздела)
- Описание алгоритма
- Исследуемые свойства алгоритма
- Другие разделы (если есть)
- Решение: алгоритмическая часть (часто уходит в следующий раздел)
- Вычислительный эксперимент
- Описание задачи, кратко
- Описание данных, достаточное, чтобы воспроизвести эксперимент самостоятельно
- Описание алгоритма или ход эксперимента
- Описание полученных результатов
- Выводы, сравнение результатов, полученных альтернативным путем
- Заключение (пишется в последнюю очередь): сжатое изложение результатов (1/4 страницы)
- Желательно вставить ссылку на mlalgorithms/ваша_папка для того, чтобы другие исследователи могли проверить результаты или использовать их в дальнейшей работе.
- Литература: опорные статьи за последние 10 лет, максимально покрывающие тематику (не менее 20 статей)
- Литература должна у вас уже быть по результатам доклада-1 (даже если она не вся указана во введении, пожалуйста, приведите полный список)
- Совет: используйте команду TeX \nocite{*} при выводе из файла bbl для получения полного списка.
- Аннотация: изложение краткого содержания и основных результатов (не более 600 знаков).
- Введение: раскрытие темы статьи, общая постановка задачи, обзор литературы, описание подхода к решению задачи.
- Постановка задачи: полная формальная постановка, введение обозначений, принятие необходимых гипотез, задание функционалов качества.
- Описание алгоритма (возможно несколько разделов): математическое описание предлагаемого алгоритма, исследование его свойств, доказательство необходимых теорем.
- Вычислительный эксперимент: описание исходных и производных данных, описание технической части алгоритма (если необходимо), описание результатов, сравнение их с результатами других алгоритмов; крайне желательны иллюстрации.
- Заключение: сжатое изложение результатов (1/4 страницы).
- Список литературы: желательно найти опорные статьи за последние 10 лет, максимально покрывающие тематику.
Домашнее задание-W: рецензирование
Работы 3-6 делает рецензент. Работы 1-2 делает автор.
- Собрать документ статьи для рецензирования.
- Договориться с рецензентом.
- Поставить фамилию рецензента в таблице на странице группы.
- Рецензенту: написать отзыв на работу. В качестве образца использовать рецензии из папки ArticleReviews. Рецензия не обязательно содержит описание рецензируемой работы, но содержит мнение рецензента о новизне, актуальности и обоснованности работы, а также список ошибок, недочетов и замечаний, призванных улучшить качество статьи.
- Рецензию выложить в папку автора работы. Формат произвольный (.pdf, .txt, .doc).
- Ссылку на рецензию вставить после фамилии рецензента.
Рецензент проверяет следующие критерии
- Ясность основного сообщения, наличие единого объекта исследования
- Точность терминов, связность изложения
- Стандартность, непротиворечивость и ясность обозначений
- Соответствие цели и содержания эксперимента поставленной задаче
- Полнота анализа ошибки
- Повторяемость эксперимента:
- основной алгоритм восстанавливается из математического описания или из псевдокода без помощи автора,
- код читается легко, есть его описания, основной модуль легко найти, он запускает базовый вариант эксперимента,
- в статье есть ссылка на код и на выборку
Шаблон рецензии Surname2018Title_Review.rtf. Примеры рецензий, которые обсуждались на лекции, находятся здесь.
При рецензировании кода
- Рецензент
- в статье на ML ставит пометки \footnote{Замечание к статье}.
- в файлах-исходниках ставит пометки % FIXIT Замечание к коду.
- Автор
- В статье вносит требуемые исправления и снимает пометки \footnote{Замечание к статье}.
- В файлах-исходниках вносит требуемые исправления и исправляет пометки % FIXIT на %FIXED.
Соглашение о комментировании Приняты следующие комментарии, добавляемые в код при его проверке:
% FIXIT - желательно изменить код (улучшить структуру кода или устранить ошибку), % FIXED - устраненные ошибки или улучшенный код, % NOTE - комментарий для обмена мнениями, % TODO - желательно выполнить работу.
Рецензент отвечает за качество работы, но должен быть благожелателен к исполнителю. Критерий качества работы: рецензент с удовольствием готов использовать рецензируемую работу для решения своих задач.
Домашнее задание J
Список журналов для подачи студенческих работ
Тема Unit-test
TODO
Подготовка к экзамену
Экзамен будет проходить в виде доклада. Продолжительность 5-10 минут и три дополнительные минуты на вопросы. Цель — показать, что результаты работы понятны специалисту, и могут быть им использованы в дальнейшем. Под специалистами понимаются ваши одногруппники и преподаватели кафедры.
Во время презентации требуется:
- Поставить задачу
- Осветить основные принципы работы алгоритма (кратко, без деталей)
- Описать интерфейсы модулей алгоритма
- Показать работу алгоритма на примерах
- Проанализировать свойства алгоритма
На презентации нужны:
- Отчет
- Код на sourceforge.net
Советы:
- Подготовьте доклад с секундомером в руках
- Расскажите его другу, ответьте на его вопросы
На экзамене оценивается:
- Корректность математической постановки задачи
- Полнота описания алгоритма
- Продуманность интерфейсов
- Соответствие стандартам программирования
- Ясность изложения результатов
- Глубина анализа свойств алгоритма
- Качество рецензирования (чужой работы)
Разработка алгоритма
Основные приемы программирования — на лекции.
Работа с репозиторием В репозитории 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}} [[Категория:Практика и вычислительные эксперименты]]
Полезная информация:
- Адрес репозитория https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms.
- Совет: не загружайте в репозиторий вспомогательный файлы Thumbs.db, .asv они будут мешать.
Вычислительный эксперимент
Вычислительный эксперимент состоит следующих шагов:
- Порождение модельных данных или загрузка реальных данных
- Предобработка данных (если требуется)
- Визуализация данных (если требуется)
- Выполнение алгоритма, получение результатов
- Визуализация результатов
- Исследование свойств алгоритма
- Выводы
Справочные материалы
Политика
- Списывание (то есть цитирование) приветствуется; использование чужого кода приветствуется вдвойне. При этом следует корректно указывать оригинального автора. Цитаты следует заключать в кавычки, например: «Мера~--- превыше всего»~\cite{Gasparov2004Greece}.
- Изобретать велосипед грешно; усовершенствовать почетно.
- Результат важнее процесса.
Правила оформления научных работ
- NB Заготовка для русскоязычной статьи со стилевым пакетом журнала «Вычислительные технологии», ZIP
- NB Шаблон презентации Beamer-TeX
- Elsevier’s guide to publication
- A better way to format your document
- Author Artwork Instructions
- The elsarticle LaTeX document class
- Russian: \usepackage[cp1251]{inputenc} \usepackage[russian]{babel}
- Ключевые слова по MSC-кодам[4]
- Коммутативные диаграммы в LaTeX, справочник
Совет. Прежде, чем показать свою работу, проверьте орфографию и пунктуацию. Формулы (в том числе и выключенные) являются частью системы пунктуации. Сверяйтесь с хорошими образцами! |
Список обозначений
Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Рекомендуемые обозначения
- Notation in probability and statistics
- List of logic symbols
- Mathematical notation общие сведения
- Стандарт ISO 31-11 из группы ISO 80000; по нашей специальности IEC 80000-13:2008 (Quantities and units -- Part 13: Information science and technology)
- Abuse of notation
- Greek letters used in mathematics
- Latin letters used in mathematics
- List of mathematical symbols
- Typographical conventions in mathematical formulae
- Blackletter
Необходимые программы
- 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 запусков бесплатны)
Полезные материалы и ссылки
- Заготовка для статьи на machinelearning.ru
- Образец статьи о выполненном практическом задании
- Как написать статью на сайт machinelearning.ru
- Как работать с репозиторием алгоритмов
- Введение в Матлаб
- Документирование функций Matlab, соглашение об именах переменных и создание отчетов о вычислительных экспериментах
- Matlab Programming Style Guidelines
- Содержимое корневой папки репозитория MLAlgorithms SourceForge
- Пример отчета с загрузкой модельных данных, который разбирался на лекции
- UCI Machine Learning Repository
- Стандарт библиографического описания, см. Приложение А
- Индекс цитирования (инструменты)
- CRoss Industry Standard Process for Data Mining
- Машинное обучение и Octave (Stanford Uni.)
- Умберто Эко. Как написать дипомную работу. Гуманитарные науки: Учебно-методическое пособие / Пер. с ит. Е.Костюкович. — 3 изд. — М., КДУ, 2004. — 240 с [10]
- А. Б. Сосинский. Как написать математическую статью по-английски. — М: Изд-во «Факториал Пресс», 2000. [11]
- С. С. Кутателадзе. Russian-To-English in Writing: Советы эпизодическому переводчику. Новосибирск: Изд-во Ин-та математики, 2000. [12]
- English for Writing Research Papers
- Crafting Papers on Machine Learning
- Machine learning that Matters
- On Applied Research in Machine Learning
- Ф. А. Кузин. Кандидатская диссертация. Методика написания, правила оформления и порядок защиты: Практ. пособие для аспирантов и соискателей ученой степени. — 2 - е изд. — М.: «Ось-89», 1998. [13]
- Как написать рецензию на дипломную работу. [14]
- Электронные Ресурсы в МФТИ
- Сводный каталог математической литературы
- Онлайн курс по LaTeX на Coursera на русском языке.
- ...
Советы
"Можно ли невозбранно цитировать материалы Википедии" "Как избежать плагиата"
Организационные материалы
Для чтения: Как публиковаться в выскоимпактных журналах? Цитата: "исследователи, успешно публикующиеся в журналах с высоким импакт-фактором, пишут свои рукописи на трех уровнях: первый — это резюме, доступное широкому кругу читателей и содержащее основные выводы, второй — это базовый документ с основными результатами исследований для тех, кто хочет получить более подробную информацию, как именно был получен вышеозначенный результат, и третий — это приложение со всем необходимым для воспроизведения результата. Вот формат, который ждут от вас журналы вроде Science и Nature."
Как подать статью в русский журнал
Для справки: индекс цитирования (инструменты)
Журналы ВАК
Список зарубежных журналов ВАК по тематике курса
- Журнал вычислительной математики и математической физики[15]
- Автоматизация и современные технологии[16]
- Проблемы машиностроения
- Автоматика, связь, информатика
- Интеллектуальные системы[17] (Мехмат МГУ, МАТИС)
- Информатика и ее применения[18]
- Информационные технологии[19]
- Информационные технологии и вычислительные системы[20]
- Теория вероятностей и ее применения[21] (Журнал SIAM)
- Обозрение прикладной и промышленной математики[22] (Сайт ТВП)
- Проблемы прогнозирования[23]
- Заводская лаборатория[24]
- Математическая биология и биоинформатика[25]
Замечание. Название журнала иногда слабо связано с его тематикой. |
Подаем статью в редакцию
Статья написана, нужно:
- прочитать ее громко вслух,
- дать почитать рецензенту, получить критические замечания, доработать.
Затем переходим к формированию пакета документов.
- Делаем перевод названия статьи, аннотации, ключевых слов, на английский язык, внимательно вычитываем. Вставляем этот блок (название, авторы, аннотация, ключевые слова) в конец статьи.
- Находим подходящий УДК, ставим в первую строку, до заголовка статьи.
- Собираем файл tex>pdf, проверяем название: «Author2011Title.pdf» (фамилия автора и первое или ключевое слово названия статьи).
- Читаем раздел «Авторам, требования к оформлению статей» на сайте журнала, выполняем эти требования.
- Если журнал принимает статьи TeX, то посылаем файлы .pdf, .tex и .eps. Рисунки .eps должны компилироваться из одной папки со статьей, из названия должны иметь вид «Author2011Title_Fig1.eps». Если журнал предлагает стилевой файл (.sty, .cls) компилируем с ним, если не предлагаем, пользуемся по умолчанию стилем atricle.
- Если журнал принимает статьи MS-Word, то пользуемся конвертором LaTeX-to-Word; то, что он не сделал, дорабатываем руками. Замечание: рисунки для MS-Word лучше всего записывать не в формате .eps, а в формате .emf.
- Делаем файл «Сведения_об_авторах.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,
- если без указания что нужно делать, то считаем, что редколлегия отвергла статью в вежливой форме (хотя нужно было отвергнуть явно),
- статья действительно плохо написана, советуемся с коллегами/научными руководителями, они вам скажут, что думают о вашей работе.
- Ответа из редколлегии нет — плохо, статью либо потеряли, либо работа редколлегии плохо организована, добиваемся ответа.
Работа с редактором
Перед публикацией статьи может прийти письмо с предложением встретиться с редактором журнала для технической правки текста. Рекомендуется пойти, познакомиться с редактором и поработать вместе над статьей. Это занимает два-четыре часа. Результат — статья, приведенная в соответствие со стандартами и с нормами русского языка. Вариант: редактор присылает технические правки в файле PDF, автор их принимает или отвергает.
- Совет консультантам. Желательно править статью вместе при встрече. Пример общепринятой рукописной редакторской правки тут, PDF.
Как подать статью в международный журнал
TODO к апрелю 2012: написать, на что нужно обратить внимание при подаче статью в журнал с высоким импакт-фактором.
Что сделать
- Найти журналы опубликовавшие статьи, на которые нужно сослаться. В работе, подаваемой в журнал, желательно иметь 3-5 ссылок на его ранние номера (1-4-летней давности). В идеале нужно найти журнал, содержащий статьи, в которых предлагается "почти то же самое", что и в подаваемой статье. Желательно иметь список из 3-7 журналов. (Предпочтение научного руководителя - IF 2.0-4.0, но можно и меньше).
- Журналы искать в коллекциях
- Elsevier
- Taylor&Francis
- Springer
- Hindawi Publishing Corporation
- Других (пополнить)
- Найденные журналы должны быть в списках ВАК, то есть «включены в хотя бы одну из систем цитирования Web of Science, Scopus, Web of Knowledge, [], Mathematics, [], Springer»[26].
- Вставить ссылку (платный вход во все перечисленные системы?[27])
- Возможно, похожа база ScienceDirect (там ссылка на SciVerse, они что, все слились в одну систему?).
- Найти статьи, опубликованные за последние восемь лет, на которые опирается подаваемая статья. Желательно иметь список из 20 статей.
- Статьи искать по всему интернету, включая платные коллекции. Желательно ссылаться на статьи из журналов списка SicenceDirect/WebOfKnowledge.
Список журналов
- Journal of Statistical Planning and Inference IF=0.691
- IEEE PAMI IF=?
- JMLR IF=2.94.
- Журналы ВАК по тематике ресурса
- Черновик в обсуждении этой страницы
Коллекции и наукометрические системы
- ScienceDirect
- Thomson Reuters
- SciVerse
- Publish or Perish
- Microsoft Academic Search
- Science Citation Index на Википедии
Ликбез от Elsevier
- Preparing your Manuscript
- Using Proper Manuscript Language
- Structuring an Article
- Edit checklist
- Article highlights
- Article of the future
Методические рекомендации преподавателю
- При подготовке курса заручиться поддержкой экспертов, убедиться что они готовы предоставить необходимые данные в нужный срок. Согласовать с экспертами предполагаемые темы задач.
- Заручиться поддержкой консультантов, с каждым из них на основе предоставленного списка задач договориться о желаемой теме исследования.
- Разработать структуру курса: разбить весь объем работ на недельные этапы, соответствующие основным этапам выполнения исследования и написания статьи; создать расписание с планами лекций и домашними заданиями.
- Для обеспечения взаимодействия студентов и консультантов:
- определить роль консультантов в рамках каждого пункта плана курса,
- убедиться, что консультанты понимают какие результаты ожидаются по каждой подзадаче,
- дать четкие критерии оценивания студенческих работ.
- В ходе курса проводить занятия с группой, обеспечивая студентам необходимую базу знаний и задавая общее направление работ.
- Знакомить студентов с основными принципами написания научного текста: согласно плану курса, на лекциях приводить примеры написания основных разделов научной статьи.
- Уделять часть лекции разбору домашних заданий. При разборе систематизировать распространенные ошибки.
- Собирать анкеты-рефлексию с целью понять
- всем ли ясна поставленная задача или текущий этап работы,
- сколько времени в среднем уходит на выполнение каждого этапа работы,
- основные сложности, возникающие у студентов при выполнении заданий,
- насколько эффективен процесс консультирования в каждой паре студент-консультант.
- Организовать презентации студенческих работ в ключевые этапы написания работ: краткое описание задачи и предполагаемых путей решения в начале семестра, анализ первичных результатов вычислительного эксперимента в середине и финальный отчет-презентацию проделанной работы в конце семестра.
- NB The classical unities or Aristotelian unities, or three unities
На лекциях, заметки преподавателю (устарело)
- 1 лекция: вводная, плюс показ инструментов.
- 2 лекция: введение в Матлаб (общий рассказ о роли Матлаба в программировании) / проверить как поставился софт.
- 3 лекция: структура научной статьи, плюс легкие задачи на программирование / проверить ДЗ2 + конструкции Матлаб и ТеХ.
- 4 лекция: проверка и обсуждение написанного кода (все работы)
- 5 или 6 лекция: постановка задач.
Резюме. Сократить материал не получается даже для ровной группы, курс стабилизировался.
- технология работы над статьей,
- способы постановки задач в ML (третье занятие),
- формулировка теорем и оформление доказательств (откуда берутся и зачем нужны теоремы) ,
- полнота материла (сколько материала необходимо дать, чтобы работу понимал не только автор, но и читатель),
- построения предложений (собрать список неудачных фраз) (сделано),
- типографика в (сделано),
- написание рецензий,
- написание заявок на гранты,
- перевод на английский язык,
- международные доклады,
- пример работы DOI:10.1016/j.camwa.2010.03.021 (Penalty ~ $270).
- locate a DOI
NB лекционные заметки о карьере
Карьера:
- Академическая (исследования и преподавание)
- Промышленная (исследования и разработки)
- Финансовая (анализ и разработки)
- Управление (анализ и принятие решений)
Поиск работы и карьера исследователя в академии и на производстве
История развития курса
Данный курс является первой частью цикла
- Численные методы обучения по прецедентам
- Автоматизация и стандартизация научных исследований
- Выполнение исследовательских проектов
- Руководство исследовательскими проектами
и подготовкой к основному теоретическому курсу Ранние версии:
Шаблон статьи для сайта 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 избранные работы по этому курсу публикуются в специальном журнале. Цель журнала — развитие методов проведения вычислительных экспериментов в области машинного обучения и интеллектуального анализа данных.
- Пилотный выпуск, 2010
- Номер 1, Май 2011
- Номер 2, Декабрь 2011
- Номер 3, Май 2012
- Номер 4, Декабрь 2012
Черновики простых задач по глубокому обучению
- Выборки: используются те, которые часто встречаются в статьях, легко скачать. Желательно, чтобы они выкачивались питоновскими пакетами автоматически.
- Boston: есть код загрузки в sklearn: http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html
- 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)
- CIFAR-10: есть код в TensorFlow (https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10/), Keras (https://keras.io/datasets/#cifar10-small-image-classification)
- Celeb-A: набор лиц знаменитостей с 40 булевыми атрибутами для каждого лица, выборка достаточно часто упоминается в работах по GAN http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html
- Frey Faces: игрушечный датасет с лицом одного человека, часто используется в статьях по генеративным моделям https://cs.nyu.edu/~roweis/data.html
- Текстовые корпусы из nltk, выкачиваются в одну команду https://www.nltk.org/book/ch02.html
- По задачам:
- В работе по GAN'ам (https://arxiv.org/pdf/1709.06548.pdf) был очень простой эксперимент на паре выборок <картинки из MNIST, транспонированные картинки из MNIST>, где сеть училась делать транспонирование, при этом задача рассматривалась как semi-supervised. Можно попробовать изучить, какое количество объектов потребуется простому автокодировщику, чтобы выучить операцию транспонирования.
- В статье (https://omoindrot.github.io/triplet-loss) рассматривались различные подходы к Metric Learning на основе триплетов. Можно провести сравнение стратегий Hard triplets, Easy triplets, Semi-hard triplets и случайных триплетов для какой-нибудь выборки. Результатом может быть визуализация, схожая с последним графиком из статьи.
- В работе (https://arxiv.org/pdf/1711.00464.pdf) рассматривается модификация функции потерь вариационного автокодировщика с разными коэффициентами на D_KL и ошибку реконструкции. Если коэффициент D_KL высокий - то модель хорошо работает как генеративная, если коэффициент D_KL низкий, то модель лучше восстанавливает исходную выборку. Можно повторить схожий эксперимент с лицами, получится наглядный график, как Figure 4 из статьи.
- Можно обучить модель перевода или что-то похожее на Seq2Seq: https://blog.keras.io/a-ten-minute-introduction-to-sequence-to-sequence-learning-in-keras.html Интересно было бы посмотреть как меняется перевод при снижении количества параметров.
- Есть простой пример посимвольной генерации текста на Keras: https://github.com/keras-team/keras/blob/master/examples/lstm_text_generation.py Здесь можно поэкспериментировать с температурой при генерации.