Dicipta oleh AIDiperbaiki oleh manusia
Riqli · dokumen hidup · dikemas kini secara berterusan
Di mana pengetahuan AI bertemu amalan manusia.
Kongsi dengan rakan

Оценка качества NLP-моделей (precision / recall / F1, human eval)
Введение: зачем оценивать качество NLP-моделей
Аннотация. Этот модуль посвящён практическим метрикам оценки качества NLP-моделей: precision, recall, F1-мере и организации человеческой оценки (human eval). Курс ориентирован на инженеров и аналитиков, которые обучают классификаторы текста, настраивают пороги срабатывания и готовят модели к продакшену.
Цель. Научить интерпретировать матрицу ошибок, выбирать метрику под бизнес-задачу и проводить базовую человеческую оценку качества модели.
Результаты обучения. После прохождения модуля вы сможете: 1) читать матрицу ошибок и объяснять разницу между FP и FN; 2) рассчитывать precision, recall и F1 по формулам; 3) выбирать метрику при дисбалансе классов; 4) организовывать простую схему human eval для оценки генеративных или классификационных моделей.
Целевая аудитория. Data Scientist, ML-инженер, NLP-разработчик, аналитик данных — все, кто работает с текстовыми моделями и хочет системно подходить к измерению их качества.
Матрица ошибок: четыре исхода бинарной классификации. Оценка качества NLP-модели начинается с матрицы ошибок (confusion matrix). В бинарной классификации каждое предсказание попадает в одну из четырёх категорий. True Positive (TP) — модель верно отнесла объект к целевому классу (например, нашла спам). True Negative (TN) — модель верно определила, что объект не принадлежит целевому классу (пропустила обычное письмо как обычное). False Positive (FP) — модель ошибочно отнесла объект к целевому классу (приняла нормальное письмо за спам). False Negative (FN) — модель не обнаружила целевой объект (пропустила спам в inbox). Эти четыре числа — фундамент всех метрик классификации .
Precision: точность положительных предсказаний. Precision отвечает на вопрос: «Когда модель говорит “да”, как часто она права?» Формула: . Знаменатель — все объекты, которые модель отнесла к целевому классу. Precision критичен в задачах, где ложное срабатывание дорого: фильтрация спама (нельзя терять важные письма), модерация контента (риск заблокировать нормальный комментарий), юридический поиск (риск предъявить ложное обвинение) .
Recall: полнота обнаружения. Recall отвечает на вопрос: «Сколько объектов целевого класса модель смогла найти?» Формула: . Знаменатель — все объекты, которые действительно принадлежат целевому классу. Recall критичен в задачах, где пропуск цели катастрофичен: медицинская диагностика (нельзя пропустить болезнь), поиск мошенничества (нельзя пропустить fraudulent transaction), информационная безопасность (нельзя пропустить атаку) .
F1-мера: гармоническое среднее precision и recall. Precision и recall обычно конфликтуют: снижая порог срабатывания, вы повышаете recall, но теряете precision; повышая порог — наоборот. F1-мера объединяет их в одну метрику: . Это гармоническое, а не арифметическое среднее: если хотя бы одна из метрик близка к нулю, F1 тоже резко падает. F1 удобен для сравнения моделей, особенно при дисбалансе классов .
Accuracy и ловушка дисбаланса. Accuracy — доля всех правильных предсказаний: . Метрика хорошо работает при сбалансированных классах, но при дисбалансе вводит в заблуждение. Пример: в датасете мошеннических транзакций доля fraud — 0,5%. Модель, которая всегда предсказывает «не мошенничество», даёт accuracy 99,5%, но не находит ни одного мошенничества. В таких случаях precision, recall и F1 информативнее .
Human eval: зачем нужна человеческая оценка. Автоматические метрики не всегда отражают реальное качество NLP-модели. Для задач генерации (перевод, summarization, диалог) и субъективных оценок (тональность, токсичность) применяют human eval. Базовая схема: аннотаторы получают выходы модели и оценивают их по критериям (релевантность, связность, фактологичность). Проблемы human eval: дорого, медленно, разброс между аннотаторами. Современный компромисс — LLM-as-judge: языковая модель выступает прокси-аннотатором, показывая корреляцию с человеческими оценками, близкую к корреляции между людьми .
Модель фильтрации спама на тестовой выборке из 1000 писем показала: TP = 80, FP = 20, FN = 40, TN = 860. Чему равен precision этой модели?
Precision = TP / (TP + FP). Подставляем значения: . Precision показывает, что из всех писем, которые модель назвала спамом (100 штук), 80 действительно оказались спамом.
В задаче обнаружения мошеннических транзакций доля мошенничества составляет 1%. Модель показывает accuracy = 99%, но пропускает 90% мошеннических операций. Какая метрика лучше всего покажет проблему этой модели?
Recall
Recall = TP / (TP + FN) измеряет долю найденных мошеннических операций. Если модель пропускает 90% мошенничества, recall = 0,1, что сразу вскрывает бесполезность модели. Accuracy при этом остаётся высокой из-за доминирования отрицательного класса.
Accuracy
Precision
Specificity
Precision модели = 0,9, recall = 0,4. Чему равна F1-мера (округлите до двух знаков)?
F1 = . Подставляем: . F1 сильно упал из-за низкого recall, несмотря на высокий precision.
В чём ключевое отличие human eval от автоматических метрик при оценке NLP-моделей?
Human eval позволяет оценивать субъективные и генеративные аспекты качества, которые плохо формализуются формулами (связность, релевантность, естественность).
Автоматические метрики (precision, recall, BLEU) работают с формальными совпадениями. Human eval привлекает людей-аннотаторов для оценки смысловых и стилистических критериев, которые не сводятся к простым формулам .
Human eval всегда быстрее и дешевле автоматических метрик.
Human eval не требует никаких критериев оценки — аннотаторы просто ставят «нравится / не нравится».
Human eval используется только для моделей машинного перевода и нигде больше.
Ранжирующие метрики и выбор порога: ROC-AUC и PR-AUC
ROC-кривая: качество ранжирования независимо от порога. Precision, recall и F1 зависят от выбранного порога срабатывания. ROC-кривая (Receiver Operating Characteristic) оценивает модель по всему диапазону порогов сразу. Кривая строится на плоскости: по вертикали — TPR (True Positive Rate, он же recall), по горизонтали — FPR (False Positive Rate, он же Fall-out). FPR вычисляется как и показывает долю неверных срабатываний среди всех объектов вне целевого класса .
Как строится ROC-кривая. Алгоритм построения: 1) запустить классификатор на тестовой выборке; 2) отсортировать объекты по уверенности модели в принадлежности к целевому классу; 3) двигаться от самого уверенного объекта к наименее уверенному, на каждом шаге пересчитывая TPR и FPR на накопленной подвыборке; 4) поставить точку на плоскости (FPR, TPR); 5) соединить точки. Число точек не превышает число объектов. Идеальный алгоритм проходит через точку (0; 1) — все положительные найдены, ни одного ложного срабатывания. Случайный классификатор (монетка) даёт прямую .
AUC: площадь под ROC-кривой. AUC (Area Under Curve) сворачивает всю кривую в одно число от 0 до 1. Интерпретация: AUC = 0,5 — модель не лучше случайного угадывания; AUC = 1,0 — идеальное ранжирование; AUC > 0,5 — модель лучше случайной. Метрика удобна тем, что не зависит от выбранного порога и от баланса классов в тестовой выборке — при изменении соотношения положительных и отрицательных примеров ROC-кривая остаётся той же .
PR-AUC: когда ROC недостаточен. При сильном дисбалансе классов (например, мошенничество 0,1% от всех транзакций) ROC-кривая может давать оптимистичную картину: FPR остаётся низким просто потому, что отрицательных примеров очень много, и даже большое абсолютное число ложных срабатываний даёт маленькую долю. Precision-Recall AUC (PR-AUC) в таких случаях информативнее: кривая строится в осях recall (ось X) и precision (ось Y), а площадь под ней напрямую показывает, насколько хорошо модель находит редкий класс, не «размывая» его ложными срабатываниями .
Практическое правило выбора. Когда классы сбалансированы и важна общая способность ранжирования — ROC-AUC. Когда положительный класс редок и цена ложного срабатывания высока — PR-AUC. Когда нужна одна цифра для отчёта и дисбаланс умеренный — F1. Когда нужно понять, при каком пороге модель даёт приемлемый баланс precision и recall — смотреть на PR-кривую и выбирать точку на ней .
Модель классификации имеет AUC-ROC = 0,5. Что это означает?
Модель ранжирует объекты не лучше случайного угадывания.
AUC = 0,5 соответствует прямой , то есть классификатор не различает классы лучше монетки. Идеальное ранжирование даёт AUC = 1,0 .
Модель идеально разделяет классы.
Модель имеет высокий recall, но низкий precision.
Модель обучена на сбалансированной выборке.
В задаче поиска редкого события (0,1% положительных примеров) какая метрика предпочтительнее для оценки модели?
PR-AUC (Precision-Recall AUC).
При сильном дисбалансе ROC-AUC может быть обманчиво высоким из-за большого числа истинно отрицательных примеров. PR-AUC фокусируется на precision и recall для редкого класса, показывая реальную способность модели его обнаруживать .
Accuracy.
ROC-AUC.
Specificity.