Подтвердить что ты не робот

Когда я должен использовать машины опорных векторов, а не искусственные нейронные сети?

Я знаю, что SVM, предположительно, являются "убийцами ANN", поскольку они автоматически выбирают сложность представления и находят глобальный оптимум (см. здесь для некоторых кодов цитирования SVM).

Но вот где я неясен - все ли притязания на превосходство сохраняются только в случае проблемы решения класса 2 или они идут дальше? (Я предполагаю, что они держат для нелиноразделяемых классов, иначе никто не заботится)

Итак, образец некоторых случаев, которые я хотел бы прояснить:

  • Являются ли SVM лучше, чем ANN со многими классами?
  • в онлайн-настройке?
  • Как насчет в случае с полууправляемым случаем, например, в обучении подкрепления?
  • Есть ли более безопасная версия SVM?

Я не ожидаю, что кто-то ответит на все эти lil 'подзапросы, но вместо этого дадут некоторые общие границы, когда SVM лучше, чем обычные эквиваленты ANN (например, FFBP, повторяющиеся BP, машины Boltzmann, SOM и т.д.), на практике, а предпочтительно и в теории.

4b9b3361

Ответ 1

Являются ли SVM лучше, чем ANN со многими классами?. Вероятно, вы имеете в виду тот факт, что SVM - это, по сути, либо классификаторы одного класса, либо два класса. Действительно, они и не имеют возможности модифицировать алгоритм SVM для классификации более чем двух классов.

Фундаментальной особенностью SVM является разделительная гиперплоскость максимального запаса, положение которой определяется максимизацией ее расстояния от опорных векторов. И все же SVM обычно используются для классификации нескольких классов, которая выполняется с помощью обертки обработки вокруг нескольких классификаторов SVM, которые работают в шаблоне "один против многих", то есть данные обучения отображаются в первом SVM, который классифицирует эти экземпляры как "класс I" или "не класс I". Затем данные второго класса показывают второй SVM, который классифицирует эти данные как "класс II" или "не класс II" и т.д. На практике это работает очень хорошо. Как и следовало ожидать, превосходное разрешение SVM по сравнению с другими классификаторами не ограничивается двухклассовыми данными.

Насколько я могу судить, исследования, опубликованные в литературе, подтверждают это, например, в провокационно названной статье Sex with Support Vector Machines по сравнению с группой традиционных линейных классификаторов было сообщено о значительно более высоком разрешении для идентификации пола (мужчина/женщина) в 12-квадратных пиксельных изображениях; SVM также превзошел RBF NN, а также большой ансамбль RBF NN). Но похоже, что для превосходной производительности SVM в многоклассовых задачах существует множество аналогичных доказательств: например, SVM превосходит NN в распознавании белков), и в прогнозировании временных рядов.

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

Например, NN превзошел SVM в сравнительном исследовании идентификации автора из текстов на арабском языке script; В исследовании , сравнивающем предсказание кредитного рейтинга, не было заметной разницы в разрешении двух классификаторов; аналогичный результат был представлен в исследовании источник в академической литературе, что SVM превосходит NN по мере уменьшения размеров учебных данных.

Наконец, степень, на которую можно обобщить результаты этих сравнительных исследований, вероятно, весьма ограничена. Например, в одном исследовании, сравнивающем точность SVM и NN в прогнозировании временных рядов, исследователи сообщили, что SVM действительно превзошел обычные (back- распространение по многоуровневым узлам) NN, но производительность SVM была примерно такой же, как и для RBF (радиальная базовая функция) NN.

[Являются ли SVM лучше, чем ANN] В настройках Интернета? SVM не используются в онлайн-настройках (т.е. инкрементном обучении). Суть SVM - это разделительная гиперплоскость, положение которой определяется небольшим числом опорных векторов. Таким образом, даже одна дополнительная точка данных может в принципе существенно повлиять на положение этой гиперплоскости.

Как насчет в случае с полуконтролируемым случаем, например, с обучением подкрепления? До комментария OP к этому ответу я не знал ни о нейронных сетях, ни о SVM, используемых таким образом, но они есть.

Наиболее широко используемый полуконтролируемый вариант SVM называется Transductive SVM (TSVM), впервые упомянутый Владимир Вапник (тот же парень, который обнаружил/изобрел обычный SVM). Я почти ничего не знаю об этом методе, кроме того, что он называется, и это следует принципам трансдукции (грубо боковые рассуждения, т.е. Рассуждения из учебных данных для тестирования данных). По-видимому, TSV является предпочтительным методом в области текстовой классификации.

