0% нашли этот документ полезным (0 голосов)
13 просмотров

Lecture05 Linclass

Загружено:

m.savateeva20030
Авторское право
© © All Rights Reserved
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
13 просмотров

Lecture05 Linclass

Загружено:

m.savateeva20030
Авторское право
© © All Rights Reserved
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 10

Лекция 5

Линейная классификация
Е. А. Соколов
ФКН ВШЭ
28 октября 2021 г.

1 Линейные модели классификации


Мы начнём с задачи бинарной классификации, а многоклассовый случай об-
судим позже. Пусть X = Rd — пространство объектов, Y = {−1, +1} — множе-
ство допустимых ответов, X = {(xi , yi )}ℓi=1 — обучающая выборка. Иногда мы будем
класс «+1» называть положительным, а класс «−1» — отрицательным.
Линейная модель классификации определяется следующим образом:
d
!
X
a(x) = sign (hw, xi + w0 ) = sign wj xj + w0 ,
j=1

где w ∈ Rd — вектор весов, w0 ∈ R — сдвиг (bias). Заметим, что функция sign(z)


может выдавать ноль при z = 0, но в множество ответов ноль не входит. Во-первых,
можем понадеяться, что нулевое значение линейной модели — настолько редкое со-
бытие, что нам не придётся иметь с этим дело. Во-вторых, можем считать, что если
модель выдала ноль, то она не может выбрать класс и отказывается от классифика-
ции — что-то вроде выдачи исключения.
Если не сказано иначе, мы будем считать, что среди признаков есть константа,
xd+1 = 1. В этом случае нет необходимости вводить сдвиг w0 , и линейный классифи-
катор можно задавать как

a(x) = signhw, xi.

Геометрически линейный классификатор соответствует гиперплоскости с век-


тором нормали w. Величина скалярного произведения hw, xi пропорциональна рас-
стоянию от гиперплоскости до точки x, а его знак показывает, с какой стороны от
гиперплоскости находится данная точка. Таким образом, линейный классификатор
разделяет пространство на две части с помощью гиперплоскости, и при этом одно
полупространство относит к положительному классу, а другое — к отрицательному.

§1.1 Обучение линейных классификаторов


В задаче регрессии имеется континуум возможных ответов, и при таких усло-
виях достаточно странно требовать полного совпадения ответов модели и истинных

1
2

ответов — гораздо логичнее говорить об их близости. Более того, как мы выясни-


ли, попытка провести функцию через все обучающие точки легко может привести к
переобучению. Способов посчитать близость двух чисел (прогноза и истинного отве-
та) достаточно много, и поэтому при обсуждении регрессии у нас возникло большое
количество функционалов ошибки.
В случае с бинарной классификацией всё гораздо проще: у нас всего два воз-
можных ответа алгоритма и, очевидно, мы хотим видеть как можно больше пра-
вильных ответов. Соответствующий функционал называется долей правильных от-
ветов (accuracy):

1X
Q(a, X) = [a(xi ) = yi ].
ℓ i=1

Нам будет удобнее решать задачу минимизации, поэтому будем вместо этого исполь-
зовать долю неправильных ответов:
ℓ ℓ
1X 1X
Q(a, X) = [a(xi ) 6= yi ] = [signhw, xi i =
6 yi ] → min (1.1)
ℓ i=1 ℓ i=1 w

Этот функционал является дискретным относительно весов, и поэтому искать его


минимум с помощью градиентных методов мы не сможем. Более того, у данного
функционала может быть много глобальных минимумов — вполне может оказаться,
что существует много способов добиться оптимального количества ошибок. Чтобы
не пытаться решать все эти проблемы, попытаемся свести задачу к минимизации
гладкого функционала.

Отступы. Заметим, что функционал (1.1) можно несколько видоизменить:



1X
Q(a, X) = [yi hw, xi i < 0] → min
ℓ i=1 | {z } w
Mi

Здесь возникла очень важная величина Mi = yi hw, xi i, называемая отсту-


пом (margin). Знак отступа говорит о корректности ответа классификатора (поло-
жительный отступ соответствует правильному ответу, отрицательный — неправиль-
ному), а его абсолютная величина характеризует степень уверенности классифика-
тора в своём ответе. Напомним, что скалярное произведение hw, xi пропорционально
расстоянию от разделяющей гиперплоскости до объекта; соответственно, чем ближе
отступ к нулю, тем ближе объект к границе классов, тем ниже уверенность в его
принадлежности.

