Машинное обучение вики
Advertisement

Линейно разделимый случай SVM[]

Пусть дана выборка

Линейный классификатор:

Какой геометрический смысл у линейного классификатора? Он строит гиперплоскость, которая задается уравнением:

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

Найдем расстояние от него до гиперплоскости. Известно, что расстояние может быть посчитано по формуле: В нашем случае расстояние до гиперплоскости равно .

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

Итак, перейдем к математической постановке задачи:

Заметим, что второе и третье уравнение можно переписать в виде одного:

Если точка - решение задачи, то для - тоже решение. Положим , т.к. мы можем масштабировать .

Итого получим следующую задачу:

Выделяют два типа объектов:

  • Опорные вектора:
  • Неинформативные векторы:

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

Линейно неразделимый случай SVM[]

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

надо как-то штрафовать, чтобы они не были слишком большими. В итоге получим следующую задачу:

Параметр определяет цену ошибки классификации. Заметим, что в качестве штрафа мы также могли взять .

Классификация типов объектов[]

Выделяют несколько типов объектов:

  • Неинформативные:
  • Опорные векторы:
    • Граничные опорные векторы:
    • Опорные вектора-нарушители:
      • - векторы, лежащие внутри разделяющей полосы, но в своем классе
      • - векторы, которые классифицируются неверно

Какой функции потерь и регуляризатору соответствует SVM?[]

Рассмотрим еще раз линейно неразделимый случай SVM.

Постараемся избавиться от . Ясно, что из последних двух неравенства можем получить:

Или иначе это можно записать:

И тогда нашу задачу можно переписать в виде:

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

Вывод решения[]

Запишем еще раз условия задачи:

Запишем Лагранжиан:

Выпишем Условия Куна-Таккера:


Воспользуемся этими условиями и перепишем Лагранжиан:

Таким образом мы перешли к двойственной задаче:

Обобщение через ядра[]

Вместо скалярного произведения можно использовать ядра:

В этом случае классификатор будет иметь вид:

Advertisement