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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Результаты)
(Результаты)
Строка 62: Строка 62:
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/doc/Gasanov2017Systemdocs.doc sysdoc]
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/doc/Gasanov2017Systemdocs.doc sysdoc]
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/code code]
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/code code]
-
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/doc/idef idef0]
+
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/doc/Содержательный idef0]
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/doc/ProblemStatement.pdf problem]
[http://svn.code.sf.net/p/mlalgorithms/code/Group474/Gasanov2017ConnectionistModels/doc/ProblemStatement.pdf problem]
|[[Участник: Strijov|В.В. Стрижов]]
|[[Участник: Strijov|В.В. Стрижов]]

Версия 08:41, 8 февраля 2018

Содержание

Построение эксплуатируемых моделей

Цель: поставить задачу анализа данных и вычислительный эксперимент.

Задача: научиться выполнять прикладные проекты, отделять проектирование моделей от эксплуатации.

Метод: создание отчета вычислительном эксперимента.

Прежние работы

Результаты

Автор Тема научной работы Ссылка Руководитель Рецензент Буквы
Гончаров Алексей (пример) Метрическая классификация временных рядов code,

paper, slides

Попова Задаянчук BMF AILSBRCVTDSWH>
Алексеев Василий Выявление и отслеживание тем в новостном потоке folder

sysdoc codedoc problem

К.В. Воронцов BM MADLSA>I(FCUTPRNSV>)
Аникеев Дмитрий Неточный поиск цитат Paper Ю.В. Чехович BM M>A>(DLSAIF0)
Гасанов Эльнур Нейросетевые модели для анализа кортикограмм folder

sysdoc code idef0 problem

В.В. Стрижов BM MADLSAIF>CU>T[PRNSV]>
Захаренков Антон Порождение моделей методами структурного обучения folder

code doc idef0

В.В. Стрижов B0 M>A>(DLSAIF0)
Ковалев Дмитрий Вычислительные методы для модели стабильной динамики sysdoc

problem

Ю.В. Дорн B0 MAD>LS(AIF>)
Макарчук Глеб Сегментация медицинских изображений folder

slides

М.Г.Беляев BM M>A>D>L>S>A>(IF0)C>U>T>P>
Новицкий Василий Построение минимальных ДНФ булевых функций с малым числом нулей folder

idef0 slides sysdoc code

Ю.В. Максимов BM M>A>D>L>S>A>IF>C>U>
Рыбка Елизавета NoLink 18Oct В.В. Моттль BM ???
Селезнева Мария Построение и оценка качества гетерогенных иерархических тематических моделей folder

code

К.В. Воронцов B M>A>(DLSAIF0)
Смердов Антон Порождение и выбор моделей глубокого обучения NoLink 18Oct В.В. Стрижов B M>A>(DLSAIF0)
Уваров Никита Построение суперпозиции при прогнозировании временных рядов folder

sysdoc code idef0

В.В. Стрижов B M>A>(DLSAIF0)
Усманова Карина Среднесрочный прогноз запросов на грузоперевозки folder

idef

В.В. Стрижов B M>A>(DLSAIF0)
Шибаев Иннокентий Порождение признаков в задаче классифкации физической активности по измерениям акселерометра folder

idef0

В.В. Стрижов BM M>A>(DLSAIF0)
Шолохов Алексей Метод Франка-Вульфа для задач статистического оценивания большой размерности folder

idef0 sysdoc code report

Ю.В. Максимов B M>A>(DLSAIF0)

Работа и консультации

  1. Работы сдаются в течение недели.
  2. Дедлайн последней версии работы и выставление буквы: среда 6:00am.
  3. Каждый ставит буквы себе сам.
  4. Каждый этап работ буква A (при желании А-, А+). Мотивированный перенос работы — знак A>.
  5. Кто не поставил себе букву, тому ставится фундаментальный A0.
  6. Качество оценивается по презентациям и результату.

Расписание

Дата Что сделано Результат для обсуждения Буква
Сентябрь 6 Первая лекция. Представление нового курса, мотивация, организация работ.
13 Лекция и семинар. Планирование проекта.
20 Выбрана задача, рецензент. Заполнены разделы "Аннотация" и "Описание проекта" в Systemdocs шаблон Surname2017Systemdocs.doc‎. Запись в ML в список проектов по шаблону. Доклад ML, Annotation
27 Доклад на 45 секунд о своем проекте. Доклад B-talk
Октябрь 4 Собрана литература. Собрана и описана выборка, сделано описание данных. Описание данных. Список литературы. Data, Literature
11 Поставлена задача. Написаны математическая постановка в формате TeX и описание базового алгоритма. Постановка задачи и алгоритм. Statement, Algorithm
18 Разработана архитектура и интерфейс ядра системы. Архитектура описана в формате IDEF0. Описание архитектуры, интерфейсов в IDEF0. Idef, interFaces
25 Детализирован интерфейс, написан код. Код для реальных данных. Code
Ноябрь 1 Написаны юнит-тесты и модуль, их запускающий. Подготовлен доклад с обоснованием интерфейсов и IDEF-описания. Юнит-тесты, доклад M. Unit, M-talk
8 Собран и подготовлен эксперимент. Написаны и запущены системные тесты. Тесты, данные, эксперимент, доработанная схема IDEF0. Tests
15 Код оптимизирован. Отчет профайлера до и после. Profiler
22 Сделан визуальный отчет. Сделан интерфейс к эксплуатируемой модели. Завершенный отчет с экспериментом, код в формате Notebook. Report, Notebook.
29 Написана рецензия на работу. Доклад F. Slides, reView, F-talk

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

Подготовительное задание 13 сентября

  1. Получить доступ к проекту MLalgorithms на SourceForge через старосту группы, прочитать статью, загрузить MLalgorithms.
  2. Зарегистрироваться на сайте machinelearning.ru, послать логин старосте.
  3. В папке Group474 создать папку Surname2017ProjectName (см. Численные методы обучения по прецедентам (практика, В.В. Стрижов), раздел "Работа с репозиторием".)
  4. Подготовка инструментов: выполнить Домашее задание-1, часть 1 и 2 (часть 3 по желанию).

20 сентября

  • Выбрать задачу и подготовить доклад о выбранной задаче на 45 секунд. Содержание доклада включает:
  1. Существо и цели проекта.
  2. Важность и применимость задачи.
  3. Описание предполагаемых методов решения.
  • Создать описание проекта, заполнить разделы «Мотивация» (1.1.2) и «Литература» (1.1.3) в SystemDocs

27 сентября Подготовить доклад на 45 секунд, план прошлого семестра.

4 октября

  • Собрать литературу, в которой описано наиболее полное множество базовых алгоритмов - претендентов на внедрение и внести библиографические записи в SystemDocs.
  • Собрать выборку и описать форматы и структуры данных в разделе 1.4 SystemDocs: состав выборки, основные статистики.

11 октября Создать отдельный файл LaTeX c постановкой задачи и базовым описанием алгоритма, включающими

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


18 октября

  • Зафиксировать базовый алгоритм. (При необходимости, расширить список литературы, доработать постановку задачи.)
  • Сделать окончательное описание базового алгоритма.
  • Создать описание процедуры порождения выборки в формате IDEF0.
  • Создать двухуровневую схему в IDEF0 (разделы 1.2.2 и 1.2.3), разделяя стадии обучения и использования модели.
  • Заполнить раздел Выполнимость задачи/Feasibility. Уточнить границы применимости предлагаемых методов, прописать условия отказа от классификации.

25 октября

  • Описать интерфейсы (раздел 2 SystemDocs).
  • Написать код.

1 ноября

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

8 ноября

Анализ ошибки в вычислительных экспериментах как анализ изменения функции ошибки при изменении состава выборки

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

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

15 ноября

  • Используя профайлер, оптимизировать узкие места в коде. Проделанную работу описать в секции 5.3 systemdocs, используя отчеты профайлера и вставляя комментарии о проделанной работе.

На заметку:

  • Узкие места - те фрагменты кода, которые занимают значительное время при выполнении вычислительного эксперимента. Требуется показать, что при достигнуты улучшения кода при замене циклов на матричные операции или показать, что код достаточно хорошо оптимизирован. При этом необходимо в отчет вставить наиболее значимые строки из отчета профайлера. Это как правило, первые 10-15 строк. Копировать можно из html-отчета профайлера или воспользоваться функцией profile. В ней есть пример, как сохранить отчет профайлера в удобном формате. При оптимизации кода можно вставить в отчет те измерения кода, которые вы считаете удачными.
  • Также при оптимизации рекомендуется пользоваться функцией parfor - параллельный for. См. документацию "doc parfor" и пример, где показано как включать параллельный режим. Совет: конструкции вида x = x+1 или x(end+1) = y и подобные конструкции не распараллеливаются. Чтобы избежать таких конструкций, надо заранее создавать структуры/матрицы требуемого размера.

22 ноября

  • Оформление результатов в формате ipnb
    • Выделен и оформлен интерфейс к эксплуатируемой модели.
    • Сделан визуальный отчет.

29 ноября

  • Написать рецензию, [назвать файл YourSurname2014Review]. В заголовке рецензии - название работы, имя автора работы. В рецензии отражается, насколько качественно сделана система; удобно ли пользоваться документацией.
Важно: в рецензии должны быть отражены все ключевые элементы проекта, ML, Annotation,

Data, Literature, Statement, Algorithm, Idef, interFaces, Code, Unit, Tests, Profiler, Report, Notebook.


План рецензии:

  1. Введение и мотивация:
    • мотивация автора глазами рецензента
    • альтернативные источники информации
    • место работы в области
    • резюме по мотивации (актуальность и новизна)
  2. Техническая часть.
    1. Постановка задачи: подтвердить или предложить альтернативу с обоснованием
    2. IDEF: выразить мнение об организации структуры интерфейса, пояснениях, именовании переменных, детализации.
    3. Составлено ли описание структуры данных, списка модулей.
    4. Код:
      • читаемость,
      • наличие комментариев и вспомогательных файлов,
      • отступы и структура,
      • код работает отдельно от автора.
    5. Профилирование и SystemDocs.
    6. Вычислительный эксперимент.
      • Иллюстрации оформлены в соответствии с JMLDA/Figs.
  3. Резюме в целом, мнение рецензента о работе.
  • Подготовить доклад на 1-1,5 минуты о рецензируемой работе. Рецензией можно поделиться с автором и консультантом.
  • Используя результаты вычислительного эксперимента и системного тестирования, создать поясняющие графики и таблицы и поместить их в раздел 5.2. При оформления отчета желательно разделять текст по содержанию на адекватно поименованные параграфы. В отчет должны входить:
    • Визуализация процесса выбора модели и оптимизиции структурных параметров
    • Визуализации зависимости функции потерь от уровня шума или других факторов

Вне проекта. Детализация на странице обсуждения

Список проектов

Шаблон описания проекта

  • Название: Название, под которым статья подается в журнал.
  • Задача: Описание или постановка задачи. Желательна постановка в виде задачи оптимизации (в формате argmin). Также возможна ссылка на классическую постановку задачи.
  • Данные: Краткое описание данных, используемых в вычислительном эксперименте, и ссылка на выборку.
  • Литература: Список научных работ, дополненный 1) формулировкой решаемой задачи, 2) ссылками на новые результаты, 3) основной информацией об исследуемой проблеме.
  • Базовой алгоритм: Ссылка на алгоритм, с которым проводится сравнение или на ближайшую по теме работу.
  • Авторы: эксперт, консультант.

Задача 1

  • Название: Выявление и отслеживание тем в новостном потоке.
  • Задача: Выявить темы в накопленных за определённое время новостных сообщениях. Разбить накопленные сообщения на тематические цепочки.
  • Данные: Синтетическая коллекция монотематических текстов с временными отметками (по дням).
  • Литература:
  • Базовой алгоритм:
  • Авторы: Виктор Сафронов, К. В. Воронцов.

Задача 2

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