Верхние оценки. Функционал (1.1) оценивает ошибку алгоритма на объекте x с


помощью пороговой функции потерь L(M) = [M < 0], где аргументом функции
является отступ M = yhw, xi. Оценим эту функцию сверху во всех точках M кроме,
может быть, небольшой полуокрестности левее нуля (см. рис. 1):

L(M) 6 L̃(M).
3

6
пороговая
логистическая
5
меточ опорных векторов
эк поненциальная

иямоигная

пер ептрон ломеньлатта


4

0
−4 −2 0 2 4

Рис. 1. Верхние оценки на пороговую функцию потерь.

После этого можно получить верхнюю оценку на функционал (1.1):



1X
Q(a, X) 6 L̃(yi hw, xi i) → min
ℓ i=1 w

Если верхняя оценка L̃(M) является гладкой, то и данная верхняя оценка будет
гладкой. В этом случае её можно будет минимизировать с помощью, например, гра-
диентного спуска. Если верхнюю оценку удастся приблизить к нулю, то и доля непра-
вильных ответов тоже будет близка к нулю.
Приведём несколько примеров верхних оценок:

1. L̃(M) = log 1 + e−M — логистическая функция потерь

2. L̃(M) = (1 − M)+ = max(0, 1 − M) — кусочно-линейная функция потерь (ис-


пользуется в методе опорных векторов)

3. L̃(M) = (−M)+ = max(0, −M) — кусочно-линейная функция потерь (соответ-


ствует персептрону Розенблатта)

4. L̃(M) = e−M — экспоненциальная функция потерь

5. L̃(M) = 2/(1 + eM ) — сигмоидная функция потерь


Любая из них подойдёт для обучения линейного классификатора. Позже мы подроб-
но изучим некоторые из них и выясним, какими свойствами они обладают.

2 Метрики качества классификации


Выше мы разобрали способ сведения задачи обучения линейного классификато-
ра к минимизации гладкого функционала. При этом часто возникает необходимость
4

в изучении различных аспектов качества уже обученного классификатора. Обсудим


подробнее распространённые подходы к измерению качества таких моделей.
Будем считать, что классификатор имеет вид a(x) = sign(b(x)−t) = 2[b(x) > t]−
− 1. Линейная модель имеет именно такую форму, если положить b(x) = hw, xi и t =
= 0.

§2.1 Доля правильных ответов


Наиболее очевидной мерой качества в задаче классификации является доля
правильных ответов (accuracy), которую мы уже упоминали:

1X
accuracy(a, x) = [a(xi ) = yi ].
ℓ i=1
Данная метрика, однако, имеет существенный недостаток. Если взять порог t меньше
минимального значения прогноза b(x) на выборке или больше максимального значе-
ния, то доля правильных ответов будет равна доле положительных и отрицательных
ответов соответственно. Таким образом, если в выборке 950 отрицательных и 50 по-
ложительных объектов, то при тривиальном пороге t = maxi b(xi ) мы получим долю
правильных ответов 0.95. Это означает, что доля положительных ответов сама по
себе не несет никакой информации о качестве работы алгоритма a(x), и вместе с
ней следует анализировать соотношение классов в выборке. Также полезно вместе
с долей правильных ответов вычислять базовую долю — долю правильных ответов
алгоритма, всегда выдающего наиболее мощный класс.
Отметим, что при сравнении различных методов машинного обучения принято
сообщать относительное уменьшение ошибки. Рассмотрим два алгоритма a1 и a2 с
долями правильных ответов r1 и r2 соответственно, причем r2 > r1 . Относительным
уменьшением ошибки алгоритма a2 называется величина
(1 − r1 ) − (1 − r2 )
.
1 − r1
Если доля ошибок была улучшена с 20% до 10%, то относительное улучшение со-
ставляет 50%. Если доля ошибок была улучшена с 50% до 25%, то относительное
улучшение также равно 50%, хотя данный прирост кажется более существенным.
Если же доля ошибок была улучшена с 0.1% до 0.01%, то относительное улучшение
составляет 90%, что совершенно не соответствует здравому смыслу.

§2.2 Матрица ошибок


Выше мы убедились, что в случае с несбалансированными классами одной до-
ли правильных ответов недостаточно — необходима еще одна метрика качества. В
данном разделе мы рассмотрим другую, более информативную пару критериев.
Введем сначала понятие матрицы ошибок. Это способ разбить объекты на че-
тыре категории в зависимости от комбинации истинного ответа и ответа алгорит-
ма (см. таблицу 1). Через элементы этой матрицы можно, например, выразить долю
правильных ответов:
TP + TN
accuracy = .
TP + FP + FN + TN
5