Есть ли более безопасная версия SVM?Я не верю, что SVM подходят для неконтролируемого обучения. Разделение основано на позиции гиперплоскости с максимальным запасом, определяемой векторами поддержки. Это легко может быть моим собственным ограниченным пониманием, но я не вижу, как это произойдет, если эти векторы поддержки будут немечены (т.е. Если вы не знали, что именно вы пытались отделить). Один из важнейших вариантов использования неконтролируемых алгоритмов - это когда вы не помечены данными или вы делаете, и это сильно не сбалансировано. Например, онлайн-мошенничество; здесь вы можете иметь в своих учебных данных только несколько точек данных, обозначенных как "мошеннические счета" (и обычно с сомнительной точностью) по сравнению с оставшимися 99%, помеченными как "не мошенничество". В этом сценарии один классный классификатор, типичная конфигурация для SVM, является хорошим вариантом. В частности, данные обучения состоят из экземпляров, помеченных как "не мошенничество" и "unk" (или какой-либо другой ярлык, чтобы указать, что они не находятся в классе), другими словами "внутри границы решения" и "вне границы решения" ".

Я хотел в заключение упомянуть, что через 20 лет после их "открытия" SVM является прочно укоренившимся членом библиотеки ML. И действительно, последовательное превосходное разрешение по сравнению с другими современными классификаторами хорошо документировано.

Их родословная является одновременно функцией их превосходной работы, задокументированной в многочисленных строго контролируемых исследованиях, а также их концептуальной элегантности. W/r/t - последняя точка, считаем, что многослойные персептроны (MLP), хотя они часто являются отличными классификаторами, управляются методом численной оптимизации, который на практике редко находит глобальный минимум; кроме того, это решение не имеет концептуального значения. С другой стороны, численная оптимизация в основе построения классификатора SVM фактически находит глобальный минимум. Какое еще это решение является фактической границей принятия решения.

Тем не менее, я думаю, что репутация SVM немного снизилась за последние несколько лет.

Основная причина, по которой я подозреваю, - это конкурс NetFlix. NetFlix подчеркнула решающую способность фундаментальных методов матричного разложения и еще более значительную силу объединения классификаторов. Люди объединили классификаторы задолго до NetFlix, но больше как метод контингента, чем как атрибут дизайна классификатора. Более того, многие из методов объединения классификаторов чрезвычайно просты в понимании, а также в реализации. В отличие от этого, SVM не только очень сложно кодировать (на мой взгляд, самый сложный алгоритм ML для реализации в коде), но также трудно настроить и реализовать как предварительно скомпилированную библиотеку - например, ядро ​​должно быть выбрано, результаты очень чувствительны к тому, как данные повторно масштабируются/нормализуются и т.д.

Ответ 2

Мне понравился ответ Дага. Я хотел бы добавить два комментария.

1) Владимир Вапник также придумал измерение VC, которое важно в теории обучения.

2) Я думаю, что SVM были лучшими полными классификаторами с 2000 по 2009 год, но после 2009 года я не уверен. Я думаю, что нейронные сети значительно улучшились в последнее время благодаря работе в Deep Learning и Sparse Denoising Auto-Encoders. Мне показалось, что я видел ряд тестов, в которых они превосходили SVM. См. Например, слайд 31 из

http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-tutorial-final.pdf

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

Ответ 3

Я ожидаю, что SVM будет лучше, когда у вас есть хорошие возможности для начала. IE, ваши функции кратко фиксируют всю необходимую информацию. Вы можете видеть, хороши ли ваши функции, если экземпляры одного и того же класса "сгущаются вместе" в пространстве функций. Тогда SVM с евклидовым ядром должен сделать трюк. По существу, вы можете просматривать SVM в качестве суперзаряженного классификатора ближайших соседей, поэтому, когда NN хорошо работает, SVM должен делать еще лучше, добавляя автоматический контроль качества над примерами в вашем наборе. На обратной стороне - если это набор данных, где ожидается ближайший сосед (в пространственном пространстве), SVM будет плохо работать.

Ответ 4

- Есть ли более безопасная версия SVM?

Просто отвечая только на этот вопрос. Неконтролируемое обучение может быть выполнено с помощью так называемых одноклассовых машин поддержки векторов. Опять же, подобно обычным SVM, существует элемент, который способствует разреженности. В обычных SVM только важные моменты считаются важными, поддерживающие векторы. В однопроцессорных SVM снова можно использовать только несколько точек:

  • "отдельно" набор данных как можно дальше от источника, или
  • определить радиус как можно меньше.

Преимущества обычных SVM переносятся на этот случай. По сравнению с оценкой плотности необходимо учитывать только несколько моментов. Недостатки также переносятся.

Ответ 5

SVM лучше чем ANN со многими классами?

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

А как насчет полуобучаемого дела, такого как обучение подкреплению?

Глубокое обучение Q предоставляет лучшие альтернативы.

Есть ли лучшая неконтролируемая версия SVM?

SVM не подходит для обучения без учителя. У вас есть другие альтернативы для обучения без учителя: K-Means, Иерархическая кластеризация, TSNE- кластеризация и т.д.

С точки зрения ANN, вы можете попробовать Autoencoder, General состязательной сети

Еще несколько полезных ссылок:

towardsdatascience

википедия