БПИ-181 Сайкина О.А. Интеллектуальные информационные системы Тема 6. Распознавание образов Метод опорных векторов Классификация данных - общая задача машинного обучения. Пусть некоторые заданные наблюдения (объекты) принадлежат к одному из двух классов. Задача состоит в том, чтобы определить, к какому классу будут принадлежать новые наблюдения. В случае метода опорных векторов точка в пространстве рассматривается как вектор размерности p. Метод опорных векторов Мы хотим узнать, сможем ли мы разделить данные точки гиперплоскостью размерности (p-1). Ее назовем линией классификатора. Данные могут быть классифицированы с помощью различных гиперплоскостей. Лучшая гиперплоскость гиперплоскость, при построении которой разделение и разница между 2 классами максимально. Двумерные объекты – данные на плоскости. Рассмотрим данные на плоскости, гиперплоскость в данном случае – это прямая (см. рисунок 1). Проведем любую прямую, она разделит точки на 2 множества. Выберем прямую, максимально далеко проходящую от точек. Расстояние от нее до ближайшей точки с каждой стороны максимальна. Если такая прямая существует, то ее называют гиперплоскость максимальной разницы, и линейный классификатор, ее определяющий, соответственно классификатор максимальной разности или персептрон оптимальной стабильности (устойчивости). Рисунок 1. Сплошная линия с малой маржей, которая является расстоянием между 2 параллельными пунктирными линиями Опорные вектора – это точки, для которых расстояние до гиперплоскости . Они являются эффективными элементами на обучающей выборке. Рисунок 2 Сплошная линия с максимальной маржей. Точки, лежащие на пунктирной линии, являются опорными векторами. Свойство метода опорных векторов Если все точки, кроме опорных векторов, удалить, алгоритм метода опорных векторов останется прежним. Это свойство делает SVM уникальным, непохожим на все другие методы, такие как kNN, LLSF, NNet и NB, где все точки обучаемой выборки используются для оптимизации функции. Теоретическое различие приводит к значительному различию между SVM и другими методами на практике. Этот подход обобщается на многомерный случай. Линейный метод опорных векторов Даны наблюдения для обучения D, набор состоящий из n объектов: D= где y принимает значения -1 или 1, определяя какому классу принадлежит каждая точка . Каждая точка – вектор размерности p. Мы хотим найти гиперплоскость максимальной разности, которая разделяет наблюдения, имеющие от объектов . Любую гиперплоскость можно записать как множество точек x, удовлетворяющих: w*x-b=0, где * - скалярное произведение нормали к гиперплоскости на вектор x. Параметр определяет смещение гиперплоскости от начала координат вдоль нормали w. Если обучающие данные являются линейно разделимыми, мы можем выбрать две параллельные гиперплоскости таким образом, что они разделят множество точек на 2 класса, и точек между ними не будет. Затем пытаются максимизировать дистанцию между ними, одновременно делая поворот и параллельно сдвиг параллельных прямых. Область, ограниченная 2 гиперплоскостями, называется "разностью (маржей)". Эти гиперплоскости могут быть описаны уравнениями: w*x-b=1 w*x-b=-1 Используя геометрию, находим расстояние между этими гиперплоскостями Для того, чтобы дистанция была максимальной, минимизируем ‖w‖. Чтобы исключить все точки из полосы, мы должны убедиться для всех наблюдений справедливо: Эквивалентно Далее решается задача оптимизации: Нелинейный классификатор Для создания нелинейного классификатора используется произвольная функция ядра. Каждое скалярное произведение заменяется на нелинейную функцию ядра. Это позволяет находить гиперплоскость максимальной разности в трансформированном пространстве функций. Изменение может быть нелинейно и трансформироваться в пространство с более высокой размерностью. Несмотря на то, что классификатор является гиперплоскостью в многомерном пространстве функций, он может быть нелинейным в исходном пространстве обучающей выборки. Рисунок 3 Метод с использование функции ядра Если ядро использовало Гауссовские функции радиального базиса, соответствующее пространство функций является Гильбертовым пространством с бесконечной размерностью. Классификатор максимальной разности хорошо урегулирован, т.к. бесконечная размерность не портит результаты. Некоторые ядра включают в себя: Однородный полином: Неоднородный полином: Гауссовскую функцию радиального базиса: • Гиперболический тангенс Ядро связанно с преобразованием Оценка w в трансформированном пространстве: уравнения: k( )= Свойства Метод опорных векторов принадлежит к семейству общих линейных классификаторов и может быть интерпретирован как расширение персептрона. Они могут считаться специальными случаями регуляризации Тихонова. Специальное свойство проявляется в том, что они симулируют минимальную эмпирическую ошибку классификации и максимизируют геометрическую разницу (маржу). Параметр выбора Эффективность метода опорных векторов зависит от выбора ядра, параметров ядра и параметра С для геометрической разницы. Общий выбор – Гауссовское ядро, которое имеет один параметр γ. Лучшую комбинацию С и γ обычно выбирают используя поиск по сетке с экспоненциальным ростом частоты С и γ. Каждая комбинация проверяется с использованием кросспроверки, и выбирается та, которая проявила себя лучше всех других на кросс-проверке. Финальная модель, которая используется для тестирования и классификации новых данных, обучается затем на всем множестве с использованием выбранных параметров. Недостатки метода Потенциальные недостатки метода опорных векторов включают три аспекта: Невозможность калибровки вероятности попадания в какой-то из классов Метод опорных векторов подходит только для решения задач с 2 классами Параметры модели сложно интерпретировать Обобщенный метод опорных векторов в случае существование множества классов (мультиклассовый) Предпосылка: Существование множества классов (больше двух) Наиболее популярный подход переход от задачи классификации на множество классов к множественной задаче разбиения на 2 класса. Данный метод использует 2 стратегии: «один-против-всех» «один-против-одного» «Один против всех» Обучается N классификаторов, где N – количество классов. Классификатор с самым высоким значение функции выхода присваивает новый объект к определенному классу. «Один-против-одного» Также обучается N классификаторов, только теперь объект присваивается к тому классу, к которому его отнесло большинство классификаторов. 1. Ориентированный ациклический граф 2. Коды, корректирующие ошибки выхода