глоссарий

Recall@k

Recall@k

Представьте, что вы ищете книгу в огромной библиотеке. Идеальная система показала бы её первой, но на практике выдаёт список из десяти вариантов — и важно, чтобы нужная книга в него попала. Именно это измеряет Recall@k: доля релевантных объектов, попавших в первые k позиций, среди всех релевантных. Если k=10, Recall@10 отвечает на вопрос: сколько нужного система уместила в десятку лучших.

Зачем это нужно? В поиске, рекомендациях, диалоговых ассистентах пользователь редко смотрит дальше первой страницы. Важна не просто способность найти всё, а найти всё достаточно высоко. Recall@k показывает, насколько модель понимает запрос, и позволяет сравнивать алгоритмы. Без неё легко получить систему, которая знает ответы, но ставит их на пятьдесят первое место — бесполезно.

Интуитивный пример: есть десять фото с Васей, система распознавания лиц должна их найти. Если в первых пяти позициях — четыре Васиных фото, Recall@5 = 0,4. Если в первых трёх — одно, Recall@3 = 0,1. Чем больше нужного вверху, тем выше метрика. Заметьте: Recall@k не штрафует за лишние неправильные объекты в выдаче, он смотрит только на полноту «короткого списка». Это отличает его от точности, которая следит за чистотой списка.

Прикладной пример — видеохостинг. По запросу «рецепт борща» есть двадцать полезных роликов. Если на первой странице десять результатов и среди них пять нужных, Recall@10 = 0,25 — показана четверть всего полезного контента. Низкий Recall@k означает, что пользователь не находит ответ и уходит. Поэтому разработчики стараются поднимать релевантное выше, даже жертвуя точностью нижних позиций.

Итог. Recall@k — измеритель «досягаемости» нужных ответов в пределах разумного окна выдачи. Он незаменим, когда важно, чтобы модель быстро показала истину человеку, который ленится листать дальше. Понимая эту метрику, вы осмысленно оцениваете качество поиска, рекомендаций и ранжирования — и понимаете, почему одна лента кажется «умнее», а другая — «бесполезной».