Created by AIImproved by people

Riqli · living documents · updated continuously

Where AI knowledge meets human practice.

Share with friends
image

Оценка качества NLP-моделей (precision / recall / F1, human eval)

sections

Введение: зачем оценивать качество NLP-моделей

contents

Аннотация. Этот модуль посвящён практическим метрикам оценки качества NLP-моделей: precision, recall, F1-мере и организации человеческой оценки (human eval). Курс ориентирован на инженеров и аналитиков, которые обучают классификаторы текста, настраивают пороги срабатывания и готовят модели к продакшену.

Цель. Научить интерпретировать матрицу ошибок, выбирать метрику под бизнес-задачу и проводить базовую человеческую оценку качества модели.

Результаты обучения. После прохождения модуля вы сможете: 1) читать матрицу ошибок и объяснять разницу между FP и FN; 2) рассчитывать precision, recall и F1 по формулам; 3) выбирать метрику при дисбалансе классов; 4) организовывать простую схему human eval для оценки генеративных или классификационных моделей.

Целевая аудитория. Data Scientist, ML-инженер, NLP-разработчик, аналитик данных — все, кто работает с текстовыми моделями и хочет системно подходить к измерению их качества.

contents

Матрица ошибок: четыре исхода бинарной классификации. Оценка качества NLP-модели начинается с матрицы ошибок (confusion matrix). В бинарной классификации каждое предсказание попадает в одну из четырёх категорий. True Positive (TP) — модель верно отнесла объект к целевому классу (например, нашла спам). True Negative (TN) — модель верно определила, что объект не принадлежит целевому классу (пропустила обычное письмо как обычное). False Positive (FP) — модель ошибочно отнесла объект к целевому классу (приняла нормальное письмо за спам). False Negative (FN) — модель не обнаружила целевой объект (пропустила спам в inbox). Эти четыре числа — фундамент всех метрик классификации .

contents

Precision: точность положительных предсказаний. Precision отвечает на вопрос: «Когда модель говорит “да”, как часто она права?» Формула: Precision=TPTP+FP\text{Precision} = \frac{TP}{TP + FP}. Знаменатель — все объекты, которые модель отнесла к целевому классу. Precision критичен в задачах, где ложное срабатывание дорого: фильтрация спама (нельзя терять важные письма), модерация контента (риск заблокировать нормальный комментарий), юридический поиск (риск предъявить ложное обвинение) .

contents

Recall: полнота обнаружения. Recall отвечает на вопрос: «Сколько объектов целевого класса модель смогла найти?» Формула: Recall=TPTP+FN\text{Recall} = \frac{TP}{TP + FN}. Знаменатель — все объекты, которые действительно принадлежат целевому классу. Recall критичен в задачах, где пропуск цели катастрофичен: медицинская диагностика (нельзя пропустить болезнь), поиск мошенничества (нельзя пропустить fraudulent transaction), информационная безопасность (нельзя пропустить атаку) .

contents

F1-мера: гармоническое среднее precision и recall. Precision и recall обычно конфликтуют: снижая порог срабатывания, вы повышаете recall, но теряете precision; повышая порог — наоборот. F1-мера объединяет их в одну метрику: F1=2PrecisionRecallPrecision+RecallF_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}. Это гармоническое, а не арифметическое среднее: если хотя бы одна из метрик близка к нулю, F1 тоже резко падает. F1 удобен для сравнения моделей, особенно при дисбалансе классов .

contents

Accuracy и ловушка дисбаланса. Accuracy — доля всех правильных предсказаний: Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}. Метрика хорошо работает при сбалансированных классах, но при дисбалансе вводит в заблуждение. Пример: в датасете мошеннических транзакций доля fraud — 0,5%. Модель, которая всегда предсказывает «не мошенничество», даёт accuracy 99,5%, но не находит ни одного мошенничества. В таких случаях precision, recall и F1 информативнее .

contents

Human eval: зачем нужна человеческая оценка. Автоматические метрики не всегда отражают реальное качество NLP-модели. Для задач генерации (перевод, summarization, диалог) и субъективных оценок (тональность, токсичность) применяют human eval. Базовая схема: аннотаторы получают выходы модели и оценивают их по критериям (релевантность, связность, фактологичность). Проблемы human eval: дорого, медленно, разброс между аннотаторами. Современный компромисс — LLM-as-judge: языковая модель выступает прокси-аннотатором, показывая корреляцию с человеческими оценками, близкую к корреляции между людьми .


questions

Модель фильтрации спама на тестовой выборке из 1000 писем показала: TP = 80, FP = 20, FN = 40, TN = 860. Чему равен precision этой модели?

answersCorrect

80/(80+20)=0,880 / (80 + 20) = 0,8

explanations

Precision = TP / (TP + FP). Подставляем значения: 80/(80+20)=0,880 / (80 + 20) = 0,8. Precision показывает, что из всех писем, которые модель назвала спамом (100 штук), 80 действительно оказались спамом.

answersWrong

80/(80+40)0,6780 / (80 + 40) ≈ 0,67

answersWrong

80/1000=0,0880 / 1000 = 0,08

answersWrong

(80+860)/1000=0,94(80 + 860) / 1000 = 0,94


questions

В задаче обнаружения мошеннических транзакций доля мошенничества составляет 1%. Модель показывает accuracy = 99%, но пропускает 90% мошеннических операций. Какая метрика лучше всего покажет проблему этой модели?

answersCorrect

Recall

explanations

Recall = TP / (TP + FN) измеряет долю найденных мошеннических операций. Если модель пропускает 90% мошенничества, recall = 0,1, что сразу вскрывает бесполезность модели. Accuracy при этом остаётся высокой из-за доминирования отрицательного класса.

