Широко применяется при оценке вопросно-ответного поиска (question answering, QA)
rank_i
ranki
Статистическая значимость
Статистическая значимость результатов поиска
Позволяет ответить на вопрос:
значим ли прирост на X% по мере M для данного набора из Q запросов?
либо прирост мог быть получен случайно
Используется аппарат математической статистики:
тесты для проверки гипотез
На практике - если сложный метод не дает статистически значимый прирост по сравнению с основным простым методом (baseline) => лучше взять простой метод
Общий принцип проверки на статистическую значимость
Выбирается тестовая статистика, по которой нужны сравнить две поисковые системы
Например, разность MAP
В качестве нулевой гипотезы предполагается, что между двумя системами нет разницы
Исследуем распределение тестовой статистики в предположении нулевой гипотезы
Вычисляем p-value, вероятность появления наблюдаемых значений тестовой статистики больше определенного уровня значимости (0.01;0.05)
Если значимость низка => отбрасываем нулевую гипотезу, иначе => системы не различаются
Тест Фишера (Fisher's Randomization Test)
Допустим системы A и B идентичны (нулевая гипотеза)
Разность MAP - тестовая статистика
Значит существует система N, которая генерирует результаты для запросов из Q и случайно помечает их то A, то B => способов
Любые перестановки меток равновероятны
Одна из таких перестановок - наблюдаемая, пусть с результатом: MAP(A) = 0.258, MAP(B)=0.206
Считаем разность MAP на всевозможных перестановках
Считаем количество случаев S, когда разность MAP по модулю >= наблюдаемой 0.258-0.206=0.052
p-value (two-sided)
Обычно слишком велико, рассматривают случайную выборку, напр.,
2^{Q}
2Q
2^{Q}
2Q
=\frac{S}{2^Q}
=2QS
2^{Q}
2Q
10^5
105
Тест Фишера (Fisher's Randomization Test)
Разность MAP на перестановках
10^5
105
Наблюдаемые MAP
Пусть S=1380 => p-value=
Пусть уровень значимость p<0.05
=> c вероятностью (1-p)=95% можно отбросить нулевую гипотезу и признать, что система A статистически значимо лучше системы B
1380/10^5=0.0138
1380/105=0.0138
Подсчет со скользящим контролем
Мотивация
В некоторых функциях ранжирования есть параметры, для которых необходимо подобрать оптимальные значения для наилучших результатов
параметры k1, b в BM25
параметры сглаживания в языковых моделях
машинное обучение ранжированию
Как корректно сравнить модели, требующие оптимизацию?
=> разделить множество поисковых запросов на два: 1) на котором оптимизируем (обучающее) и 2) на котором проверяем оптимизированную модель (контрольное, тестовое)
Уменьшение эффективного множества запросов для оценивания?
Схема блочного скользящего контроля
Случайно разбиваем множество запросов на k подмножеств
Оптимизируем параметры модели на объединении k-1 множеств по отношению к некоторой мере оценивания (напр., MAP)