Отчет о выполнении исследовательского проекта (практика, В.В. Стрижов)
Материал из MachineLearning.
|
В этом семестре будут обсуждаться основы выполнения коммерческих исследовательских проектов, планирование работ, руководство проектами и написание отчетов о выполнении работ.
Мотивация
При выполнении средних и больших исследовательских проектов иногда происходит неструктурированное накопление наработанного материала. Объем этого материала настолько велик, что отчуждение проекта от исполнителя не представляется возможным. Также затруднена дальнейшая совместная работа над проектом.
Реинжиниринг такого проекта с целью его систематизации и упрощения требует опыта. Этот опыт сводится к выполнению небольшого числа «правил хорошего тона». В этом семестре мы попытаемся организовать работы над исследовательскими проектами таким образом, чтобы время вхождения постороннего исследователя в любой проект было минимальным.
Как пример, приведем феномен недоверия к чужому коду. Программист, который принимает для доработки чужой код, испытывает затруднения в работе и желает переписать этот код в своем стиле. При повторной передаче кода проблема сохраняется. Цель – написать такой код, который с удовольствием будет приниматься другими.
Ниже приведен план отчета с краткими комментариями. Все элементы ведения работ, обсужденные в прошлом семестре сохраняются.
Результаты выполнения проекта
Результатом является отчет, в котором приводится:
- Описание проекта
- Постановка задачи
- Описание алгоритмов
- Описание системы
- Отчет о вычислительном эксперименте
- Отчет о полученных результатах
1. Описание проекта
Текстовое описание проекта предназначено для фиксации понимания целей, методов и результатов проекта. В каждом разделов описания должно быть несколько предложений, достаточно детализирующих описание проекта для того, чтобы принять решение о его выполнимости и успешности.
1.1. Цель проекта (основная цель исследований, ожидаемые результаты)
1.2. Обоснование проекта (область применения результатов проекта)
1.3. Описание данных (описание данных, включающее форматы и структуры данных)
1.4. Критерии качества (описание критериев качества моделирования данных или целевых функций)
1.5. Требования к проекту (условия успешного завершения проекта)
1.6. Выполнимость проекта (возможные риски и сложности, связанные с выполнением проекта)
1.7. Используемые методы (краткое перечисление предполагаемых методов)
2. Постановка задачи
Математическая постановка задачи, включающая в себя описание данных на языке теории множеств и описание функционала качества.
3. Описание алгоритмов
В данном разделе должно находиться математическое описание решения задачи с обоснованием выбора алгоритмов (оформленное как в прошлом семестре, но с нижеприведенной детализацией).
3.1. Краткий обзор литературы о применении алгоритмов для решения данной задачи
3.2. Базовые предположения или гипотезы, лежащие в основе алгоритма
3.3. Полное математическое описание алгоритма, позволяющее его запрограммировать
3.4. Все варианты или модификации, из которых требуется выбрать лучшие по результатам вычислительного эксперимента
Список литературы находится в последнем разделе отчета.
4. Описание системы
Описание программной системы, разработанной для проведения вычислительных экспериментов. Содержание данного раздела должно находится в файле systemdocs.doc. Ниже перечслены основные пункты.
4.1. Описание архитектуры системы
Выполняется в соответствии со стандартом IDEF0.
4.2. Описание модулей
Выполняется в соответствии с Соглашением о документировании функций Matlab. Оформление функций должно соответствовать рекомендациям Matlab Programming Style Guidelines.
4.3. Описание тестов
Выполняется с помощью системы юнит-тестирования.
4.4. Кросс-рецензирование функций
Выполняется после окончания работ 4.1., 4.2., 4.3. Исследователь самостоятельно выбирает двух рецензентов. При этом рецензенты составляют протокол рецензирования системы. См. образец протокола резензирования.
5. Отчет о вычислительных экспериментах
Выполняется в формате Matlab, сохраняется в html, при возможности печатается в pdf. Отчет о вычислительных экспериментах должен содержать (в рекомендательном порядке) следующие части.
5.1. Визуальный анализ работы алгоритма:
- на модельных данных, отвечающих исходным предположениям;
- на модельных данных, отклоняющихся от исходных предположений;
- на некорректных данных, с вниманием к обработке некорректностей;
- на реальных данных различной природы.
5.2. Анализ качества работы алгоритма по заданным критериям качества, в сравнении с выбранным базовым алгоритмом, а также при сравнении модификаций между собой.
5.3. Анализ зависимости работы алгоритма от параметров:
- определение подходящих процедур выбора оптимальных параметров алгоритма (перебор, более тонкая оптимизация, самоадаптация, другие специфичные для алгоритма процедуры);
- анализ устойчивости работы алгоритма по параметрам.
В результате этого этапа определяются возможности алгоритма, сравниваются между собой различные модификации, строятся детализированные отчеты о поведении алгоритма.
6. Отчет о полученных результатах
Краткое описание полученных результатов в терминах п.п. 1.4., 1.5. (качества решения задачи и выполнения поставленных требований).