Какой геометрический смысл у линейного классификатора? Он строит гиперплоскость, которая задается уравнением:
И объекты лежащие по разные стороны от разделяющей поверхности классификатор относит к разным классам. Возьмем из обучающий выборки объект, лежащий ближе всего к разделяющей поверхности. И пусть для него выполнено следующее равенство:
Найдем расстояние от него до гиперплоскости. Известно, что расстояние может быть посчитано по формуле: В нашем случае расстояние до гиперплоскости равно .
Таким образом ширина разделяющей полосы будет равна и наша задача заключается в нахождении вектора . Он должен быть таким, чтобы гиперплоскость линейно разделяла нашу выборку и ширина зазора между классами была максимальной. Зачем это нужно? Мы знаем, что чем больше значение тем классификатор увереннее в ответе. Поэтому мы и хотим увеличить ширину зазора между классами, чтобы повысить качество классификации.
Итак, перейдем к математической постановке задачи:
Заметим, что второе и третье уравнение можно переписать в виде одного:
Если точка - решение задачи, то для - тоже решение. Положим , т.к. мы можем масштабировать .
Итого получим следующую задачу:
Выделяют два типа объектов:
Опорные вектора:
Неинформативные векторы:
Но все это не имеет отношения к жизни, потому что линейно разделимых выборок не бывает.
Линейно неразделимый случай SVM[]
Теперь рассмотрим случай, когда не удается линейно разделить выборку на два класса. Решать задачу по новой не хочется, поэтому ослабим условие предыдущей задачи. Т.е. разрешим объектам из одного класса попадать в область второго класса.
надо как-то штрафовать, чтобы они не были слишком большими. В итоге получим следующую задачу:
Параметр определяет цену ошибки классификации. Заметим, что в качестве штрафа мы также могли взять .
Классификация типов объектов[]
Выделяют несколько типов объектов:
Неинформативные:
Опорные векторы:
Граничные опорные векторы:
Опорные вектора-нарушители:
- векторы, лежащие внутри разделяющей полосы, но в своем классе
- векторы, которые классифицируются неверно
Какой функции потерь и регуляризатору соответствует SVM?[]
Рассмотрим еще раз линейно неразделимый случай SVM.
Постараемся избавиться от . Ясно, что из последних двух неравенства можем получить:
Или иначе это можно записать:
И тогда нашу задачу можно переписать в виде:
Это и есть функция потерь, которую мы пытаемся минимизировать. Видно, что в данном случае используется регуляризация, а функция потерь является кусочно - линейной.
Вывод решения[]
Запишем еще раз условия задачи:
Запишем Лагранжиан:
Выпишем Условия Куна-Таккера:
Воспользуемся этими условиями и перепишем Лагранжиан:
Таким образом мы перешли к двойственной задаче:
Обобщение через ядра[]
Вместо скалярного произведения можно использовать ядра: