Как обучить SVM через обратное распространение?

10

Мне было интересно, можно ли обучить SVM (скажем, линейный, чтобы упростить задачу) с использованием обратного распространения?

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

f(x;θ,b)=sgn(θx(b+1))=sgn(g(x;θ,b))

Следовательно, когда мы пытаемся вычислить «обратный проход» (распространяющаяся ошибка), мы получаем поскольку производная от - это

Ex=Ef(x;θ,b)f(x;θ,b)x=Ef(x;θ,b)sgn(g(x;θ,b))g(x;θ,b)g(x;θ,b)x=δdsgn(z)dzθ=δ0θ=0
sgn(x)
dsgn(x)dx={0if x02δ(x)if x=0

Точно так же мы находим, что , что означает, что мы не можем передать какую-либо информацию, или выполнить обновления градиента!E/θ=E/b=0

Что дает?

StevieP
источник

Ответы:

14

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

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

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

Дугал
источник
Так что, если я вас правильно понимаю, вы действительно говорите, что линейный SVM можно представить как однослойный NN - один слой - это просто линейное преобразование, - с потерей шарнира функция? Ax+b
StevieP
1
Да, линейный SVM в основном эквивалентен однослойному NN с линейной активацией на выходном узле и обучается с помощью потери шарнира.
Дугал
5

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

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

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

Франк Дернонкур
источник
1
Что LR значит для вас?
Sycorax сообщает восстановить Monica
@Sycorax логистическая регрессия
Франк Дернонкур