answersWrong

Accuracy

answersWrong

Precision

answersWrong

Specificity


questions

Precision модели = 0,9, recall = 0,4. Чему равна F1-мера (округлите до двух знаков)?

answersCorrect

2×0,9×0,4/(0,9+0,4)0,552 × 0,9 × 0,4 / (0,9 + 0,4) ≈ 0,55

explanations

F1 = 2PrecisionRecallPrecision+Recall2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}. Подставляем: 20,90,4/1,3=0,72/1,30,552 \cdot 0,9 \cdot 0,4 / 1,3 = 0,72 / 1,3 \approx 0,55. F1 сильно упал из-за низкого recall, несмотря на высокий precision.

answersWrong

(0,9+0,4)/2=0,65(0,9 + 0,4) / 2 = 0,65

answersWrong

0,9×0,4=0,360,9 × 0,4 = 0,36

answersWrong

0,90,9


questions

В чём ключевое отличие human eval от автоматических метрик при оценке NLP-моделей?

answersCorrect

Human eval позволяет оценивать субъективные и генеративные аспекты качества, которые плохо формализуются формулами (связность, релевантность, естественность).

explanations

Автоматические метрики (precision, recall, BLEU) работают с формальными совпадениями. Human eval привлекает людей-аннотаторов для оценки смысловых и стилистических критериев, которые не сводятся к простым формулам .

answersWrong

Human eval всегда быстрее и дешевле автоматических метрик.

answersWrong

Human eval не требует никаких критериев оценки — аннотаторы просто ставят «нравится / не нравится».

answersWrong

Human eval используется только для моделей машинного перевода и нигде больше.

sections

Ранжирующие метрики и выбор порога: ROC-AUC и PR-AUC

contents

ROC-кривая: качество ранжирования независимо от порога. Precision, recall и F1 зависят от выбранного порога срабатывания. ROC-кривая (Receiver Operating Characteristic) оценивает модель по всему диапазону порогов сразу. Кривая строится на плоскости: по вертикали — TPR (True Positive Rate, он же recall), по горизонтали — FPR (False Positive Rate, он же Fall-out). FPR вычисляется как FPR=FPFP+TN\text{FPR} = \frac{FP}{FP + TN} и показывает долю неверных срабатываний среди всех объектов вне целевого класса .

contents

Как строится ROC-кривая. Алгоритм построения: 1) запустить классификатор на тестовой выборке; 2) отсортировать объекты по уверенности модели в принадлежности к целевому классу; 3) двигаться от самого уверенного объекта к наименее уверенному, на каждом шаге пересчитывая TPR и FPR на накопленной подвыборке; 4) поставить точку на плоскости (FPR, TPR); 5) соединить точки. Число точек не превышает число объектов. Идеальный алгоритм проходит через точку (0; 1) — все положительные найдены, ни одного ложного срабатывания. Случайный классификатор (монетка) даёт прямую TPR=FPR\text{TPR} = \text{FPR} .

contents

AUC: площадь под ROC-кривой. AUC (Area Under Curve) сворачивает всю кривую в одно число от 0 до 1. Интерпретация: AUC = 0,5 — модель не лучше случайного угадывания; AUC = 1,0 — идеальное ранжирование; AUC > 0,5 — модель лучше случайной. Метрика удобна тем, что не зависит от выбранного порога и от баланса классов в тестовой выборке — при изменении соотношения положительных и отрицательных примеров ROC-кривая остаётся той же .

contents

PR-AUC: когда ROC недостаточен. При сильном дисбалансе классов (например, мошенничество 0,1% от всех транзакций) ROC-кривая может давать оптимистичную картину: FPR остаётся низким просто потому, что отрицательных примеров очень много, и даже большое абсолютное число ложных срабатываний даёт маленькую долю. Precision-Recall AUC (PR-AUC) в таких случаях информативнее: кривая строится в осях recall (ось X) и precision (ось Y), а площадь под ней напрямую показывает, насколько хорошо модель находит редкий класс, не «размывая» его ложными срабатываниями .

contents

Практическое правило выбора. Когда классы сбалансированы и важна общая способность ранжирования — ROC-AUC. Когда положительный класс редок и цена ложного срабатывания высока — PR-AUC. Когда нужна одна цифра для отчёта и дисбаланс умеренный — F1. Когда нужно понять, при каком пороге модель даёт приемлемый баланс precision и recall — смотреть на PR-кривую и выбирать точку на ней .


questions

Модель классификации имеет AUC-ROC = 0,5. Что это означает?

answersCorrect

Модель ранжирует объекты не лучше случайного угадывания.

explanations

AUC = 0,5 соответствует прямой TPR=FPR\text{TPR} = \text{FPR}, то есть классификатор не различает классы лучше монетки. Идеальное ранжирование даёт AUC = 1,0 .

answersWrong

Модель идеально разделяет классы.

answersWrong

Модель имеет высокий recall, но низкий precision.

answersWrong

Модель обучена на сбалансированной выборке.


questions

В задаче поиска редкого события (0,1% положительных примеров) какая метрика предпочтительнее для оценки модели?

answersCorrect

PR-AUC (Precision-Recall AUC).

explanations

При сильном дисбалансе ROC-AUC может быть обманчиво высоким из-за большого числа истинно отрицательных примеров. PR-AUC фокусируется на precision и recall для редкого класса, показывая реальную способность модели его обнаруживать .

answersWrong

Accuracy.

answersWrong

ROC-AUC.

answersWrong

Specificity.