ROC-кривая

## TPR и FPR

Рассмотрим случай бинарной классификации (

y
i

∈
{
−
1
,
1
}

{\displaystyle y\_i \in \{-1, +1\}}

). Пусть

a
(
x
)

{\displaystyle a(x) }

 - классификатор, который оценивает вероятность принадлежности объекта

x

{\displaystyle x}

 к положительному классу. Рассмотрим некоторый порог

μ

{\displaystyle \mu}

, по которому будем строить предсказание. Отнесем объект x к положительному классу, если

a
(
x
)
⩾
μ

{\displaystyle a(x) \geqslant \mu}

, иначе — к отрицательному. Построим для него матрицу ошибок и найдем значения

T
P
,
T
N
,
F
P
,
F
N

{\displaystyle TP, TN, FP, FN}

T
P
# R

T
P

T
P
F
N

{\displaystyle TPR = \frac{TP}{TP+FN}}

.
* False positive rate:

F
P
# R

F
P

T
N
F
P

{\displaystyle FPR = \frac{FP}{TN+FP}}

.

TPR полностью совпадает с полнотой, и показывает долю верно предсказанных классов у объектов, относящихся к положительному классу.

FPR — это доля неправильно предсказанных классов среди объектов отрицательного класса.

## Кривая ошибок (ROC-curve)

Так как TPR и FPR считались для фиксированного порога

μ
∈
[
0
,
1
]

{\displaystyle \mu \in [0, 1]}

 то их можно представить в виде функций от аргумента

μ

{\displaystyle \mu}

:

T
P
# R
T
P
R
(
μ
)
,
F
P
# R
F
P
R
(
μ
)

{\displaystyle TPR = TPR(\mu), FPR = FPR(\mu)}

. При этом обе функции монотонно возрастают от

0

{\displaystyle 0}

 до

1

{\displaystyle 1}

, а значит определена функция:

R
O
# C
T
P
R
(
F
P
R
)

{\displaystyle ROC = TPR(FPR)}