y=1 y = −1
a(x) = 1 True Positive (TP) False Positive (FP)
a(x) = −1 False negative (FN) True Negative (TN)
Таблица 1. Матрица ошибок

Гораздо более информативными критериями являются точность (precision)


и полнота (recall):
TP
precision = ;
TP + FP
TP
recall = .
TP + FN
Точность показывает, какая доля объектов, выделенных классификатором как поло-
жительные, действительно является положительными. Полнота показывает, какая
часть положительных объектов была выделена классификатором.
Рассмотрим, например, задачу предсказания реакции клиента банка на звонок
с предложением кредита. Ответ y = 1 означает, что клиент возьмет кредит после
рекламного звонка, ответ y = −1 — что не возьмет. Соответственно, планируется
обзванивать только тех клиентов, для которых классификатор a(x) вернет ответ 1.
Если классификатор имеет высокую точность, то практически все клиенты, кото-
рым будет сделано предложение, откликнутся на него. Если классификатор имеет
высокую полноту, то предложение будет сделано практически всем клиентам, ко-
торые готовы откликнуться на него. Как правило, можно регулировать точность и
полноту, изменяя порог t в классификаторе a(x) = sign(b(x) − t) = 2[b(x) > t] − 1.
Если выбрать t большим, то классификатор будет относить к положительному клас-
су небольшое число объектов, что приведет к высокой точности и низкой полноте.
По мере уменьшения t точность будет падать, а полнота увеличиваться. Конкретное
значение порога выбирается согласно пожеланиям заказчика.
Отметим, что точность и полнота не зависят от соотношения размеров классов.
Даже если объектов положительного класса на порядки меньше, чем объектов отри-
цательного класса, данные показатели будут корректно отражать качество работы
алгоритма.
Существует несколько способов получить один критерий качества на основе
точности и полноты. Один из них — F-мера, гармоническое среднее точности и пол-
ноты:
2 ∗ precision ∗ recall
F = .
precision + recall
Среднее гармоническое обладает важным свойством — оно близко к нулю, если хотя
бы один из аргументов близок к нулю. Именно поэтому оно является более предпо-
чтительным, чем среднее арифметическое (если алгоритм будет относить все объ-
екты к положительному классу, то он будет иметь recall = 1 и precision ≪ 1, а их
среднее арифметическое будет больше 1/2, что недопустимо). Можно заметить, что
F-мера является сглаженной версией минимума из точности и полноты (см. рис. 2
и 3). Отметим, что геометрическое среднее также похоже на сглаженный вариант
минимума, но при этом оно менее устойчиво к «выбросам» — например, для точно-
сти 0.9 и полноты 0.1 гармоническое среднее будет равно 0.18, а геометрическое 0.3.
6

1.0 1.0

0.8 0.8

0.6 0.6
recall

recall
0.4 0.4

0.2 0.2

0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
precision precision

Рис. 2. Линии уровня для минимума из точности Рис. 3. Линии уровня для F-меры.
и полноты.

Другим агрегированным критерием является R-точность, или точка балан-


са (breakeven point). Она вычисляется как точность при таком t, при котором полнота
равна точности:

R-precision = precision(sign(b(x) − t∗ )),


t∗ = arg min |precision(sign(b(x) − t)) − recall(sign(b(x) − t))| .
t

Можно показать, что R-точность равна точности при таком пороге, при котором
количество отнесённых к положительному классу объектов равно количеству поло-
жительных объектов в выборке.
Часто встречаются задачи, в которых целевой признак по-прежнему бинарный,
но при этом необходимо ранжировать объекты, а не просто предсказывать их класс.
Например, в задаче предсказания реакции клиента можно выдавать сортированный
список, чтобы оператор мог в первую очередь позвонить клиентам с наибольшей
вероятностью положительного отклика. Поскольку многие алгоритмы возвращают
вещественный ответ b(x), который затем бинаризуется по порогу t, то можно про-
сто сортировать объекты по значению b(x). Для измерения качества ранжирования
нередко используют среднюю точность (average precision, AP):

1 X
AP = [y(k) = 1]precision@k,
ℓ+ k=1

где y(k) — ответ k-го по порядку объекта, ℓ+ — число положительных объектов в


