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

машинное обучение

Проблема двух классов - одна из самых основных проблем в обучении с учителем.Эта статья направлена ​​​​на то, чтобы разобраться во многих алгоритмах машинного обучения для решения проблемы двух классов с точки зрения значения оценки и функции потерь. Подробное введение в соответствующие алгоритмы можно найти в соответствующих учебниках.[1][2].

loss

учитывая набор данныхD={(\mathbf x_1, y_1), (\mathbf x_2, y_2), ..., (\mathbf x_m, y_m)}y_i\in \{-1, 1\},\mathbf x_i=(x_{i1}, x_{i2}, ...x_{id})является d-мерным вектором. Обратите внимание, что некоторые данные предпочитают использовать бинарную классификацию.\{0, 1\}В принципе, нет никакой разницы в том, какое число используется для представления бинарной классификации, но будут некоторые тонкие различия в математическом выражении.

Рейтинговое значение не является формальным термином в алгоритме машинного обучения, но мы могли бы установить такое понимание. Мы хотим строить по образцу\mathbf xоценочная функцияs(\mathbf x), его основная природа очень проста, то есть требования и целевые значенияyОдин и тот же знак, то есть положительный образец оценивается как положительное число, а отрицательный образец оценивается как отрицательное число, поэтому окончательная функция бинарной классификации имеет видsign(s(\mathbf x)).

Итак, как мы строим скоринговую функцию? Интуитивная идея состоит в том, что образецdВзвешенное суммирование каждого атрибута может отражать важность каждого атрибута в оценке Оценка, установленная таким образом, не обязательно имеет различительный эффект при значении 0, поэтому добавляется член смещения, поэтому функция оценкиs(\mathbf x)=w^T\mathbf x+b, многие алгоритмы могут быть получены из этой базовой функции оценки.

Основным стандартом для оценки проблемы двух классов является частота ошибок классификации.Для каждой выборки, если вы вычисляете ее функцию потерь, правильная потеря классификации равна 0, а потеря ошибки классификации равна 1. Эта функция потерь обычно называется 0 -1 функция потерь может быть записана какl_{0-1}=\mathbb{I}[sign(s(\mathbf x))\neq y].

Если рассматривать положительные и отрицательные образцы единообразно, пустьz=s(\mathbf x)*y, то когда классификация верна,zвсегда должно быть положительным значением, назовем его абсолютным рейтинговым значением,zявляется мерой правильности классификации. ноl_{0-1}=\mathbb{I}[sign(z)= -1], такl_{0-1}это оzкусочная функция. С точки зрения теории оптимизации эта функция не может найти градиент илисубградиент, поэтому необходимо найти его приближение для оптимизации. это приближение\widetilde lОсновной критерий для: всегда неотрицательна; когда она мала,l_{0-1}очень маленький.

Рейтинговые значения являются атрибутамиXЛинейная комбинация , с другой точки зрения, значение балла также относится к весуwлинейная комбинация . Как правило, мы будемXПревратитесь в новое функциональное пространство, чтобы получить\phi (\mathbf x). тогда рейтингz=(w^T\mathbf \phi (\mathbf x)+b)y. Приведенный выше анализ в основном такой же, но сложность модели выше. Следующий анализ по-прежнему проводится в исходном пространстве, если не указано иное.

1 Линейная регрессия

Значение рейтинга должно иметь тот же знак, что и целевое значение.Если цель задана более узко, значение рейтинга может быть установлено напрямую как\{-1, 1\}, Это задача линейной регрессии, и функция потерь использует квадрат ошибки (это можно понять интуитивно, а также можно считать, что ошибка выборки соответствует нормальному распределению, полученному с точки зрения максимальная вероятность, которая не является предметом рассмотрения в этой статье). уведомлениеl_{sqr}=(s(\mathbf x)-y)^2=(s(\mathbf x) * y-y^2)^2=(z-1)^2, поэтому функция ошибки соответствует абсолютному значению рейтингаzквадратичная функция. Как видно из рисункаl_{sqr}всегда больше, чемl_{0-1}, и когдаl_{sqr}относительно маленький,l_{0-1}также относительно невелик, поэтому его можно использовать какl_{0-1}приближение.

Линейная регрессия имеет закрытые решенияw=(X^TX)^{-1}X^Ty, так что использовать линейную регрессию для бинарной классификации очень просто, но эффект в целом не очень хороший, почему? отl_{sqr}Из кривой видно, что при большом абсолютном значении баллаl_{0-1}Он должен быть равен 0. Интуитивно большой абсолютный балл должен быть хорошим показателем для высокой степени различения, ноl_{sqr}Неразумно давать более строгое наказание. Линейная регрессия может дать довольно хорошийwзначение, которое можно использовать в качестве начального значения для других алгоритмов.

2 Обучение персептрона

Обучение персептрона можно понять с помощью следующей интуитивной идеи: для абсолютного значения рейтинга, когда оно положительное, классификация верна, мы считаем ошибку равной 0, а когда оно отрицательное, мы думаем, что чем дальше от 0 значение, тем больше ошибка, Прямо сейчасl_p=max(0, -z),отl_pИз кривой такжеl_{0-1}Аппроксимация , хотя это тоже кусочная функция, позволяет получить субградиенты,z\geqslant 0, градиент считается равным 0, когдаz<0час,\frac{dl_p}{dw}=\frac {dl_p}{dz}\frac{dz}{dw}=-1*y\mathbf x=-y\mathbf x, используя стохастический градиентный спуск,w\leftarrow w+\eta y\mathbf xТо есть оптимизируйте только при наличии ошибки оценки, что и делает алгоритм обучения персептрона.

3. Машины опорных векторов

Для функции ошибок, изученной персептроном, мы можем оптимизировать ее. Мы надеемся, что абсолютное значение оценки должно быть достаточно большим, чтобы мы могли быть более уверены, что выборка является положительной выборкой. Учитывая, чтоzэто оw,bМасштабируемый, может быть определен достаточно большим, чтобы быть больше 1. Так что естьl_{hinge}=max(0, 1-z), эта функция потерь называется функцией потерь шарнира. Учитывая структурный риск, нашей целью оптимизации является

\underset{w,b}{min}=\frac{1}{2}\left \|w  \right \|^2+C\sum_{i=1}^{m}max(0, 1-z)

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

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

4 Логистическая регрессия

существуетzНа основе значения мы надеемся, что он может рассчитать вероятность для измерения вероятности или степени правильной классификации. вскореzдиапазон значений от(-\infty , +\infty )сопоставить с(0,1), то сигмовидная функция — хороший выбор, она может найти градиент, а вероятность в 0 точно равна 0,5. который

sigmoid(z)=\frac {1}{1+exp(-z)}

Затем мы снова моделируем функцию потерь на основе этой сигмовидной функции.l_{0-1}(z), мы просим, ​​чтобы функция потерь была примерноzУменьшение, а оно всегда положительное, рассмотрим вероятность логарифмирования, а затем возьмем отрицательный знак, поэтому

l_{log}(z)=-log(sigmoid(z))=log(1+exp(-z))

Как видно из рисунка, он такжеl_{0-1}(z)приближение . Возьмите логарифмическую функцию потерь в качестве цели оптимизации.

\underset{w,b}{min}=\sum_{i=1}^{m}log(1+exp(-z))+ \lambda\left \|w  \right \|^2

Это логистическая регрессия с регуляризацией, посколькуl_{log}(z)Везде дифференцируемый, поэтому его можно решить с помощью методов оптимизации, таких как градиентный спуск.

5 AdaBoost

Показательная функция также может удовлетворять приближениюl_{0-1}Основное условие , т. е. функция потерь определяется какl_{exp}(z)=exp(-z).

Экспоненциальная функция потерь в сочетании с аддитивной моделью может вывести алгоритм AdaBoost.

Так называемую аддитивную модель можно понять следующим образом: предположим, мы получаем d-мерный вектор в пространстве признаков\phi(\mathbf x)Соответственно, существует d слабых классификаторов, то есть классификаторов с показателем точности на 50% выше, чем у случайного угадывания. Так называемый метод Boost предназначен для эффективного объединения этих слабых классификаторов для создания сильных классификаторов. Аддитивная модель по-прежнему остается линейной моделью. Есть еще функция подсчета очков, т.к.s(\mathbf x)=w^T\mathbf \phi (\mathbf x). (Учитывая, что сам слабый классификатор может быть необъективным,b=0. ) только здесь\phi(\mathbf x)Представляет слабый классификатор, а не простое преобразование атрибута (по сути, это тоже преобразование атрибута).

AdaBoost — это пошаговый итеративный процесс, предполагающий, что послеm-1Кольцо было оценено функциейs_{m-1}(\mathbf x)=\sum_{i=1}^{m-1}w_i\phi_i(\mathbf x), вmПосле итераций получаемw_m, \phi_m(\mathbf x), s_m(\mathbf X),ноs_m(\mathbf X)=s_{m-1}(\mathbf X)+w_m\phi_m(\mathbf x), цель оптимизации AdaBoost состоит в том, чтобы минимизировать функцию оценки, полученную на каждом шаге, по отношению к экспоненциальной функции потерь, а именно

w_m, \phi_m = arg\underset{w,\phi}{min}\sum_{i=1}^Nexp(-z_{mi})  \quad z_{mi}=y_is_m(\mathbf X_i)

Дальнейший вывод этой формулы здесь подробно описываться не будет.

резюме

Выше было введено шесть видов функций потерь. Все они являются монотонными невозрастающими функциями значения оценки. Последние пять связаны с приближенной заменой функции потерь 0-1. Можно ли получить решение исходной задачи с помощью Решая функцию замещения, есть углубленное исследование, называемое проблемой «постоянства» потери замещения.[3].

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


  1. Статистические методы обучения Ли Ханг↩︎

  2. Машинное обучение Чжоу Чжихуа↩︎

  3. проект Euclid.org/download/… ↩︎