Задачки про AUC (ROC)

Среди читателей блога много тех, кто только учит машинное обучение, и меня часто спрашивают про разные задачи и упражнения, поэтому начинаю рубрику задача.

Для начала два упражнения, которые мы недавно разбирали с магистрами ВМК МГУ.

Задача 1. Рассматривается задача классификации на два класса. На рис. 1 показаны объекты в пространстве ответов двух алгоритмов (ответы вещественные — до бинаризации по порогу). Вычислить AUC (ROC) для алгоритмов.

Рис. 1.
Рис. 1.1.

Задача 2. Какие значения F1-меры могут быть у классификатора в задаче с двумя непересекающимися классами (положительным и отрицательным) и тремя объектами?

Решение см. под катом… но сначала попробуйте сами, если интересно.

Решение 1. 
1.1. Сначала рассмотрим проекции на оси (т.е. ответы первого и второго алгоритма), см. рис. 1.2.

pic2
Рис. 1.2.

1.2. Построим ROC-кривые, см. рис 1.2 (по осям — False Positive Rate и True Positive Rate).

1.3. Вычислим площади под кривыми: 0.64 и 0.7, см. рис. 1.3.

pic3
Рис. 1.3.

Решение 2. Можно честно рассмотреть все возможные случаи, см. рис. 2.1  — выписаны все значения полноты (то же, что и True Positive Rate) и точности (то же, что и Positive Predictive Value):

Рис. 2.1.
Рис. 2.1.

F1-мера – среднее гармоническое точности и полноты, т.е. чисел из пар (1, 1), (1/2, 1), (2/3, 1), (1/3, 1), (1/2, 1/2), (0, 0). Поэтому все возможные значения F1-меры: 1, 0.8, 2/3, 0.5, 0.

Но до ответа можно догадаться и быстрее;)

Замечание 1. ROC = receiver operating characteristicAUC = area under the curveКогда имеют в виду «площадь под ROC» пишут AUROC или AUC ROC, я написал AUC (ROC). Иногда говорят «ROC-кривая», что тоже не совсем корректно, т.к. C — это как раз первая буква CURVE, но зато звучит хорошо.

Замечание 2. Как правило, студенты очень плохо понимают, что такое AUC, как вычислять это значение, как оно может меняться при изменении параметров алгоритмов. Поэтому я и составлял подобные задачки…

Да, кстати, вот интересная интерактивная визуализация (чтобы лучше понять AUC).

Задачки про AUC (ROC): 11 комментариев

  1. Александр, подскажите, пожалуйста, решая первую задачу возникли такие вопросы:
    1) не совсем понятно каким образом были выбраны точки TPR=4/5 FPR=2/5 и TPR=4/5 FPR=3/5 ?
    2) есть ли метод посчитать порог для бинаризации значений алгоритма при выборе точки на ROC кривой ?
    Спасибо

    • Здравствуйте!

      1) Да, собственно, они не выбраны… они никак не влияют на решение и ответ. Это просто иллюстрация, что при каком-то одном взятом пороге ROC-кривая проходит через нужную точку.
      Подробнее, как строить кривую —
      https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%d0%bf%d0%bb%d0%be%d1%89%d0%b0%d0%b4%d1%8c-%d0%bf%d0%be%d0%b4-%d0%ba%d1%80%d0%b8%d0%b2%d0%be%d0%b9-%d0%be%d1%88%d0%b8%d0%b1%d0%be%d0%ba/

      2) Если отвечать на вопрос, как Вы его поставили…
      при построении ROC-кривой Вы знаете, какая точка, какому порогу соответсвует.

      Если Вам просто дали ROC-кривую (кем-то построенную) — то определить порог в общем случае невозможно.
      Вы даже не знаете, в каких пределах варьируются ответы алгоритма (из кривой это никак не выводится).

      2б) Если отвечать на вопрос: «как по кривой выбрать бинаризацию?…»
      Зависит от того, какая бинаризация Вам нужна.
      Построив ROC-кривую, Вы получили зависимость TPR от FPR — теперь можно выбрать пару этих значений, которая Вас устроит.
      Как вариант, можно выбрать порог, который соответствует точке на ROC-кривой, которая максимально близка к точке (0, 1).

  2. Добрый день, я правильно понял, что мы зафиксировали количество объектов равны 5 с конца (всего объектов 7) и далее строим roc кривую по алгоритму.

  3. 1. «ROC = receiver operating characteristic»

    2. «Иногда говорят «ROC-кривая», что тоже не совсем корректно, т.к. C — это как раз первая буква CURVE»

    Не понятно, почему это не совсем корректно (C stands for characteristic).

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s