Машина опорных векторов
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
В машинном обучении поддержка векторных машин ( SVM) , также поддержка векторных сетей. [1] ) — это контролируемые модели максимальной прибыли с соответствующими алгоритмами обучения , которые анализируют данные для классификации и регрессионного анализа . Разработан в AT&T Bell Laboratories Владимиром Вапником с коллегами (Boser et al., 1992, Guyon et al., 1993, Cortes and Vapnik , 1995, [1] Вапник и др., 1997. [2] ) SVM являются одной из наиболее изученных моделей, основанных на статистических основах обучения теории венчурного капитала, предложенных Вапником (1982, 1995) и Червоненкисом (1974).
Помимо выполнения линейной классификации , SVM могут эффективно выполнять нелинейную классификацию, используя так называемый трюк ядра , представляя данные только через набор попарных сравнений сходства между исходными точками данных с использованием функции ядра, которая преобразует их в координаты. в многомерном пространстве признаков . Таким образом, SVM используют трюк с ядром для неявного отображения своих входных данных в многомерные пространства признаков, где можно выполнить линейную классификацию. [3] Будучи моделями с максимальной прибылью, SVM устойчивы к зашумленным данным (например, неправильно классифицированным примерам). SVM также можно использовать для задач регрессии , где целью становится -чувствительный.
Кластеризация опорных векторов [4] Алгоритм, созданный Хавой Зигельманном и Владимиром Вапником , применяет статистику опорных векторов, разработанную в алгоритме машин опорных векторов, для категоризации неразмеченных данных. [ нужна ссылка ] Эти наборы данных требуют подходов к обучению без учителя , которые пытаются найти естественную кластеризацию данных по группам, а затем сопоставить новые данные в соответствии с этими кластерами.
Популярность SVM, вероятно, обусловлена их поддающимися теоретическому анализу, их гибкостью в применении к широкому кругу задач, включая задачи структурированного прогнозирования . Неясно, обладают ли SVM лучшими прогностическими характеристиками, чем другие линейные модели, такие как логистическая регрессия и линейная регрессия . [ нужна ссылка ]
Мотивация
[ редактировать ]Классификация данных — распространенная задача в машинном обучении .Предположим, каждая из заданных точек данных принадлежит к одному из двух классов, и цель состоит в том, чтобы решить, в каком классе будет находиться новая точка данных . В случае машин опорных векторов точка данных рассматривается как -мерный вектор (список числа), и мы хотим знать, сможем ли мы разделить такие точки с помощью -мерная гиперплоскость . Это называется линейным классификатором . Существует множество гиперплоскостей, которые могут классифицировать данные. Разумным выбором в качестве лучшей гиперплоскости является та, которая представляет собой наибольшее расстояние или границу между двумя классами. Поэтому мы выбираем гиперплоскость так, чтобы расстояние от нее до ближайшей точки данных на каждой стороне было максимальным. Если такая гиперплоскость существует, она называется гиперплоскостью с максимальным запасом , а линейный классификатор, который она определяет, известен как классификатор с максимальным запасом ; или, что то же самое, перцептрон оптимальной стабильности . [ нужна ссылка ]
Более формально, машина опорных векторов создает гиперплоскость или набор гиперплоскостей в многомерном или бесконечномерном пространстве, которые можно использовать для классификации , регрессии или других задач, таких как обнаружение выбросов. [5] Интуитивно понятно, что хорошее разделение достигается с помощью гиперплоскости, которая имеет наибольшее расстояние до ближайшей точки обучающих данных любого класса (так называемый функциональный запас), поскольку, как правило, чем больше запас, тем ниже ошибка обобщения классификатора. [6] Меньшая ошибка обобщения означает, что разработчик с меньшей вероятностью столкнется с переоснащением .
Хотя исходная задача может быть сформулирована в конечномерном пространстве, часто случается, что дискриминируемые множества не являются линейно разделимыми в этом пространстве. По этой причине было предложено [7] что исходное конечномерное пространство отображается в пространство гораздо более высокой размерности, что, по-видимому, облегчает разделение в этом пространстве. Чтобы поддерживать разумную вычислительную нагрузку, отображения, используемые схемами SVM, разработаны таким образом, чтобы гарантировать, что скалярные произведения пар векторов входных данных могут быть легко вычислены в терминах переменных в исходном пространстве, определяя их в терминах функции ядра. выбранный для решения проблемы. [8] Гиперплоскости в многомерном пространстве определяются как набор точек, скалярное произведение которых с вектором в этом пространстве является постоянным, причем такой набор векторов представляет собой ортогональный (и, следовательно, минимальный) набор векторов, определяющий гиперплоскость. Векторы, определяющие гиперплоскости, можно выбрать как линейные комбинации с параметрами изображений векторов признаков которые происходят в базе данных. При таком выборе гиперплоскости точки в пространстве признаков , отображаемых в гиперплоскость, определяются соотношением Обратите внимание, что если становится маленьким, так как растет дальше от , каждое слагаемое суммы измеряет степень близости контрольной точки в соответствующую точку базы данных . Таким образом, сумму ядер, приведенную выше, можно использовать для измерения относительной близости каждой контрольной точки к точкам данных, происходящим из одного или другого из наборов, подлежащих различению. Обратите внимание на то, что множество точек отображенные в любую гиперплоскость, в результате могут быть весьма запутанными, что позволяет гораздо более сложно различать множества, которые вообще не являются выпуклыми в исходном пространстве.
Приложения
[ редактировать ]SVM можно использовать для решения различных реальных задач:
- SVM полезны при категоризации текста и гипертекста , поскольку их применение может значительно снизить потребность в помеченных обучающих примерах как в стандартных индуктивных, так и в трансдуктивных настройках. [9] Некоторые методы поверхностного семантического анализа основаны на машинах опорных векторов. [10]
- Классификацию изображений также можно выполнить с помощью SVM. Результаты экспериментов показывают, что SVM достигают значительно более высокой точности поиска, чем традиционные схемы уточнения запроса, уже после трех-четырех раундов обратной связи по релевантности. Это также верно для систем сегментации изображений , в том числе использующих модифицированную версию SVM, использующую привилегированный подход, предложенный Вапником. [11] [12]
- Классификация спутниковых данных, таких как данные SAR, с использованием контролируемого SVM. [13]
- Рукописные символы можно распознать с помощью SVM. [14] [15]
- Алгоритм SVM широко применяется в биологических и других науках. Они использовались для классификации белков, при этом до 90% соединений были классифицированы правильно. Тесты перестановок, основанные на весах SVM, были предложены в качестве механизма интерпретации моделей SVM. [16] [17] Машинные веса опорных векторов также использовались для интерпретации моделей SVM в прошлом. [18] Постфокальная интерпретация машинных моделей опорных векторов с целью выявления особенностей, используемых моделью для прогнозирования, является относительно новой областью исследований, имеющей особое значение в биологических науках.
История
[ редактировать ]Оригинальный алгоритм SVM был изобретен Владимиром Н. Вапником и Алексеем Я. Червоненкиса в 1964 году. [ нужна ссылка ] В 1992 году Бернхард Бозер, Изабель Гийон и Владимир Вапник предложили способ создания нелинейных классификаторов, применив трюк с ядром к гиперплоскостям с максимальным запасом. [7] Вариант «мягкой маржи», обычно используемый в пакетах программного обеспечения, был предложен Коринной Кортес и Вапником в 1993 году и опубликован в 1995 году. [1]
Линейная СВМ
[ редактировать ]Нам дан набор обучающих данных точки формы где равны либо 1, либо −1, каждый из которых указывает на класс, к которому относится точка. принадлежит. Каждый это -мерный действительный вектор. Мы хотим найти «гиперплоскость с максимальным запасом», разделяющую группу точек. для чего из группы точек, для которых , который определяется так, что расстояние между гиперплоскостью и ближайшей точкой из любой группы максимизируется.
Любую гиперплоскость можно записать как множество точек удовлетворяющий где — (не обязательно нормированный) вектор нормали к гиперплоскости. Это очень похоже на нормальную форму Гессена , за исключением того, что не обязательно является единичным вектором. Параметр определяет смещение гиперплоскости от начала координат вдоль вектора нормали. Не удалось проанализировать (SVG (MathML можно включить через плагин браузера): неверный ответ («Расширение Math не может подключиться к Restbase.») от сервера «http://localhost: 6011/en.wikipedia.org/v1/":): {\displaystyle \mathbf{w}} .
Жесткая маржа
[ редактировать ]Если обучающие данные линейно разделимы , мы можем выбрать две параллельные гиперплоскости, разделяющие два класса данных, так, чтобы расстояние между ними было как можно большим. Область, ограниченная этими двумя гиперплоскостями, называется «полем», а гиперплоскость с максимальным запасом — это гиперплоскость, лежащая на полпути между ними. С помощью нормализованного или стандартизированного набора данных эти гиперплоскости можно описать уравнениями
- (все, что находится на этой границе или выше, относится к одному классу с меткой 1)
и
- (все, что находится на этой границе или ниже, относится к другому классу с меткой −1).
Геометрически расстояние между этими двумя гиперплоскостями равно , [19] поэтому, чтобы максимизировать расстояние между плоскостями, мы хотим минимизировать . Расстояние вычисляется с использованием уравнения расстояния от точки до плоскости . Нам также необходимо предотвратить попадание точек данных в пределы поля. Мы добавляем следующее ограничение: для каждого или или Эти ограничения гласят, что каждая точка данных должна лежать на правильной стороне поля.
Это можно переписать как
( 1 ) |
Мы можем объединить это, чтобы получить задачу оптимизации:
The и которые решают эту задачу, определяют окончательный классификатор, , где это знаковая функция .
Важным следствием этого геометрического описания является то, что гиперплоскость с максимальным запасом полностью определяется теми которые лежат ближе всего к нему (поясняется ниже). Эти называются опорными векторами .
Мягкая маржа
[ редактировать ]Чтобы расширить SVM на случаи, когда данные не являются линейно разделимыми, шарнирных потерь полезна функция .
Обратите внимание, что - i -я цель (т. е. в данном случае 1 или -1), и это i -й выход.
Эта функция равна нулю, если выполнено ограничение в (1) , другими словами, если лежит на правильной стороне поля. Для данных на неправильной стороне поля значение функции пропорционально расстоянию от поля.
Целью оптимизации является минимизация:
где параметр определяет компромисс между увеличением размера маржи и обеспечением того, чтобы лежат на правильной стороне поля (обратите внимание, что мы можем добавить вес к любому члену в приведенном выше уравнении). Путем деконструкции шарнирных потерь эту проблему оптимизации можно свести к следующему:
Таким образом, при больших значениях , он будет вести себя аналогично SVM с жесткой маржой, если входные данные поддаются линейной классификации, но все равно узнает, жизнеспособно ли правило классификации или нет.
Нелинейные ядра
[ редактировать ]Оригинальный алгоритм гиперплоскости с максимальным запасом, предложенный Вапником в 1963 году, построил линейный классификатор . Однако в 1992 году Бернхард Бозер , Изабель Гийон и Владимир Вапник предложили способ создания нелинейных классификаторов, применив трюк с ядром (первоначально предложенный Айзерманом и др. [20] ) к гиперплоскостям с максимальным запасом. [7] Трюк с ядром, когда скалярные произведения заменяются ядрами, легко выводится в двойственном представлении проблемы SVM. Это позволяет алгоритму вписать гиперплоскость с максимальным запасом в преобразованное пространство признаков . Преобразование может быть нелинейным, а преобразованное пространство — многомерным; хотя классификатор представляет собой гиперплоскость в преобразованном пространстве признаков, он может быть нелинейным в исходном входном пространстве.
Примечательно, что работа в многомерном пространстве признаков увеличивает ошибку обобщения машин опорных векторов, хотя при достаточном количестве выборок алгоритм по-прежнему работает хорошо. [21]
Некоторые распространенные ядра включают в себя:
- Полиномиальный (однородный) : . В частности, когда , это становится линейным ядром.
- Полиномиальный (неоднородный): .
- Гауссова радиальная базисная функция : для . Иногда параметризуется с использованием .
- Сигмовидная функция ( Гиперболический тангенс ): для некоторых (не для всех) и .
Ядро связано с преобразованием по уравнению . Значение w также находится в преобразованном пространстве, причем . Скалярные произведения с w для классификации снова можно вычислить с помощью трюка с ядром, т.е. .
Вычисление классификатора SVM
[ редактировать ]Вычисление классификатора SVM (с мягким пределом) сводится к минимизации выражения формы
( 2 ) |
Мы сосредоточимся на классификаторе мягкой маржи, поскольку, как отмечалось выше, выбор достаточно малого значения для дает классификатор с жесткой маржой для линейно классифицируемых входных данных. Классический подход, предполагающий сведение (2) к задаче квадратичного программирования , подробно описан ниже. Затем будут обсуждаться более современные подходы, такие как субградиентный спуск и координатный спуск.
Первобытный
[ редактировать ]Минимизацию (2) можно переписать как задачу оптимизации с ограничениями и дифференцируемой целевой функцией следующим образом.
Для каждого мы вводим переменную . Обратите внимание, что - наименьшее неотрицательное число, удовлетворяющее
Таким образом, мы можем переписать задачу оптимизации следующим образом:
Это называется первичной проблемой.
Двойной
[ редактировать ]Решая лагранжеву двойственную вышеприведенную задачу, можно получить упрощенную задачу
Это называется двойной проблемой. Поскольку задача двойной максимизации является квадратичной функцией при наличии линейных ограничений она эффективно решается с помощью алгоритмов квадратичного программирования .
Здесь переменные определены так, что
Более того, именно когда лежит на правильной стороне поля, и когда лежит на границе границы. Отсюда следует, что можно записать как линейную комбинацию опорных векторов.
Смещение, , можно восстановить, найдя на границе поля и решение
(Обратите внимание, что с .)
Трюк с ядром
[ редактировать ]Предположим теперь, что мы хотели бы изучить правило нелинейной классификации, которое соответствует правилу линейной классификации для преобразованных точек данных. Более того, нам дана функция ядра который удовлетворяет .
Мы знаем вектор классификации в преобразованном пространстве удовлетворяет
где, получаются решением оптимизационной задачи
Коэффициенты можно решить с помощью квадратичного программирования, как и раньше. Опять же, мы можем найти некоторый индекс такой, что , так что лежит на границе поля в преобразованном пространстве, а затем решить
Окончательно,
Современные методы
[ редактировать ]Последние алгоритмы поиска классификатора SVM включают субградиентный спуск и координатный спуск. Оба метода доказали, что они предлагают значительные преимущества по сравнению с традиционным подходом при работе с большими, разреженными наборами данных: субградиентные методы особенно эффективны, когда имеется много обучающих примеров, и координирующий спуск, когда размерность пространства признаков высока.
Субградиентный спуск
[ редактировать ]Алгоритмы субградиентного спуска для SVM работают непосредственно с выражением
Обратите внимание, что является выпуклой функцией и . Таким образом, можно адаптировать традиционные методы градиентного спуска (или SGD ), где вместо шага в направлении градиента функции делается шаг в направлении вектора, выбранного из субградиента функции . Преимущество этого подхода заключается в том, что для некоторых реализаций количество итераций не масштабируется с ростом числа итераций. , количество точек данных. [22]
Координатный спуск
[ редактировать ]Алгоритмы координатного спуска для SVM работают на основе двойственной задачи.
Для каждого , итеративно, коэффициент корректируется в направлении . Тогда результирующий вектор коэффициентов проецируется на ближайший вектор коэффициентов, удовлетворяющий заданным ограничениям. (Обычно используются евклидовы расстояния.) Затем процесс повторяется до тех пор, пока не будет получен почти оптимальный вектор коэффициентов. Полученный алгоритм на практике чрезвычайно быстр, хотя было доказано мало гарантий производительности. [23]
Минимизация эмпирического риска
[ редактировать ]Описанная выше машина опорных векторов мягкой маржи является примером алгоритма минимизации эмпирического риска (ERM) для потерь шарнира . С этой точки зрения машины опорных векторов принадлежат к естественному классу алгоритмов статистического вывода, и многие из его уникальных особенностей обусловлены поведением потерь шарнира. Эта перспектива может дать дальнейшее понимание того, как и почему работают SVM, и позволит нам лучше анализировать их статистические свойства.
Минимизация рисков
[ редактировать ]При контролируемом обучении каждому дается набор обучающих примеров. с этикетками и желает предсказать данный . Для этого формируют гипотезу , , такой, что является «хорошим» приближением . «Хорошее» приближение обычно определяется с помощью функции потерь : , что характеризует, насколько плохо это как предсказание . Затем мы хотели бы выбрать гипотезу, которая минимизирует ожидаемый риск :
В большинстве случаев мы не знаем совместного распределения прямо. В этих случаях общей стратегией является выбор гипотезы, которая минимизирует эмпирический риск:
При некоторых предположениях о последовательности случайных величин (например, что они генерируются конечным марковским процессом), если набор рассматриваемых гипотез достаточно мал, минимизатор эмпирического риска будет близко приближаться к минимизатору ожидаемого риска как вырастает большим. Этот подход называется минимизацией эмпирического риска или ERM.
Регуляризация и стабильность
[ редактировать ]Чтобы задача минимизации имела четко определенное решение, мы должны наложить ограничения на множество рассматриваемых гипотез. Если является нормированным пространством (как и в случае с SVM), особенно эффективным методом является рассмотрение только тех гипотез, для чего . Это эквивалентно наложению штрафа за регуляризацию. и решение новой задачи оптимизации
Этот подход называется регуляризацией Тихонова .
В более общем смысле, может быть некоторой мерой сложности гипотезы , поэтому предпочтение отдается более простым гипотезам.
SVM и потеря шарнира
[ редактировать ]Напомним, что классификатор SVM (мягкая маржа) выбран так, чтобы минимизировать следующее выражение:
В свете вышеизложенного мы видим, что метод SVM эквивалентен эмпирической минимизации риска с регуляризацией Тихонова, где в этом случае функцией потерь является шарнирная потеря
С этой точки зрения SVM тесно связан с другими фундаментальными алгоритмами классификации, такими как регуляризованный метод наименьших квадратов и логистическая регрессия . Разница между этими тремя заключается в выборе функции потерь: регуляризованный метод наименьших квадратов представляет собой эмпирическую минимизацию риска с квадратичными потерями , ; логистическая регрессия использует логарифм потерь ,
Целевые функции
[ редактировать ]Разницу между шарнирными потерями и другими функциями потерь лучше всего выразить с точки зрения целевых функций — функции, которая минимизирует ожидаемый риск для данной пары случайных величин. .
В частности, пусть обозначать при условии, что . В настройке классификации мы имеем:
Таким образом, оптимальный классификатор:
Для квадрата потерь целевой функцией является функция условного ожидания, ; Для логистических потерь это функция логита, . Хотя обе эти целевые функции дают правильный классификатор, как , они дают нам больше информации, чем нам нужно. Фактически, они дают нам достаточно информации, чтобы полностью описать распространение .
С другой стороны, можно проверить, что целевая функция шарнирных потерь в точности равна . Таким образом, в достаточно богатом пространстве гипотез (или, что то же самое, при правильно выбранном ядре) классификатор SVM будет сходиться к простейшей функции (в терминах ), который правильно классифицирует данные. Это расширяет геометрическую интерпретацию SVM: для линейной классификации эмпирический риск минимизируется любой функцией, границы которой лежат между опорными векторами, и самым простым из них является классификатор максимальной маржи. [24]
Характеристики
[ редактировать ]SVM принадлежат к семейству обобщенных линейных классификаторов и могут интерпретироваться как расширение перцептрона . Их также можно считать частным случаем тихоновской регуляризации . Особым свойством является то, что они одновременно минимизируют ошибку эмпирической классификации и максимизируют геометрическую границу ; следовательно, они также известны как классификаторы максимальной маржи .
Сравнение SVM с другими классификаторами было проведено Мейером, Лейшем и Хорником. [25]
Выбор параметров
[ редактировать ]Эффективность SVM зависит от выбора ядра, параметров ядра и параметра мягкой маржи. .Распространенным выбором является ядро Гаусса, которое имеет единственный параметр . Лучшее сочетание и часто выбирается путем поиска по сетке с экспоненциально растущими последовательностями и , например, ; . Обычно каждая комбинация выбранных параметров проверяется с помощью перекрестной проверки , и выбираются параметры с наилучшей точностью перекрестной проверки. Альтернативно, недавнюю работу по байесовской оптимизации. для выбора можно использовать и , часто требующий оценки гораздо меньшего количества комбинаций параметров, чем поиск по сетке. Окончательная модель, которая используется для тестирования и классификации новых данных, затем обучается на всей обучающей выборке с использованием выбранных параметров. [26]
Проблемы
[ редактировать ]К потенциальным недостаткам SVM можно отнести следующие аспекты:
- Требуется полная маркировка входных данных.
- Некалиброванные вероятности членства в классе. SVM вытекает из теории Вапника, которая избегает оценки вероятностей на конечных данных.
- SVM напрямую применим только для задач двух классов. Следовательно, необходимо применять алгоритмы, которые сводят многоклассовую задачу к нескольким бинарным задачам; см. раздел многоклассовой SVM .
- Параметры решенной модели сложно интерпретировать.
Расширения
[ редактировать ]Мультиклассовая SVM
[ редактировать ]Мультиклассовая SVM направлена на присвоение меток экземплярам с помощью машин опорных векторов, где метки рисуются из конечного набора из нескольких элементов.
Преобладающий подход для этого — свести одну задачу мультикласса к нескольким задачам двоичной классификации . [27] Общие методы такого снижения включают: [27] [28]
- Построение бинарных классификаторов, различающих одну из меток от остальных ( один против всех ) или между каждой парой классов ( один против одного ). Классификация новых экземпляров для случая «один против всех» осуществляется с помощью стратегии «победитель получает все», при которой классификатор с функцией с наибольшим выходом назначает класс (важно, чтобы выходные функции были откалиброваны для получения сопоставимых оценок). ). При подходе «один против одного» классификация осуществляется с помощью стратегии голосования с максимальным выигрышем, при которой каждый классификатор присваивает экземпляр одному из двух классов, затем число голосов за назначенный класс увеличивается на один голос, и, наконец, число голосов за назначенный класс увеличивается на один голос. класс, набравший наибольшее количество голосов, определяет классификацию экземпляра.
- Ориентированный ациклический граф SVM (DAGSVM) [29]
- Выходные коды с коррекцией ошибок [30]
Краммер и Сингер предложили многоклассовый метод SVM, который объединяет проблему многоклассовой классификации в одну задачу оптимизации, а не разбивает ее на несколько задач двоичной классификации. [31] См. также Ли, Лин и Вахба. [32] [33] и Ван ден Бург и Гроенен. [34]
Трансдуктивные опорные векторные машины
[ редактировать ]Машины трансдуктивных опорных векторов расширяют SVM, поскольку они также могут обрабатывать частично помеченные данные в полуконтролируемом обучении , следуя принципам трансдукции . Здесь, помимо обучающего набора , обучаемому также дается набор
тестовых примеров, подлежащих классификации. Формально машина трансдуктивных опорных векторов определяется следующей основной задачей оптимизации: [35]
Минимизировать (в )
при условии (для любого и любой )
и
Трансдуктивные машины опорных векторов были представлены Владимиром Н. Вапником в 1998 году.
Структурированная SVM
[ редактировать ]Структурированная машина опорных векторов является расширением традиционной модели SVM. В то время как модель SVM в первую очередь предназначена для двоичной классификации, мультиклассовой классификации и задач регрессии, структурированная SVM расширяет свое применение для обработки общих структурированных выходных меток, например деревьев синтаксического анализа, классификации с таксономиями, выравнивания последовательностей и многого другого. [36]
Регрессия
[ редактировать ]Версия SVM для регрессии была предложена в 1996 году Владимиром Н. Вапником , Харрисом Друкером, Кристофером Дж. К. Берджесом, Линдой Кауфман и Александром Дж. Смолой. [37] Этот метод называется регрессией опорного вектора (SVR). Модель, созданная с помощью классификации опорных векторов (как описано выше), зависит только от подмножества обучающих данных, поскольку функция стоимости построения модели не заботится о точках обучения, которые лежат за пределами поля. Аналогично, модель, созданная SVR, зависит только от подмножества обучающих данных, поскольку функция стоимости построения модели игнорирует любые обучающие данные, близкие к предсказанию модели. Другая версия SVM, известная как машина опорных векторов наименьших квадратов (LS-SVM), была предложена Суйкенсом и Вандевалле. [38]
Обучение исходного SVR означает решение [39]
- минимизировать
- при условии
где это обучающая выборка с целевым значением . Внутренний продукт плюс перехват - это прогноз для этой выборки, и — это свободный параметр, служащий порогом: все прогнозы должны находиться в пределах диапазон истинных предсказаний. К вышесказанному обычно добавляются слабые переменные, чтобы учесть ошибки и обеспечить аппроксимацию в случае, если вышеуказанная проблема невозможна.
Байесовский SVM
[ редактировать ]В 2011 году Полсон и Скотт показали, что SVM допускает байесовскую интерпретацию посредством техники увеличения данных . [40] В этом подходе SVM рассматривается как графическая модель (где параметры связаны через распределения вероятностей). Это расширенное представление позволяет применять к SVM байесовские методы, такие как гибкое моделирование функций, автоматическую настройку гиперпараметров и количественную оценку прогнозируемой неопределенности . была разработана масштабируемая версия байесовской SVM Недавно Флорианом Вензелем , позволяющая применять байесовские SVM к большим данным . [41] Флориан Венцель разработал две разные версии: схему вариационного вывода (VI) для байесовской машины опорных векторов ядра (SVM) и стохастическую версию (SVI) для линейной байесовской SVM. [42]
Выполнение
[ редактировать ]Параметры гиперплоскости с максимальным запасом определяются путем решения оптимизации. Существует несколько специализированных алгоритмов для быстрого решения задачи квадратичного программирования (QP), возникающей из SVM, которые в основном полагаются на эвристику для разбиения задачи на более мелкие и более управляемые части.
Другой подход заключается в использовании метода внутренней точки , который использует итерации типа Ньютона для поиска решения условий Каруша – Куна – Такера для основной и двойственной задач. [43] Вместо решения последовательности разрозненных задач этот подход решает проблему целиком. Чтобы избежать решения линейной системы, включающей большую матрицу ядра, в трюке с ядром часто используется аппроксимация матрицы низкого ранга.
(SMO) Платта Другим распространенным методом является алгоритм последовательной минимальной оптимизации , который разбивает проблему на двумерные подзадачи, которые решаются аналитически, устраняя необходимость в алгоритме числовой оптимизации и хранении матриц. Этот алгоритм концептуально прост, его легко реализовать, он обычно быстрее и имеет лучшие свойства масштабирования для сложных задач SVM. [44]
Особый случай линейных машин опорных векторов может быть решен более эффективно с помощью тех же алгоритмов, которые используются для оптимизации его близкого родственника, логистической регрессии ; этот класс алгоритмов включает субградиентный спуск (например, PEGASOS [45] ) и координатный спуск (например, LIBLINEAR [46] ). LIBLINEAR имеет несколько привлекательных свойств во время обучения. Каждая итерация сходимости занимает время, линейное по времени, необходимое для чтения данных поезда, и итерации также обладают свойством Q-линейной сходимости , что делает алгоритм чрезвычайно быстрым.
Общие SVM ядра также можно решить более эффективно, используя субградиентный спуск (например, P-packSVM [47] ), особенно когда распараллеливание разрешено .
SVM ядра доступны во многих наборах инструментов машинного обучения, включая LIBSVM , MATLAB , SAS , SVMlight, kernlab , scikit-learn , Shogun , Weka , Shark , JKernelMachines , OpenCV и других.
Предварительная обработка данных (стандартизация) настоятельно рекомендуется для повышения точности классификации. [48] Существует несколько методов стандартизации, таких как мин-макс, нормализация по десятичному масштабированию, Z-оценка. [49] Для SVM обычно используется вычитание среднего значения и деление на дисперсию каждого признака. [50]
См. также
[ редактировать ]- Адаптивное табулирование на месте
- Ядро машин
- Ядро Фишера
- Платтовское масштабирование
- Полиномиальное ядро
- Прогнозная аналитика
- Перспективы регуляризации машин опорных векторов
- Машина векторов релевантности — вероятностная модель с разреженным ядром, идентичная по функциональной форме SVM.
- Последовательная минимальная оптимизация
- Картографирование пространства
- Винноу (алгоритм)
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Кортес, Коринна ; Вапник, Владимир (1995). «Сети опорных векторов» (PDF) . Машинное обучение . 20 (3): 273–297. CiteSeerX 10.1.1.15.9362 . дои : 10.1007/BF00994018 . S2CID 206787478 .
- ^ Вапник, Владимир Н. (1997). Герстнер, Вульфрам; Жермон, Ален; Хаслер, Мартин; Нику, Жан-Даниэль (ред.). «Метод опорных векторов» . Искусственные нейронные сети — ICANN'97 . Берлин, Гейдельберг: Springer: 261–271. дои : 10.1007/BFb0020166 . ISBN 978-3-540-69620-9 .
- ^ Авад, Мариетт; Ханна, Рахул (2015). «Машины опорных векторов для классификации». Эффективные обучающиеся машины . Апресс. стр. 39–66. дои : 10.1007/978-1-4302-5990-9_3 . ISBN 978-1-4302-5990-9 .
- ^ Бен-Гур, Аса; Хорн, Дэвид; Зигельманн, Хава; Вапник Владимир Н. " Опорная векторная кластеризация" (2001);". Журнал исследований машинного обучения . 2 : 125–137.
- ^ «1.4. Машины опорных векторов — документация scikit-learn 0.20.2» . Архивировано из оригинала 08.11.2017 . Проверено 8 ноября 2017 г.
- ^ Хасти, Тревор ; Тибширани, Роберт ; Фридман, Джером (2008). Элементы статистического обучения: интеллектуальный анализ данных, вывод и прогнозирование (PDF) (второе изд.). Нью-Йорк: Спрингер. п. 134.
- ^ Перейти обратно: а б с Бозер, Бернхард Э.; Гийон, Изабель М.; Вапник, Владимир Н. (1992). «Алгоритм обучения оптимальных классификаторов маржи» . Материалы пятого ежегодного семинара по теории вычислительного обучения – COLT '92 . п. 144. CiteSeerX 10.1.1.21.3818 . дои : 10.1145/130385.130401 . ISBN 978-0897914970 . S2CID 207165665 .
- ^ Пресс, Уильям Х.; Теукольский, Саул А.; Веттерлинг, Уильям Т.; Фланнери, Брайан П. (2007). «Раздел 16.5. Машины опорных векторов» . Численные рецепты: искусство научных вычислений (3-е изд.). Нью-Йорк: Издательство Кембриджского университета. ISBN 978-0-521-88068-8 . Архивировано из оригинала 11 августа 2011 г.
- ^ Иоахимс, Торстен (1998). «Категоризация текста с помощью машин опорных векторов: обучение со многими соответствующими функциями». Машинное обучение: ECML-98 . Конспекты лекций по информатике. Том. 1398. Спрингер. стр. 137–142. дои : 10.1007/BFb0026683 . ISBN 978-3-540-64417-0 .
- ^ Прадхан, Самир С.; и др. (2 мая 2004 г.). Неглубокий семантический анализ с использованием машин опорных векторов . Материалы конференции по технологиям человеческого языка Североамериканского отделения Ассоциации компьютерной лингвистики: HLT-NAACL 2004. Ассоциация компьютерной лингвистики. стр. 233–240.
- ^ Вапник, Владимир Н.: Приглашенный докладчик. ИПМУ «Обработка информации и управление 2014»).
- ^ Баргут, Лорен (2015). «Гранули пространственно-таксоновой информации, используемые при итеративном принятии нечетких решений для сегментации изображений» (PDF) . Гранулярные вычисления и принятие решений . Исследования в области больших данных. Том. 10. С. 285–318. дои : 10.1007/978-3-319-16829-6_12 . ISBN 978-3-319-16828-9 . S2CID 4154772 . Архивировано из оригинала (PDF) 8 января 2018 г. Проверено 8 января 2018 г.
- ^ А. Майти (2016). «Контролируемая классификация поляриметрических данных RADARSAT-2 для различных объектов суши». arXiv : 1608.00501 [ cs.CV ].
- ^ ДеКост, Деннис (2002). «Обучение машин инвариантных опорных векторов» (PDF) . Машинное обучение . 46 : 161–190. дои : 10.1023/А:1012454411458 . S2CID 85843 .
- ^ Майтра, Д.С.; Бхаттачарья, У.; Паруи, СК (август 2015 г.). «Общий подход на основе CNN к распознаванию рукописных символов в нескольких сценариях» . 2015 13-я Международная конференция по анализу и распознаванию документов (ICDAR) . стр. 1021–1025. дои : 10.1109/ICDAR.2015.7333916 . ISBN 978-1-4799-1805-8 . S2CID 25739012 .
- ^ Гаонкар, Б.; Давацикос, К. (2013). «Аналитическая оценка карт статистической значимости для машинного многомерного анализа и классификации изображений на основе опорных векторов» . НейроИмидж . 78 : 270–283. doi : 10.1016/j.neuroimage.2013.03.066 . ПМЦ 3767485 . ПМИД 23583748 .
- ^ Куэнье, Реми; Россо, Шарлотта; Чупен, Мари; Леэриси, Стефан; Дормон, Дидье; Бенали, Хабиб; Самсон, Ив; Коллио, Оливье (2011). «Пространственная регуляризация SVM для обнаружения диффузных изменений, связанных с исходом инсульта» (PDF) . Анализ медицинских изображений . 15 (5): 729–737. дои : 10.1016/j.media.2011.05.007 . ПМИД 21752695 . Архивировано из оригинала (PDF) 22 декабря 2018 г. Проверено 8 января 2018 г.
- ^ Статников, Александр; Хардин, Дуглас; И Алиферис, Константин; (2006); «Использование весовых методов SVM для выявления причинно-значимых и непричинно-значимых переменных» , Sign , 1, 4.
- ^ «Почему маржа SVM равна « . Обмен стеками по математике . 30 мая 2015 г.
- ^ Айзерман, Марк А.; Браверман, Эммануэль М. и Розоноер, Лев И. (1964). «Теоретические основы метода потенциальных функций в обучении распознаванию образов». Автоматизация и дистанционное управление . 25 : 821–837.
- ^ Джин, Чи; Ван, Ливэй (2012). Зависящая от размерности граница PAC-Bayes . Достижения в области нейронных систем обработки информации. CiteSeerX 10.1.1.420.3487 . Архивировано из оригинала 02 апреля 2015 г.
- ^ Шалев-Шварц, Шай; Певец Йорам; Сребро, Натан; Коттер, Эндрю (16 октября 2010 г.). «Pegasos: первичный расчетный решатель субградиентов для SVM». Математическое программирование . 127 (1): 3–30. CiteSeerX 10.1.1.161.9629 . дои : 10.1007/s10107-010-0420-4 . ISSN 0025-5610 . S2CID 53306004 .
- ^ Се, Чо-Джуи; Чанг, Кай-Вэй; Лин, Чи-Джен; Кирти, С. Сатья; Сундарараджан, С. (1 января 2008 г.). «Метод спуска по двойным координатам для крупномасштабной линейной SVM». Материалы 25-й международной конференции по машинному обучению ICML '08 . Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 408–415. CiteSeerX 10.1.1.149.5594 . дои : 10.1145/1390156.1390208 . ISBN 978-1-60558-205-4 . S2CID 7880266 .
- ^ Росаско, Лоренцо; Де Вито, Эрнесто; Капоннетто, Андреа; Пиана, Мишель; Верри, Алессандро (1 мая 2004 г.). «Все ли функции потерь одинаковы?» . Нейронные вычисления . 16 (5): 1063–1076. CiteSeerX 10.1.1.109.6786 . дои : 10.1162/089976604773135104 . ISSN 0899-7667 . ПМИД 15070510 . S2CID 11845688 .
- ^ Мейер, Дэвид; Лейш, Фридрих; Хорник, Курт (сентябрь 2003 г.). «Тестируемая машина опорных векторов». Нейрокомпьютинг . 55 (1–2): 169–186. дои : 10.1016/S0925-2312(03)00431-4 .
- ^ Сюй, Чи-Вэй; Чанг, Чи-Чунг и Лин, Чи-Джен (2003). Практическое руководство по классификации опорных векторов (PDF) (технический отчет). Департамент компьютерных наук и информационной инженерии, Национальный Тайваньский университет. Архивировано (PDF) из оригинала 25 июня 2013 г.
- ^ Перейти обратно: а б Дуан, Кай-Бо; Кирти, С. Сатья (2005). «Какой многоклассовый метод SVM лучше всего? Эмпирическое исследование» (PDF) . Множественные системы классификаторов . ЛНКС . Том. 3541. стр. 278–285. CiteSeerX 10.1.1.110.6789 . дои : 10.1007/11494683_28 . ISBN 978-3-540-26306-7 . Архивировано из оригинала (PDF) 3 мая 2013 г. Проверено 18 июля 2019 г.
- ^ Сюй, Чи-Вэй и Линь, Чи-Джен (2002). «Сравнение методов для многоклассовых машин опорных векторов» (PDF) . Транзакции IEEE в нейронных сетях . 13 (2): 415–25. дои : 10.1109/72.991427 . ПМИД 18244442 . Архивировано из оригинала (PDF) 3 мая 2013 г. Проверено 8 января 2018 г.
- ^ Платт, Джон; Кристианини, Нелло ; Шоу-Тейлор, Джон (2000). «Группы DAG с большой маржой для многоклассовой классификации» (PDF) . В Солле, Сара А .; Лин, Тодд К.; Мюллер, Клаус-Роберт (ред.). Достижения в области нейронных систем обработки информации . МТИ Пресс. стр. 547–553. Архивировано (PDF) из оригинала 16 июня 2012 г.
- ^ Дитерих, Томас Г.; Бакири, Гулум (1995). «Решение задач многоклассового обучения с помощью выходных кодов с коррекцией ошибок» (PDF) . Журнал исследований искусственного интеллекта . 2 : 263–286. arXiv : cs/9501101 . Бибкод : 1995cs........1101D . дои : 10.1613/jair.105 . S2CID 47109072 . Архивировано (PDF) из оригинала 9 мая 2013 г.
- ^ Краммер, Коби и Сингер, Йорам (2001). «Об алгоритмической реализации многоклассовых векторных машин на основе ядра» (PDF) . Журнал исследований машинного обучения . 2 : 265–292. Архивировано (PDF) из оригинала 29 августа 2015 г.
- ^ Ли, Юнкён; Лин, Йи и Вахба, Грейс (2001). «Многокатегорийные машины опорных векторов» (PDF) . Информатика и статистика . 33 . Архивировано (PDF) из оригинала 17 июня 2013 г.
- ^ Ли, Юнкён; Лин, Йи; Вахба, Грейс (2004). «Многокатегорийные машины опорных векторов». Журнал Американской статистической ассоциации . 99 (465): 67–81. CiteSeerX 10.1.1.22.1879 . дои : 10.1198/016214504000000098 . S2CID 7066611 .
- ^ Ван ден Бург, Геррит Дж. Дж. и Гроенен, Патрик Дж. Ф. (2016). «GenSVM: обобщенная многоклассовая машина опорных векторов» (PDF) . Журнал исследований машинного обучения . 17 (224): 1–42.
- ^ Иоахимс, Торстен. Трансдуктивный вывод для классификации текста с использованием машин опорных векторов (PDF) . Материалы Международной конференции по машинному обучению 1999 г. (ICML 1999). стр. 200–209.
- ^ https://www.cs.cornell.edu/people/tj/publications/tsochantaridis_etal_04a.pdf
- ^ Друкер, Харрис; Берджес, Боже. С.; Кауфман, Линда; Смола, Александр Дж.; и Вапник, Владимир Н. (1997); « Машины регрессии опорных векторов », в «Достижениях в области нейронных систем обработки информации» 9, NIPS 1996 , 155–161, MIT Press.
- ^ Суйкенс, Йохан АК; Вандевалле, Йоос П.Л.; « Наименьшие квадраты поддерживают векторные машинные классификаторы », Neural Processing Letters , vol. 9, нет. 3 июня 1999 г., стр. 293–300.
- ^ Смола, Алекс Дж.; Шёлкопф, Бернхард (2004). «Учебное пособие по регрессии опорных векторов» (PDF) . Статистика и вычисления . 14 (3): 199–222. CiteSeerX 10.1.1.41.1452 . дои : 10.1023/B:STCO.0000035301.49549.88 . S2CID 15475 . Архивировано (PDF) из оригинала 31 января 2012 г.
- ^ Полсон, Николас Г.; Скотт, Стивен Л. (2011). «Увеличение данных для машин опорных векторов» . Байесовский анализ . 6 (1): 1–23. дои : 10.1214/11-BA601 .
- ^ Венцель, Флориан; Гали-Фажу, Тео; Дойч, Маттеус; Клофт, Мариус (2017). «Байесовские нелинейные машины опорных векторов для больших данных». Машинное обучение и обнаружение знаний в базах данных . Конспекты лекций по информатике. Том. 10534. стр. 307–322. arXiv : 1707.05532 . Бибкод : 2017arXiv170705532W . дои : 10.1007/978-3-319-71249-9_19 . ISBN 978-3-319-71248-2 . S2CID 4018290 .
- ^ Флориан Венцель; Маттеус Дойч; Тео Гали-Фажу; Мариус Клофт; «Масштабируемый приближенный вывод для байесовской нелинейной машины опорных векторов»
- ^ Феррис, Майкл С.; Мансон, Тодд С. (2002). «Методы внутренней точки для машин с массивными опорными векторами» (PDF) . SIAM Journal по оптимизации . 13 (3): 783–804. CiteSeerX 10.1.1.216.6893 . дои : 10.1137/S1052623400374379 . S2CID 13563302 . Архивировано (PDF) из оригинала 4 декабря 2008 г.
- ^ Платт, Джон К. (1998). Последовательная минимальная оптимизация: быстрый алгоритм обучения машин опорных векторов (PDF) . НИПС. Архивировано (PDF) из оригинала 02 июля 2015 г.
- ^ Шалев-Шварц, Шай; Певец Йорам; Сребро, Натан (2007). Pegasos: Primal Estimated SubGrAdient SOLver для SVM (PDF) . ИКМЛ. Архивировано (PDF) из оригинала 15 декабря 2013 г.
- ^ Фан, Ронг-Эн; Чанг, Кай-Вэй; Се, Чо-Джуи; Ван, Сян-Жуй; Линь, Чи-Джен (2008). «LIBLINEAR: библиотека для большой линейной классификации» (PDF) . Журнал исследований машинного обучения . 9 : 1871–1874.
- ^ Аллен Чжу, Цзэюань; Чен, Вэйчжу; Ван, Банда; Чжу, Чэньгуан; Чен, Чжэн (2009). P-packSVM: SVM параллельного первичного градиента ядра (PDF) . ИКДМ. Архивировано (PDF) из оригинала 7 апреля 2014 г.
- ^ Фан, Ронг-Эн; Чанг, Кай-Вэй; Се, Чо-Джуи; Ван, Сян-Жуй; Линь, Чи-Джен (2008). «LIBLINEAR: библиотека для большой линейной классификации». Журнал исследований машинного обучения . 9 (августа): 1871–1874 гг.
- ^ Мохамад, Исмаил; Усман, Дауда (1 сентября 2013 г.). «Стандартизация и ее влияние на алгоритм кластеризации K-средних» . Научно-исследовательский журнал прикладных наук, техники и технологий . 6 (17): 3299–3303. дои : 10.19026/rjaset.6.3638 .
- ^ Феннелл, Питер; Цзо, Жия; Лерман, Кристина (01 декабря 2019 г.). «Прогнозирование и объяснение поведенческих данных с помощью структурированной декомпозиции пространства признаков» . EPJ Наука о данных . 8 . arXiv : 1810.09841 . дои : 10.1140/epjds/s13688-019-0201-0 .
Дальнейшее чтение
[ редактировать ]- Беннетт, Кристин П.; Кэмпбелл, Колин (2000). «Машины опорных векторов: шумиха или аллилуйя?» (PDF) . Исследования SIGKDD . 2 (2): 1–13. дои : 10.1145/380995.380999 . S2CID 207753020 .
- Кристианини, Нелло; Шоу-Тейлор, Джон (2000). Введение в машины опорных векторов и другие методы обучения на основе ядра . Издательство Кембриджского университета. ISBN 0-521-78019-5 .
- Фрадкин, Дмитрий; Мучник, Илья (2006). «Машины опорных векторов для классификации» (PDF) . В Абелло, Дж.; Кармод, Г. (ред.). Дискретные методы в эпидемиологии . Серия DIMACS по дискретной математике и теоретической информатике. Том. 70. стр. 13–20. [ цитата не найдена ]
- Иоахимс, Торстен (1998). «Категоризация текста с помощью машин опорных векторов: обучение со многими соответствующими функциями». В Неделлеке, Клэр; Рувейроль, Селин (ред.). «Машинное обучение: ECML-98 . Конспекты лекций по информатике. Том 1398. Берлин, Гейдельберг: Springer. стр. 137-142. doi : 10.1007/BFb0026683 . ISBN 978-3-540-64417-0 . S2CID 2427083 .
- Иванчук, Овидиу (2007). «Применение машин опорных векторов в химии» (PDF) . Обзоры по вычислительной химии . 23 : 291–400. дои : 10.1002/9780470116449.ch6 . ISBN 9780470116449 .
- Джеймс, Гарет; Виттен, Даниэла; Хасти, Тревор; Тибширани, Роберт (2013). «Машины опорных векторов» (PDF) . Введение в статистическое обучение: с приложениями на R. Нью-Йорк: Спрингер. стр. 337–372. ISBN 978-1-4614-7137-0 .
- Шёлкопф, Бернхард; Смола, Александр Дж. (2002). Обучение с помощью ядер . Кембридж, Массачусетс: MIT Press. ISBN 0-262-19475-9 .
- Стейнварт, Инго; Кристманн, Андреас (2008). Машины опорных векторов . Нью-Йорк: Спрингер. ISBN 978-0-387-77241-7 .
- Теодоридис, Сергий; Кутрумбас, Константинос (2009). Распознавание образов (4-е изд.). Академическая пресса. ISBN 978-1-59749-272-0 .
Внешние ссылки
[ редактировать ]- libsvm , LIBSVM — популярная библиотека среди изучающих SVM.
- liblinear — библиотека для большой линейной классификации, включая некоторые SVM.
- SVM Light — это набор программных инструментов для обучения и классификации с использованием SVM.
- Живая демонстрация SVMJS. Архивировано 5 мая 2013 г. на Wayback Machine. Это демонстрация графического интерфейса для JavaScript . реализации SVM на