В каких областях SVM все еще используются?

10

Кажется, что глубокие нейронные сети и другие модели на основе нейронных сетей доминируют во многих современных областях, таких как компьютерное зрение, классификация объектов, обучение с подкреплением и т. Д.

Существуют ли области, где SVM (или другие модели) все еще дают самые современные результаты?

Стивен Дэвис
источник

Ответы:

12

Современное состояние - жесткая планка, потому что неясно, как ее следует измерять. Альтернативный критерий, который похож на современный, - это спросить, когда вы можете попробовать SVM.

У SVM есть несколько преимуществ:

  1. С помощью трюка с ядром время выполнения SVM существенно не увеличивается, если вы хотите изучать шаблоны по многим нелинейным комбинациям функций, а не по первоначальному набору функций. Напротив, более современный подход, такой как глубокая нейронная сеть, должен стать глубже или шире, чтобы моделировать те же шаблоны, что увеличит время обучения.
  2. SVM имеют пристрастное отношение к выбору «консервативных» гипотез, которые с меньшей вероятностью могут соответствовать данным, потому что они пытаются найти гипотезы с максимальным запасом. В некотором смысле, они «запекают» бритву Оккама.
  3. У SVM есть только два гиперпараметра (выбор ядра и константа регуляризации), поэтому их очень легко настроить на конкретные проблемы. Обычно достаточно настроить их, выполнив простой поиск по сетке в пространстве параметров, что можно сделать автоматически.

У SVM также есть некоторые недостатки:

  1. О(N3)О(вес*N*е)Nевесвес,е<<N
  2. О(N2)

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


1 Есть приблизительные алгоритмы, которые решат SVM быстрее, чем это, как отмечено в других ответах.

Джон Дусетт
источник
7

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

Но не заблуждайтесь, классические модели по-прежнему дают исключительные результаты, и в определенных задачах они могут давать лучшие результаты, чем глубокое обучение.

Линейная регрессия до сих пор является наиболее широко используемым алгоритмом машинного обучения в мире.

Трудно определить конкретную область, в которой классические модели всегда работают лучше, поскольку точность очень сильно зависит от формы и качества входных данных.

Таким образом, выбор алгоритма и модели - это всегда компромисс. Это довольно точное утверждение о том, что классические модели по-прежнему работают лучше при меньших наборах данных. Тем не менее, многие исследования направлены на улучшение производительности модели глубокого обучения на меньшем количестве данных.

Большинство классических моделей требуют меньше вычислительных ресурсов, поэтому, если ваша цель - скорость, то она намного лучше.

Кроме того, классические модели легче реализовать и визуализировать, что может быть еще одним показателем эффективности, но это зависит от ваших целей.

Если у вас есть неограниченные ресурсы, массивный наблюдаемый набор данных, который правильно помечен, и вы правильно внедрили его в проблемную область, то глубокое обучение, скорее всего, даст вам лучшие результаты в большинстве случаев.

Но по моему опыту, реальные условия никогда не бывают такими идеальными

IsakBosman
источник
0

Полностью согласен с ответом @ Джона. Постараюсь дополнить это еще несколькими пунктами.

Некоторые преимущества SVM:

a) SVM определяется задачей выпуклой оптимизации, для которой существуют эффективные методы, такие как SMO .

б) Эффективен в пространствах с большими размерами, а также в случаях, когда количество измерений больше, чем количество образцов.

c) Использует подмножество обучающих точек в функции принятия решения (так называемые опорные векторы), поэтому она также эффективно использует память.

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

К недостаткам опорных векторов машин можно отнести:

а) Если число функций намного больше, чем количество выборок, решающее значение имеет избегание чрезмерной подгонки при выборе функций ядра и условия регуляризации. Модели ядра могут быть очень чувствительны к чрезмерному соответствию критерию выбора модели

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

наивный
источник
-1

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

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

К сожалению, я не могу вспомнить какие-либо конкретные статьи на эту тему, так что в основном это здравый смысл, вам не нужно верить этому.

mirror2image
источник