Ядро логистической регрессии против SVM

32

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

FindBoat
источник
1
Слайды Хасти - это то, что вы ищете
Yibo Yang

Ответы:

28

KLR и SVM

  1. Классификация производительности практически идентична в обоих случаях.
  2. KLR может обеспечить вероятности класса, тогда как SVM является детерминированным классификатором.
  3. KLR естественным образом расширяет мультиклассовую классификацию, тогда как в SVM есть несколько способов расширить ее до мультиклассовой классификации (и все еще остается предметом исследования, существует ли версия, которая обладает превосходными качествами по сравнению с другими).
  4. Удивительно или неудивительно, что у KLR также есть оптимальные маржинальные свойства, которыми обладают SVM (по крайней мере, в пределе)!

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

  1. KLR вычислительно дороже, чем SVM - против где - количество опорных векторов.O ( N 2 k ) kO(N3)O(N2k)k
  2. Классификатор в SVM разработан так, что он определяется только в терминах опорных векторов, тогда как в KLR классификатор определяется по всем точкам, а не только по опорным векторам. Это позволяет SVM наслаждаться естественным ускорением (с точки зрения эффективного написания кода), которое трудно достичь для KLR.
TenaliRaman
источник
7
+1 Я бы просто добавил, что, если сложность вычислений является проблемой, нетрудно построить модель логистической регрессии разреженного ядра, жадно выбирая базисные векторы, чтобы минимизировать регуляризованные потери в обучающем наборе, или другие подходы. См., Например, статьи по «Информационной векторной машине».
Дикран Marsupial
4
Кроме того, довольно часто, если вы оптимизируете параметры ядра и регуляризации SVM, вы получаете модель, в которой практически все данные являются векторами поддержки. Разреженность SVM - это счастливая случайность, это не очень хорошая точка продажи техники, так как обычно можно добиться большей разницы с помощью других средств.
Дикран Marsupial
1
@DikranMarsupial Спасибо за указатель на Информационную векторную машину. Я знаю о некоторых работах в Sparse KLR, но до сих пор не думаю, что какие-то из них хорошо подходят для больших наборов данных. В любом случае, выпуск хорошей реализации разреженного KLR, удобного для пользователя, такого как libSVM или SVM Light, может иметь большое значение для его принятия. Извиняюсь, если такие реализации уже существуют, однако я не знаю ни о чем. (РЕДАКТИРОВАТЬ: я думаю, что вы имели в виду «Импортировать векторную машину» вместо «Информационная векторная машина»?)
TenaliRaman
2
Если вы в конечном итоге используете все точки данных в качестве опорных векторов, значит, вы слишком подходите. Это происходит с RBF много раз. Фактически, одна из фундаментальных вещей, которую я изучил как пользователь SVM, - это прежде всего проверить долю точек, выбранных в качестве опорных векторов. Если это что-то более 30% данных, я полностью отвергаю эту модель.
TenaliRaman
3
Неправильно, что все точки данных, являющиеся SV, означают чрезмерную подгонку. Если значение C невелико, то слабые переменные не имеют большого штрафа, тогда у вас может быть очень мягкий классификатор (который допускает много ошибок в обучающем наборе), и поле настолько велико, что все данные являются опорными векторами. Отказ от разреженных моделей не является хорошим эмпирическим правилом, так как иногда SVM с лучшей производительностью обобщения не является разреженным. Количество SV - это верхняя граница для ошибки "оставь один раз", но часто это действительно очень плохая граница!
Дикран Сумчатый
15

Вот мой взгляд на проблему:

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

  • Вот ресурс по регрессии SVM. Обратите внимание на дополнительные параметры, которые нужно изменить, и углубленное обсуждение алгоритмов оптимизации.

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

  • Вот глава из книги ГП по регрессии.

  • Вот глава о классификации, для сравнения. Обратите внимание, что вы получите сложные аппроксимации или итеративный метод.

Тем не менее, есть одна приятная особенность использования ВО для классификации: она дает вам прогнозирующее распределение, а не простую классификацию «да / нет».

Пупси Джо Пит
источник
2
+1 GP - хорошая альтернатива KLR (хотя KLR часто дает лучшую производительность, потому что выбор модели на основе фактических данных может очень легко ошибиться при наличии неправильной спецификации модели), и перекрестная проверка часто предпочтительнее.
Дикран Marsupial
7

пожалуйста, посетите http://www.stanford.edu/~hastie/Papers/svmtalk.pdf

Некоторые выводы: Классификационные показатели очень похожи. Имеет предельные оптимальные маржинальные свойства. Предоставляет оценки класса вероятностей. Часто они более полезны, чем классификации. Естественно обобщает классификацию M-класса посредством многолого-логической регрессии ядра.

pockeystar
источник