Почему F1-score считается гармоническим средним precision и recall, а не арифметическим
Что проверяют
Понимаете ли вы свойства формулы или просто помните её вид. Хороший ответ объясняет, почему арифметическое среднее здесь врёт, и переходит к тому, как метрика выбирается под цену ошибок.
Как отвечать
Precision и recall это доли с разными знаменателями: precision делится на число объектов, названных положительными, recall на число реально положительных. Усреднять такие величины арифметически неправильно, гармоническое среднее и есть подходящее среднее для отношений.
Практическое следствие важнее формальной причины: гармоническое среднее тянется к меньшему из двух значений и наказывает перекос.
precision = 0.9, recall = 0.1
арифметическое среднее = 0.5
F1 = 2 * 0.9 * 0.1 / (0.9 + 0.1) = 0.18Классификатор, который отвечает «положительный» только на одном самом уверенном объекте, получит почти единичную точность и почти нулевую полноту, и арифметическое среднее отчитается о половине. F1 такой трюк не пропускает: он не превышает удвоенного минимума из двух метрик и обращается в ноль, если хоть одна из них ноль.
Полезно добавить, что F1 это частный случай F-меры при весе, равном единице, то есть осознанное решение считать ложную тревогу и пропуск одинаково дорогими. Если пропуск дороже, берут вес больше единицы, если наоборот, меньше. И что истинно отрицательные в F1 не входят вовсе, поэтому на перекошенных классах он честнее доли верных ответов.
Где спотыкаются
Объясняют выбор словами «чтобы штрафовать перекос» и на этом останавливаются. Это описание эффекта, а не причины. Ответ становится убедительным, когда названы разные знаменатели и показан численный пример, где арифметическое среднее хвалит бесполезную модель.
Второе: считают F1 универсальной целевой метрикой. Она склеивает два вида ошибок в одно число при неявном допущении, что они равноценны. Если это не так, честнее показать кривую точности и полноты и обосновать выбранный порог, а не оптимизировать одну цифру.
Третье: в многоклассовой задаче называют F1 без способа усреднения. Macro считает все классы равными, micro при одной метке на объект сводится к доле верных ответов, weighted маскирует провал на редком классе. Без уточнения число не значит ничего.