Ответ 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 для реализации в коде), но также трудно настроить и реализовать как предварительно скомпилированную библиотеку - например, ядро должно быть выбрано, результаты очень чувствительны к тому, как данные повторно масштабируются/нормализуются и т.д.