выборке, а precision@k — точность среди первых k в списке объектов. Если алго-
ритм b(x) так ранжирует объекты, что сначала идут все положительные, а затем
все отрицательные, то средняя точность будет равна единице; соответственно, чем
сильнее положительные документы концентрируются в верхней части списка, тем
ближе к единице будет данный показатель.
7

Связь точности, полноты и доли правильных ответов Выше мы отмечали, что


высокие значения доли правильных ответов вовсе не влекут за собой высокое каче-
ство работы классификатора, и ввели точность и полноту как способ решения этой
проблемы. Тем не менее, при выборе точности и полноты в качестве основных мет-
рик, следует соблюдать осторожность при выборе требований к их значениям — как
мы увидим из примера, независимость данных метрик от соотношения классов мо-
жет привести к неочевидным последствиям.
Рассмотрим задачу бинарной классификации с миллионом объектов (ℓ =
= 1.000.000), где доля объектов первого класса составляет 1% (ℓ+ = 10.000). Мы
знаем, что доля правильных ответов будет вести себя не вполне интуитивно на дан-
ной несбалансированной выборке, и поэтому выберем точность и полноту для из-
мерения качества классификаторов. Поскольку мы хотим решить задачу хорошо, то
введём требования, что и точность, и полнота должны быть не менее 90%. Эти требо-
вания кажутся вполне разумными, если забыть о соотношении классов. Попробуем
теперь оценить, какая доля правильных ответов должна быть у классификатора,
удовлетворяющего нашим требованиям.
Всего в выборке 10.000 положительных объектов, и для достижения полно-
ты 90% мы должны отнести как минимум 9.000 к положительному классу. Полу-
чаем TP = 9000, FN = 1000. Так как точность тоже должна быть не меньше 90%,
получаем FP = 1000. Отсюда получаем, что доля правильных ответов должна быть
равна (1 − 2.000/1.000.000) = 99.8%! Это крайне высокий показатель, и его редко
удаётся достичь на таких выборках во многих предметных областях.

Lift. На практике часто возникают задачи, связанные с выбором подмножества: вы-


деление лояльных клиентов банка, обнаружение уходящих пользователей мобильно-
го оператора и т.д. Заказчика может интересовать вопрос, насколько выгоднее рабо-
тать с этим подмножеством по сравнению со всем множеством. Если при рассылке
предложений о кредите клиентам из подмножества и всем клиентам будет получать-
ся одна и та же доля откликнувшихся, то подмножество не будет представлять осо-
бой ценности. Формально это измеряется с помощью прироста концентрации (lift),
который равен отношению точности к доле положительных объектов в выборке:
precision
lift = .
(TP + FN)/ℓ

Эту величину можно интерпретировать как улучшение доли положительных объек-


тов в данном подмножестве относительно доли в случайно выбранном подмножестве
такого же размера.

§2.3 Area Under Curve


Выше мы изучили точность, полноту и F-меру, которые характеризуют каче-
ство работы алгоритма a(x) = sign(b(x) − t) при конкретном выборе порога t. Однако
зачастую интерес представляет лишь вещественнозначный алгоритм b(x), а порог
будет выбираться позже в зависимости от требований к точности и полноте. В та-
ком случае возникает потребность в измерении качества семейства моделей {a(x) =
= sign(b(x) − t) | t ∈ R}.
8

Рис. 4. Пример ROC-кривой.

Можно измерять качество этого множества на основе качества лучшего (в


некотором смысле) алгоритма. Для этого подходит упомянутая ранее точка балан-
са (breakeven point). В идеальном семействе алгоритмов она будет равна единице,
поскольку найдется алгоритм со стопроцентной точностью и полнотой. Данная мет-
рика, однако, основывается лишь на качестве одного алгоритма, и не характеризует
вариативность семейства.
Широко используется такая интегральная метрика качества семейства, как пло-
щадь под ROC-кривой (Area Under ROC Curve, AUC-ROC). Рассмотрим двумерное
пространство, одна из координат которого соответствует доле неверно принятых объ-
ектов (False Positive Rate, FPR), а другая — доле верно принятых объектов (True
Positive Rate, TPR):

