forked from spbu-se/matmex-diploma-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
040_experiment.tex
118 lines (94 loc) · 10.6 KB
/
040_experiment.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
% !TeX spellcheck = ru_RU
% !TEX root = vkr.tex
\section{Эксперимент}
Как мы проверяем, что всё удачно получилось.
Если работа рассчитана на несколько семестров и в текущем до эксперимента дело не дошло, опишите максимально подробно, как он будет прово\-диться и на чём
(то, что называется \emph{дизайн эксперимента}~--- от того, что и как Вы будете проверять, очень сильно зависит, что Вы будете делать, так что это важно и делается \emph{не} после реализации).
\subsection{Условия эксперимента}
Железо (если актуально);
версии ОС, компиляторов и параметры командной строки;
почему мы выбрали именно эти тесты; входные дан\-ные, на которых проверяем наш подход, и почему мы выбрали именно их.
\subsection{Исследовательские вопросы }
По-английски называется \emph{research questions}, в тексте можно ссылаться на них как RQ1, RQ2, и т.~д.
Необходимо сформулировать, чего мы хотели бы добиться работой (2 пункта будет хорошо):
\begin{description}
\item[RQ1]: правда ли предложенный в работе алгоритм лучше вот таких-то остальных?
\item[RQ2]: насколько существенно каждая составляющая влияет на улучшения?
(Если в подходе можно включать/выключать какие-то составляющие.)
\item[RQ3]: насколько точны полученные приближения, если работа строит приближения каких-то штук?
\item и т.п.
\end{description}
Иногда в работах это называют гипотезами, которые потом проверяют.
Далее в тексте можно ссылаться на исследовательские вопросы как \textsc{RQ}, это обще\-при\-нятое сокращение.
\subsection{Метрики}
Как мы сравниваем, что результаты двух подходов лучше или хуже:
\begin{itemize}
\item Производительность.
\item Строчки кода.
\item Как часто алгоритм \enquote{угадывает} правильную класси\-фикацию входа.
\end{itemize}
\noindent Иногда метрики вырожденные (да/нет), это не очень хорошо, но если в области исследований так принято, то ладно.
Если метрики хитрые (даже IoU или $F_1$-меру можно считать хитрыми), разберите их в обзоре, пояснив, почему выбраны именно такие метрики.
\subsection{Результаты}
Результаты понятно что такое.
Тут всякие таблицы и графики, как в таблице \ref{time_cmp_obj_func}.
Обратите внимание, как цифры выровнены по правому краю, названия по центру, а разделители $\times$ и $\pm$ друг под другом.
Перед написанием данного раздела имеет смысл проконсультироваться с литературой по проведению экспериментов~\cite{SmirnovCheatsheet}.
Скорее всего Ваши измерения будут удовлетворять нормальному распределению, в идеале это надо проверять с помощью критерия Кол\-могорова и т.п.
Если критерий этого не подтверждает, то у Вас что-то сильно не так с измерениями, надо проверять кэши процессора, отключать Интернет во время измерений, подкручивать среду исполне\-ния (англ. runtime), что\-бы сборка мусора не вмешивалась и т.п.
Если критерий удовлетворён, то необходимо либо указать мат. ожидание и доверительный/предсказы\-вающий интервал, либо мат. ожидание и среднеквадратичное отклонение, либо, если совсем лень заморачиваться, написать, что все измерения проводились с погрешностью, например, в 5\%.
Не приводите слишком много значащих цифр (например, время работы в 239.1 секунды при среднеквадратичном отклонении в 50 секунд выглядит глупо, даже если ваш любимый бенчмарк так посчитал).
Замечание: если у вас получится улуч\-шение производительности в пределах погреш\-ности, то это обязательно вызовет вопросы.
Если погрешность получилась значительной (больше 10-15\% от среднего), это тоже вызовет вопросы, на которые надо ответить, либо разобравшись, что не так (первый подозреваемый~--- мультимодальное распределение), либо более глубоко статистически проанализировав результаты (например, привести гистограммы).
В этом разделе надо также явно ответить на Research Questions или как-то их прокомментировать.
\subsubsection{RQ1} Пояснения
\subsubsection{RQ2} Пояснения
\begin{table}
\def\arraystretch{1.1} % Растяжение строк в таблицах
\setlength\tabcolsep{0.2em}
\centering
% \resizebox{\linewidth}{!}{%
\caption{Производительность какого-то алгоритма при различных разрешениях картинок (меньше~--- лучше), в мс., CI=0.95. За пример таблички кидаем чепчики в честь Я.~Кириленко}
\begin{tabular}[C]{
S[table-format=4.4,output-decimal-marker=\times]
*4{S
[table-figures-uncertainty=2, separate-uncertainty=true, table-align-uncertainty=true,
table-figures-integer=3, table-figures-decimal=2, round-precision=2,
table-number-alignment=center]
}
}
\toprule
\multicolumn{1}{r}{Resolution} & \multicolumn{1}{r}{\textsc{TENG}} & \multicolumn{1}{r}{\textsc{LAPM}} &
\multicolumn{1}{r}{\textsc{VOLL4}} \\ \midrule
1920.1080 & 406.23 \pm 0.94 & 134.06 \pm 0.35 & 207.45 \pm 0.42 \\ \midrule
1024.768 & 145.0 \pm 0.47 & 39.68 \pm 0.1 & 52.79 \pm 0.1 \\ \midrule
464.848 & 70.57 \pm 0.2 & 19.86 \pm 0.01 & 32.75 \pm 0.04 \\ \midrule
640.480 & 51.10 \pm 0.2 & 14.70 \pm 0.1 & 24 \pm 0.04 \\ \midrule
160.120 & 2.4 \pm 0.02 & 0.67 \pm 0.01 & 0.92 \pm 0.01 \\
\bottomrule
\end{tabular}%
%}
\label{time_cmp_obj_func}
\end{table}
\clearpage
\input{figures/bigtable}
\subsection{Обсуждение результатов}
Чуть более неформальное обсуждение, то, что сделано.
Например, почему метод работает лучше остальных?
Или, что делать со случаями, когда метод классифицирует вход некорректно.
\subsection{Угрозы нарушения корректности (опциональный)}
Если основная заслуга метода, это то, что он дает лучшие цифры, то стоит сказать, где мы могли облажаться, когда
\begin{enumerate}
\item проводили численные замеры;
\item выбирали тестовый набор (см. \emph{confirmation bias}).
\end{enumerate}
Например, если мы делали замер юзабилити нашего продукта по методике System Usability Scale, но в эксперименте участвовали Ваши друзья, которые хотят Вас порадовать, честно напишите об этом.
Честно напишите, какие меры были приняты для минимизации рисков валидности результатов эксперимента и, если это содержательно, почему их не удалось полностью исключить.
\subsection{Воспроизводимость эксперимента}
Это настолько важно, что заслуживает тут своего подраздела (в самой работе не надо, это должно естественно вытекать из разделов выше)~--- эксперимент должно быть можно повторить и получить примерно такие же результаты, как у Вас.
Поэтому выложите свой код, которым мерили.
Выложите данные, на которых мерили.
Или напишите, где эти данные взять.
Напишите, как конкретно запустить, в каком окружении, что надо дополнительно поставить и т.п.
Чтобы любой второкурсник мог выполнить все пункты и получить тот же график/таблицу, что у Вас.
Не обязательно это делать прямо в тексте, можете в README своего репозитория, но где-то надо.