Почему неправильно интерпретировать SVM как вероятности классификации?


11

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

Мои два вопроса:

  1. Верна ли моя интерпретация выше?
  2. Как использование потери шарнира делает неверным интерпретацию результатов SVM как вероятностей?

Ответы:


8

SVM ничего не подает в сигмовидную функцию. Он подгоняет разделяющую гиперплоскость к данным, которые пытаются поместить все точки данных из вашего обучающего набора, которые принадлежат одному классу с одной стороны, и все точки другого класса - с другой. Следовательно, он назначает класс в зависимости от того, на какой стороне находится ваш вектор объектов. Более формально, если мы обозначим вектор признаков как а коэффициенты гиперплоскости - как и , тогда присвоение класса будет . Решение SVM сводится к поискуxββ0y=sign(βx+β0)β,β0которые сводят к минимуму потери шарнира с максимально возможным запасом. Следовательно, поскольку SVM заботится только о том, на какой стороне гиперплоскости вы находитесь, вы не можете преобразовать назначения его классов в вероятности.

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

Есть много ресурсов о SVM, которые помогут прояснить ситуацию: вот один пример, а другой .


Хиггс бозон Это очень полезно, спасибо! Всего лишь несколько последующих вопросов: (1) не могли бы вы привести какой-нибудь интуитивно понятный пример, когда граница принятия решения SVM НЕ будет похожа на LR ?, (2) одна из линейных SVM и LR обычно лучше других или есть типы проблем для которых либо предпочтительнее?
GingerBadger,

2
Алекс: в целом, линейные SVM и LR обычно работают сравнительно на практике. Если вы хотите получить вероятностный результат, используйте LR. Если вы заботитесь только о классных заданиях, вы можете использовать любой из них. Если вам нужен пример, в котором границы их решений будут сильно отличаться, вы можете представить линейно разделяемый набор данных с несколькими точками неправильного класса, удаленными от границы решения. Выбросы будут тянуть границу логистической регрессии к себе, но если у вас есть SVM с достаточно большим термином регуляризации, он будет эффективно игнорировать выбросы.
Хиггс Бросон,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.