(более формально:

R
O
C
(
x
# )
T
P
R
(
F
P

R

−
1

(
x
)
)
,
x
∈
[
0
,
1
]

{\displaystyle ROC(x) = TPR(FPR^{-1}(x)), x \in [0, 1]}

).

Которая называется рабочей характеристикой приемника (reciever operation characteristic, ROC). График функции называется ROC-кривой или кривой ошибок.

* Всегда начинается в

(
0
,
0
)

{\displaystyle (0,0) }

 и заканчивается в

(
1
,
1
)

{\displaystyle (1,1)}

.
* Как правило, у хорошего классификатора кривая лежит по большей части, либо целиком выше прямой

# y
x

{\displaystyle y = x}

. Это связано с тем что при хорошей классификации надо получать максимальный

T
P
R

{\displaystyle TPR}

 при минимальном

F
P
R

{\displaystyle FPR}

.

см. также AUC-ROC

## Метод построения ROC-кривой

Пусть классификатор выдает на выборке

x
1

,

x
2

,
…
,

x
N

{\displaystyle x\_1, x\_2, \dots, x\_N}

 вероятности

p
1

,

p
2

,
…
,

p
N

{\displaystyle p\_1, p\_2, \dots, p\_N}

 соответственно. Отсортируем вероятности в порядке возрастания:

p

(
1
)

⩽

p

(
2
)

⩽
⋯
⩽

p

(
N
)

{\displaystyle p\_{(1)} \leqslant p\_{(2)} \leqslant \dots \leqslant p\_{(N)}}

, и этим вероятностям соответствуют объекты

x

(
1
)

,

x

(
2
)

,
…
,

x

(
N
)

{\displaystyle x\_{(1)}, x\_{(2)}, \dots, x\_{(N)}}

 и метки классов

y

(
1
)

,

y

(
2
)

,
…
,

y

(
N
)

{\displaystyle y\_{(1)}, y\_{(2)}, \dots, y\_{(N)}}

 соответственно. Разобьем квадрат

[
0
,
1
]
×
[
0
,
1
]

{\displaystyle [0, 1]\times[0,1]}

 на координатной плоскости на

N
−

{\displaystyle N^-}

 клеток по горизонтали и

N

{\displaystyle N^{+}}

 клеток по вертикали (где

N

{\displaystyle N^{+}}

 — количество объектов положительного класса,

N
−

{\displaystyle N^-}

 — количество объектов отрицательного класса). Начнем рисовать ROC кривую из точки

(
0
,
0
)

{\displaystyle (0,0) }

 и последовательно перебирать метки классов, начиная с

y

(
N
)

{\displaystyle y\_{(N)}}

 до

y

(
1
)

{\displaystyle y\_{(1)}}

: если

y

(
i
)

=
1

{\displaystyle y\_{(i)} = +1}

 то рисуем вертикальный отрезок на одну клетку вверх, иначе горизонтальный отрезок на одну клетку вправо. Очевидно, в таком случае мы закончим ROC-кривую в точке

(
1
,
1
)

{\displaystyle (1,1)}

 и она будет отображать зависимость

T
P
R
(
F
P
R
)

{\displaystyle TPR(FPR)}

.

## ROC-кривая для оценивания вероятностей случайным образом

Экзамен показал, что здесь, похоже, всё неверно, а спрашивают часто. Якобы где-то решалась на семинарах.

Если классификатор выдает вероятность равную

p
(
x
# )
ξ

{\displaystyle p(x) = \xi}

, где

ξ

{\displaystyle \xi}

 - равномерно распределенная на отрезке [0, 1] случайная величина, то ROC-кривая такого классификатора будет совпадать с графиком

# y
x

{\displaystyle y = x}

, то есть для любого порога

μ
:
T
P
R
(
μ
# )
F
P
R
(
μ
)

{\displaystyle \mu: TPR(\mu) = FPR(\mu)}

 (если более формально, то это верно только для матожиданий TPR и FPR, так как

ξ

{\displaystyle \xi}

 случайная величина, и если нам ооочень повезет, то разделение может быть идеальным, а ROC-кривая пройдет через точку (0, 1)).

Зафиксируем некий порог

μ

{\displaystyle \mu}

. Тогда

ξ
<
μ

{\displaystyle \xi < \mu}

 с вероятностью

μ

{\displaystyle \mu}

 и

ξ
⩾
μ

{\displaystyle \xi \geqslant \mu}

 с вероятностью

1
−
μ

{\displaystyle 1-\mu}

. Пусть в выборке

N

{\displaystyle N^{+}}

 объектов положительного класса, и

N
−

{\displaystyle N^-}

 отрицательного. Тогда

E

T
# P
(
1
−
μ
)

N

,

E

F
# P
(
1
−
μ
)

N
−

,

E

F
# N
μ

N

,

E

T
# N
μ

N
−

{\displaystyle \mathbb{E}TP = (1-\mu)N^+, \mathbb{E}FP = (1-\mu)N^-, \mathbb{E}FN = \mu N^+, \mathbb{E}TN = \mu N^-}

. А значит

E

T
P
# R

E

T
P

T
P
F
N

=

(
1
−
μ
)

N

(
μ
1
−
μ
)

N

=
1
−
# μ

{\displaystyle \mathbb{E}TPR = \mathbb{E}\frac{TP}{TP+FN} = \frac{(1-\mu)N^+}{(\mu + 1-\mu) N^+} = 1-\mu= }

=

(
1
−
μ
)

N
−

(
μ
1
−
μ
)

N
−

=

E

F
P

F
P
T
N

=

E

F
P
R
.

{\displaystyle = \frac{(1-\mu)N^-}{(\mu + 1-\mu) N^-} = \mathbb{E}\frac{FP}{FP+TN} = \mathbb{E}FPR.}