Перейти к основному содержимому

Отступ классификации

Введение

В регрессии (когда прогнозируем вещественное число) есть понятие величины ошибки, характеризующей степень того, насколько мы ошиблись в прогнозе:

ε=fw(x)y\varepsilon = f_\mathbf{w}(\mathbf{x})-y

Соответственно, мы определяем функцию потерь от этой ошибки, характеризующую штраф за то или иное отклонение:

задачаназваниеформула
регрессияквадрат ошибки (squared error)(fw(x)y)2(f_\mathbf{w}(\mathbf{x})-y)^2
регрессиямодуль ошибки (absolute error)fw(x)y\vert f_\mathbf{w}(\mathbf{x})-y \vert
регрессияα\alpha-нечувствительная, α>0\alpha>0max{0,fw(x)yα}\max\{0,\vert f_\mathbf{w}(\mathbf{x})-y\vert-\alpha\}
Проинтерпретируйте α\alpha-нечувствительные потери.

α\alpha-нечувствительные потери штрафуют отклонение пропорционально величине отклонения за вычетом α\alpha и вообще не штрафуют, если отклонение оказалось по абсолютной величине меньше α\alpha. Это полезно в приложениях, где существует некоторый допустимый уровень ошибки, таких как прогноз погоды для бытовых нужд, когда разница в ±1\pm 1 градус несущественна.

Но как измерять степень рассогласованности классификационного прогноза с истинным значением? Можно смотреть на индикатор ошибки I{fw(x)y}\mathbb{I}\{f_\mathbf{w}(\mathbf{x})\ne y\}, однако эта величина принимает всего два дискретных значения: 0 для верного и 1 - для неверного прогноза! Индикатор не позволяет понять, насколько уверенно модель пыталась предсказать правильный отклик! Для этого используется понятие отступа (margin).

Отступ для многоклассовой классификации

Определение отступа

Отступ (margin) - непрерывная величина, измеряющая качество классификации по формуле:

M(x,y)=gy(x)maxcygc(x),M(\mathbf{x},y)=g_y(\mathbf{x})-\max_{c\ne y}g_c(\mathbf{x}),

где gy(x)g_y(\mathbf{x}) - рейтинг верного класса, а maxcygc(x)\max_{c\ne y}g_c(\mathbf{x}) - максимальный рейтинг среди всех неверных.

Отступ по смыслу измеряет, насколько модель уверенно назначала верный класс по сравнению со всеми неверными. Чем отступ выше, тем модель была более уверена в правильном прогнозе. Если M(x,y)>0M(\mathbf{x},y)>0, то модель делает верный прогноз, а если M(x,y)<0M(\mathbf{x},y)<0, то неверный.

Если применить модель ко всем объектам обучающей выборки, посчитать на них отступ и отсортировать по нему, то получим примерно такой график:

objects-by-margin.png

По величине отступа объекты делятся на следующие категории:

  • Надежно классифицированные объекты (обозначены светло-зелёным): отступ положительный и заметно больше нуля. При хорошей настройке модели большинство объектов будут принадлежать этой категории.

  • Объекты-эталоны (обозначены насыщенным зелёным): отступ положительный и большой. Объекты, лежащие в глубине своего класса и описывающие характерных представителей своего класса.

  • Пограничные объекты (обозначены оранжевым): отступ несильно отличается от нуля, объекты лежат на границе классов, и на таких объектах обычно достигается максимальное число ошибок.

  • Объекты-выбросы (обозначены красным): отступ отрицательный и большой по абсолютной величине. Объекты лежат в глубине чужого класса. На них модель уверена, что класс один, хотя на самом деле он совсем другой.

Для повышения точности настройки модели полезно отфильтровать объекты-выбросы, чтобы они не мешали её настройке.

При этом, если нужно сократить размер обучающей выборки для повышения эффективности обучения, то делать это можно взяв эталонные объекты (определяющие расположения классов) и пограничные (несущие более детальную информацию о границах между ними), добавляя в первую очередь те пограничные объекты, на которых отступ меньше, но которые всё ещё не являются выбросами. Уменьшение размера выборки известно в литературе как отбор прототипов (prototype selection). О более продвинутых подходах можно прочитать в [1].

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

Отступ для бинарной классификации

В случае бинарной классификации формула для отступа упрощается:

M(x,y)=gy(x)gy(x)=y(g+1(x)g1(x))=yg(x),M(\mathbf{x},y)=g_y(\mathbf{x})-g_{-y}(\mathbf{x})=y(g_{+1}(\mathbf{x})-g_{-1}(\mathbf{x}))=yg(\mathbf{x}),

где, как и раньше, g(x)=g+1(x)g1(x)g(\mathbf{x})=g_{+1}(\mathbf{x})-g_{-1}(\mathbf{x}) определяет относительную дискриминантную функцию.

Литература

  1. Bien J., Tibshirani R. Prototype selection for interpretable classification. – 2011.