FP
FPR = ;
FP + TN
TP
TPR = .
TP + FN
Каждый возможный выбор порога t соответствует точке в этом пространстве. Все-
го различных порогов имеется ℓ + 1. Максимальный порог tmax = maxi b(xi ) даст
классификатор с TPR = 0, FPR = 0. Минимальный порог tmin = mini b(xi ) − ε
даст TPR = 1 и FPR = 1. ROC-кривая — это кривая с концами в точках (0, 0)
и (1, 1), которая последовательно соединяет точки, соответствующие порогам b(x(1) )−
− ε, b(x(1) ), b(x(2) ), . . . , b(x(ℓ) ) (см. рис. 4). Площадь под данной кривой называется
AUC-ROC, и принимает значения от 0 до 1. Если порог t может быть подобран так,
что алгоритм a(x) не будет допускать ошибок, то AUC-ROC будет равен единице;
если же b(x) ранжирует объекты случайным образом, то AUC-ROC будет близок
к 0.5.
9

Критерий AUC-ROC имеет большое число интерпретаций — например, он ра-


вен вероятности того, что для случайно выбранных положительного объекта x+ и
отрицательного объекта x− будет выполнено1 b(x+ ) > b(x− ).

Индекс Джини. В задачах кредитного скоринга вместо AUC-ROC часто использу-


ется пропорциональная метрика, называемая индексом Джини (Gini index):
Gini = 2AUC − 1.
По сути это умноженная на два площадь между ROC-кривой и диагональю, соеди-
няющей точки (0, 0) и (1, 1).
Отметим, что переход от AUC к индексу Джини приводит к увеличению отно-
сительных разниц. Если мы смогли улучшить AUC с 0.8 до 0.9, то это соответству-
ет относительному улучшению в 12.5%. В то же время соответствующие индексы
Джини были улучшены с 0.6 до 0.8, то есть на 33.3% — относительное улучшение
повысилось почти в три раза!

Чувствительность к соотношению классов. Рассмотрим задачу выделения ма-


тематических статей из множества научных статей. Допустим, что всего имеет-
ся 1.000.100 статей, из которых лишь 100 относятся к математике. Если нам удастся
построить алгоритм a(x), идеально решающий задачу, то его TPR будет равен еди-
нице, а FPR — нулю. Рассмотрим теперь плохой алгоритм, дающий положительный
ответ на 95 математических и 50.000 нематематических статьях. Такой алгоритм со-
вершенно бесполезен, но при этом имеет TPR = 0.95 и FPR = 0.05, что крайне близко
к показателям идеального алгоритма.
Таким образом, если положительный класс существенно меньше по размеру, то
AUC-ROC может давать неадекватную оценку качества работы алгоритма, посколь-
ку измеряет долю неверно принятых объектов относительно общего числа отрица-
тельных. Так, алгоритм b(x), помещающий 100 релевантных документов на позиции
с 50.001-й по 50.101-ю, будет иметь AUC-ROC 0.95.

Precison-recall кривая. Избавиться от указанной проблемы с несбалансированными


классами можно, перейдя от ROC-кривой к Precision-Recall кривой. Она определя-
ется аналогично ROC-кривой, только по осям откладываются не FPR и TPR, а пол-
нота (по оси абсцисс) и точность (по оси ординат). Критерием качества семейства
алгоритмов выступает площадь под PR-кривой (AUC-PR). Данную величину можно
аппроксимировать следующим образом. Стартуем из точки (0, 1). Будем идти по ран-
жированной выборке, начиная с первого объекта; пусть текущий объект находится
на позиции k. Если он относится к классу «−1», то полнота не меняется, точность па-
дает — соответственно, кривая опускается строго вниз. Если же объект относится к
классу «1», то полнота увеличивается на 1/ℓ+ , точность растет, и кривая поднимает-
ся вправо и вверх. Площадь под этим участком можно аппроксимировать площадью
прямоугольника с высотой, равной precision@k и шириной 1/ℓ+ . При таком способе
подсчета площадь под PR-кривой будет совпадать со средней точностью:

1 X
AUC-PR = [yk = 1]precision@k.
ℓ+ k=1
1
При условии, что прогнозы на всех объектах выборки попарно различны.
10

Отметим, что AUC-PR дает разумные результаты в рассмотренном выше при-


мере с классификацией статей. Так, при размещении 100 релевантных документов
на позициях 50.001-50.101 в ранжированном списке, AUC-PR будет равен 0.001.
Несмотря на указанные различия, между ROC- и PR-кривой имеется тесная
связь. Так, можно показать, что если ROC-кривая одного алгоритма лежит полно-
стью над ROC-кривой другого алгоритма, то и PR-кривая одного лежит над PR-
кривой другого [1].

Список литературы
[1] Davis J., Goadrich M. (2006). The Relationship Between Precision-Recall and ROC
Curves. // Proceedings of the 23rd International Conference on Machine Learning,
Pittsburgh, PA.

Вам также может понравиться