Численные методы обучения по прецедентам (практика, В.В. Стрижов)
Материал из MachineLearning.
(→Домашнее задание-E: анализ ошибки) |
(→Домашнее задание E: анализ ошибки) |
||
Строка 582: | Строка 582: | ||
=== Домашнее задание E: анализ ошибки === | === Домашнее задание E: анализ ошибки === | ||
Запустить базовый эксперимент, проанализировать его результаты. | Запустить базовый эксперимент, проанализировать его результаты. | ||
- | # | + | |
+ | === Домашнее задание-E: анализ ошибки === | ||
+ | |||
+ | Анализ ошибки в вычислительных экспериментах как анализ изменения функции ошибки при изменении состава выборки или при прочих изменениях условий эксплуатации модели. | ||
+ | |||
+ | Начальные требования для анализа. | ||
+ | # Задана стратегия разбиения скользящего контроля. | ||
+ | # Поставлена задача оптимизации параметров. | ||
+ | # Задан набор внешних (эксплуатационных) критериев качества модели. | ||
+ | # Для набора разбиений получен | ||
+ | #* набор значений векторов оптимальных параметров, | ||
+ | #* набор значений функции ошибки на обучении и на контроле. | ||
+ | # Получен набор значений внешних критериев на обучении и контроле. | ||
+ | |||
+ | Анализ ошибки содержит следующие базовые [[Проверка статистических гипотез|статистические тесты]]. | ||
+ | # Анализ состава выборки: | ||
+ | ## анализ [[Простая выборка|простоты выборки]] по отдельным признакам (гистограммы признаков), | ||
+ | ## анализ мультикоррелированности признаков, в частности анализ [[Ковариационная матрица|корреляционных или ковариационных матриц]] (визуализация результатов [https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7 факторного анализа], [[Метод Белсли|метода Белсли]], [[VIF]], в частности, при [[Использование метода Белсли для прореживания признаков | ||
+ | |изменении состава признаков]]), | ||
+ | ## тест [http://strijov.com/papers/AduenkoObjectSelection_RV.pdf наличия выбросов] в выборке (визуализация изменения функции ошибки при исключении выбросов), | ||
+ | ## тест [http://www.machinelearning.ru/wiki/images/0/03/Neychev2016BSThesis.pdf наличия мультимоделей] (снижение ошибки при, например, использовании стратегии бустинга) | ||
+ | ## оценка [[http://strijov.com/papers/MotrenkoStrijovWeber2012SampleSize_ICACM.pdf необходимой мощности выборки] (по оси абсцисс - число объектов, по оси ординат - ошибка на обучении и ее стандартное отклонение), | ||
+ | ## оценка необходимого числа признаков (по оси абсцисс - последовательно добавляемые признаки; признаки добавляются, например, по убыванию скорости изменения ошибки - т.н. ускорение и торможение ошибки)). | ||
+ | # Анализ дисперсии параметров и функции ошибки | ||
+ | ## анализ стандартного отклонения функции ошибки (внутреннего критерия) и внешних критериев (в частности, визуализация ROC - обучение и контроль на каждом из разбиений), | ||
+ | ## анализ изменения функции ошибки на итерациях оптимизации (ось абсцисс - итерации, ось ординат функция ошибки на обучении, контроле и ее стандартное отклонение), | ||
+ | ## анализ изменения параметров и гиперпараметров модели (по оси абсцисс - итерации, по оси ординат - набор параметров, лапша и их стандартные отклонения или гиперпараметры), | ||
+ | ## анализ изменения параметров и функций ошибки при из изменении структурных параметров или регуляризаторов (они по оси абсцисс, по оси ординат - не забываем о стандартном отклонении, получаемом скользящим контролем). | ||
+ | # Сложность алгоритма оптимизации функции ошибки в зависимости от объема выборки | ||
+ | ## теоретическая, | ||
+ | ## эмпирическая, | ||
+ | ## аппроксимация эмпирической функции теоретической (по оси абсцисс - объем выборки, число признаков, число кластеров). | ||
+ | # Анализ свойств модели с помощью внешних критериев, учет возможных ограничений на параметры и структуру модели | ||
+ | ## построение парето-оптимального фронта множества моделей, из которых производится выбор. | ||
'''Материалы по домашнему заданию''' | '''Материалы по домашнему заданию''' | ||
+ | *Критерии качества линейных моделей [http://strijov.com/papers/Katrutsa2014TestGenerationEn.pdf раз], [http://strijov.com/papers/Katrutsa2016QPFeatureSelection.pdf два]. | ||
+ | * Коллекция графиков, ассорти[https://sourceforge.net/p/mvr/code/HEAD/tree/lectures/MachineLearningResearch/ComputationalExperiment/fig_compilation_slides.pdf?format=raw], версия для загрузки [[Media:Fig_compilation_slides_stable.pdf|слайды, PDF]]. | ||
+ | * [[Media:Strijov2018FeatureSelecttion.pdf|Linear model feature selection slide]] | ||
+ | * 11 Important Model Evaluation Techniques Everyone [https://www.datasciencecentral.com/profiles/blogs/7-important-model-evaluation-error-metrics-everyone-should-know Should Know (datacentral)] | ||
+ | * [https://www.datasciencecentral.com/profiles/blogs/how-bayesian-inference-works How Bayesian Inference Works (datacentral)] | ||
* Анкета с вопросами по [Домашнему заданию Е будет тут]. | * Анкета с вопросами по [Домашнему заданию Е будет тут]. | ||
* Анкета с вопросами по [лекциям и семинарам будет тут 19 ноября с 18:35 до 19:45]. | * Анкета с вопросами по [лекциям и семинарам будет тут 19 ноября с 18:35 до 19:45]. |
Версия 10:54, 12 ноября 2018
Анкеты, домашние задания и материалы по курсу Автоматизация научных исследований в машинном обучении
|
Введение
Автоматизация научных исследований — практические занятия, посвященные изучению методов научной работы и выполнения исследовательских проектов в области машинного обучения и анализа данных. Задачей студентов является исследование свойств алгоритмов прогнозирования. Целью работы является написание научной статьи с элементами научной новизны с последующей подачей в научный журнал. В процессе работы студенты изучают методы и технику написания научных статей и проведения вычислительных экспериментов, а также сопутствующие этому процессу технологии — язык разметки научных текстов LaTeX, формат представления библиографической записи BibTeX, язык программирования высокого уровня m-code.
Работа включает следующие этапы: сбор и анализ литературы, математическая постановка задачи, описание метода решения задачи и исследование его свойств, проведение вычислительного эксперимента. Каждому студенту предлагается персональная тема, по которой он анализирует публикации отечественных и зарубежных исследователей за последние десять лет, ставит задачу и делает доклад для группы о полученных результатах. Далее выполняется математическое описание метода, делается промежуточный доклад о состоянии работ. Последним шагом работы становится вычислительный эксперимент, иллюстрирующий свойства метода и использующий синтетические или реальные данные. Каждая статья рецензируется одногруппниками автора, работы синхронизируются на сайте SourceForge.org, проект «MLAlgorithms».
Цели: 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
Задачи
Ссылка на страницу курса | Описание |
---|---|
ФУПМ, ФРТК, осень 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 балл по системе (А--, А-, А, А+, А++),
- Несделанная работа - 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 с описанием процедуры решения задачи. Не хватает: краткого отчета о полученных результатах, описания рисунков.
Материалы по домашнему заданию
- Слайды второй лекции.
- Простой пример выбора моделей: линейная регрессия, раздел криволинейные модели.
- Анкета с вопросами по Домашнему заданию 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: выбор задачи, аннотация
- Выбрать задачу и записать свои предпочтения в анкету.
- Задачу надо выбрать до 23:59 сегодня, в понедельник 1 октября 2018.
- Распределение по проектам состоялось. Записывайтесь в таблицу Проекты: результаты.
- Выбрать координатора в группе, попросить его организовать встречу с консультантом проекта.
- Обсудить с консультантом проект, понять цели, задачи, проблемы.
- Найти в организации https://github.com/Intelligent-Systems-Phystech репозиторий своего проекта или создать его с названием формата 2018-Project-N, пример.
- Записать ссылку на репозиторий в таблицу.
- Создать в репозитории общие папки code, data, report.
- Создать личную папку в репозитории проекта, название в формате Surname2018Title.
- Поместить файл (из ДЗ 1) с шаблоном статьи в личную папку, название в формате Surname2018Title.tex.
- Записать ссылку на файл PDF с текстом статьи из личной папки в таблицу в формате [http Имя Фамилия].
- Совет: копируйте ссылку как адрес кнопки Download файла PDF, который находится в репозитории.
- Создать документ-черновик обзора литературы формата LinkReview, поставить на него ссылку в таблицу.
- Рекомендуется кроме литературы заносить в LinkReview ссылки на источники данных, на код и библиотеки.
- Совет: создать групповой чат, поставить на него ссылку-приглашение в таблицу.
- Написать черновик аннотации.
- Аннотация не более 600 символов. Строится по примерному плану:
- чему посвящена работа в целом,
- на чем сконцентрировано исследование,
- в чем особенности исследования,
- [что новое предлагается],
- какими примерами проиллюстрирована?
Важно: код и результаты проекта общие, над изложением каждый работает сам лично в тексте рукописи. Завершенные тексты объединяются в общую рукопись для публикации. |
Материалы по домашнему заданию
- Примеры целеполаганий.
- Примеры черновиков обзоров литературы LinkReview раз, два.
- Примеры аннотаций.
- Анкета с вопросами по Домашнему заданию A.
Домашнее задание L: сбор и чтение литературы
- Собрать литературу по проекту:
- Современные обзоры проблемы, включая tutorials
- Фундаментальные методы решения проблемы
- Базовый алгоритм решения задачи
- Альтернативные алгоритмы
- [Изменения в направлениях исследований]
- Выборки по задаче
- Статьи, ссылающиеся на выборки
- Выборки, похожие по структуре
- Применение результатов решения задачи
- Исследователи, решавшие задачу
- Их аспиранты, команды
- Те, кто ссылается на исследователей
- Те, на кого ссылаются исследователи
- Учесть рекомендации по времени появления публикации (сбалансировать ссылки на новые и классические работы)
- Подготовить, пополнять, изменять список ключевых слов
- Заполнить файл LinkReview
- Спланировать раздел Введение (оно пишется в следующем ДЗ)
- Ключевые слова (основные термины; можно использовать те, которые дали хорошие результаты поиска)
- Введение (около страницы); ниже — по абзацам, примерный план
- Основное сообщение — чему посвящена работа (одна-две фразы)
- Обзор литературы — развитие предлагаемой идеи (не более двух абзацев)
- Современное состояние области (два-четыре абзаца)
- Что предлагается (два абзаца)
Материалы по домашнему заданию
- Примеры целеполаганий.
- Примеры аннотаций.
- Методические рекомендации выполнения исследовательских проектов в коммерческой фирме.
- Простое введение в нейросети
- Проект-стартап, пример отчета от Владимира Жуйкова.
- Демотиватор
- Анкета с вопросами по Домашнему заданию L.
Домашнее задание 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/]
- План постановки задачи к обсуждению на следующем семинаре
- Анкета с вопросами по Домашнему заданию I.
Домашнее задание 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
- Пример простого и удобного стилевого файла с обозначениями
- Анкета с вопросами по Домашнему заданию S
Домашнее задание B: описание базового алгоритма
Требуется указать базовый алгоритм и запустить его на простой синтетической выборке.
- Запустить базовый алгоритм.
- Для этого вместе с консультантом найти наиболее простой алгоритм, решающий поставленную задачу (возможно, в частичной постановке).
- Подготовить синтетические данные (или взять несложные реальные, небольшую выборку).
- Запустить алгоритм на синтетических данных, вычислить ошибку.
- Кратко описать базовый алгоритм, проанализировать его свойства, перечислить модели-претенденты. Варианты описания:
- Описание - указание на название черного ящика. Желательно указывать на источник, где содержимое черного ящика описывается подробно. Указывать структурные параметры черного ящика.
- Описание модели как отображения из пространства описания объектов в пространство целевых переменных. При этом можно указать на алгоритм оптимизации параметров модели в виде черного ящика.
- Описание модели и алгоритма оптимизации его параметров в виде псевдокода.
Материалы по домашнему заданию
- Бахтеев О.Ю. Системы и средства глубокого обучения, статья
- Мотренко А.П. Повышение качества классификации, статья
- Исаченко Р.В. Снижение размерности в задаче декодирования, статья
- Построение выборки в задачах прогнозирования, слайды
- Зоопарк нейросетей от Ильи Жарикова.
- Постановка задачи прогнозирования дефолтов по картам на год вперед, слайды
- Постановка задачи анализа биржевых европейских опционов, слайды
- Анкета с вопросами по Домашнему заданию B
Домашнее задание D: планирование эксперимента
Распланировать базовый вычислительный эксперимент, построить синтетическую выборку, сделать описание эксперимента.
- Обсудить с руководителем и командой основную цель эксперимента.
- Записать цель эксперимента в раздел "Вычислительный эксперимент"
- Описать базовую (синтетическую или несложную реальную) выборку:
- указать название, источник, природу измерений,
- указать число объектов, признаков, другие характеристики,
- для синтетической выборки указать порождающую модель, ее параметры, условия порождения (например, случайное равномерное семплирование)
- Написать, в какой конфигурации запускается алгоритм.
- Спланировать таблицы и графики:
- составить их список (минимальный и полный варианты),
- записать название, что отложено по осям,
- в черновике карандашом нарисовать предполагаемый вид графиков.
- Совет: старайтесь загружать выборку из внешнего репозитория, чтобы эксперимент можно было удобно повторить. Если такого нет, то загрузить данные (включая одну из синтетических выборок) в свой. Согласуйте с руководителем и командой случай когда объем файла велик (например, превосходит 5 МБ), или если файлов много.
Материалы по домашнему заданию
- Примеры целеполаганий вычислительных экспериментов [см. работы пошлых лет]
- Краткое описание природы реальных данных см. например, Bishop C.P. Pattern recognition and machine learning, 2006. Pp. 677-683.
- Коллекция графиков, ассорти[1], версия для загрузки слайды, PDF.
- Анкета с вопросами по Домашнему заданию D.
Домашнее задание E: анализ ошибки
Запустить базовый эксперимент, проанализировать его результаты.
Домашнее задание-E: анализ ошибки
Анализ ошибки в вычислительных экспериментах как анализ изменения функции ошибки при изменении состава выборки или при прочих изменениях условий эксплуатации модели.
Начальные требования для анализа.
- Задана стратегия разбиения скользящего контроля.
- Поставлена задача оптимизации параметров.
- Задан набор внешних (эксплуатационных) критериев качества модели.
- Для набора разбиений получен
- набор значений векторов оптимальных параметров,
- набор значений функции ошибки на обучении и на контроле.
- Получен набор значений внешних критериев на обучении и контроле.
Анализ ошибки содержит следующие базовые статистические тесты.
- Анализ состава выборки:
- анализ простоты выборки по отдельным признакам (гистограммы признаков),
- анализ мультикоррелированности признаков, в частности анализ корреляционных или ковариационных матриц (визуализация результатов факторного анализа, метода Белсли, 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].
Полезные ссылки
Планируемые домашние задания по опыту Весна 2018
Домашнее задание BR: запуск базового алгоритма, отчет о запуске
- Показать на элементарном графике, что получен адекватный результат. См. оформление графиков.
- Написать мини-отчет о полученных результатах, полстраницы. Он включает:
- Краткое описание цели эксперимента.
- Краткое описания способа порождения выборки или краткое описание природы реальных данных (см. например, Bishop C.P. Pattern recognition and machine learning, 2006. Pp. 677-683).
- Краткое описание графика и комментарий полученных результатов.
- Постановку задачи и отчет поместить в текст статьи. Данные и код — в папки data, code.
- Выбрать задание, записать название,
автора и рецензента (с его согласия)в таблицу (см. группа 174, весна 2014). - Создать папку с названием проекта Surname2015Title в папку группы MLAlgorithms/Group274/. Создать там папки (doc, code,...), поместить в папку doc шаблон-заготовку статьи. См. раздел "Работа с репозиторием".
- Просмотреть/прочитать литературу, написать краткие авторефераты и вставить их во введение.
- На странице группы в колонке "Ссылка" поставить ссылку на папку и на PDF-файл статьи. Например folder, text, slides.
Домашнее задание B-talk: рассказ на 45 секунд о проекте
Короткий доклад о проекте и два вопроса от аудитории
План доклада:
- Цель проекта (чему посвящен проект, какова мотивация исследования)
- Центральная идея (в чем изюминка исследования)
- Ожидаемый результат (в чем вклад в область, вариант - в чем новизна)
В течение доклада не будет возможности показать слайд или нарисовать что-либо на доске. Рекомендуется отрепетировать доклад на время.
Домашнее задание CV: планирование и начальная поставновка эксперимента, визуализация
- Подготовить данные, объявленные в проекте. Загрузить их в репозиторий (в случае, если объем файла превосходит 5 МБ, или если файлов много, согласовывать это с консультантами).
- Описать цели вычислительного эксперимента, составить план эксперимента, описать данные.
- Описать дополнительные критерии качества модели и ограничения, если таковые имеются.
- Описать анализ ошибок, перечислить сравниваемые методы.
- Составить список графиков для визуализации результатов, описать графики.
- Выполнить вычислительный эксперимент в начальном варианте (на синтетических, и если возможно, реальных данных) и нарисовать графики. Коллекция графиков, ассорти[3], версия для загрузки слайды, PDF.
Домашнее задание-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 Здесь можно поэкспериментировать с температурой при генерации.