Як тренувати SVM за допомогою зворотного розповсюдження?


11

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

Наразі я перебуваю на дорозі, тому що можу думати лише про те, як записати вихід класифікатора як

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

Отже, коли ми спробуємо обчислити "пропуск назад" (поширювана помилка), отримаємо , так якпохіднаSGn(х)є дSGN(х)

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

Що дає?

Відповіді:


14

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

Те, що ви намагаєтеся зробити, хоча ще насправді не є SVM; це скоріше просто загальний лінійний класифікатор. Зокрема, SVM виникає при заміні функції втрат 0-1 на опуклий сурогат, відомий як втрата шарніру ; це означає ідею максимізації маржі, яка є ядром ідеї SVM. Ця функція втрат (майже) диференційована; єдине питання полягає в тому, якщо якісь виходи знаходяться саме в точці шарніру, що (а) відбувається з нульовою ймовірністю за найбільш обґрунтованих припущень, і (б) тоді ви можете просто використовувати або 0, або 1, як похідну (або будь-що між ними), в у такому випадку ви технічно робите підземний спуск.

Оскільки ви говорите про зворотне розповсюдження, я вважаю, що ви хоч трохи знайомі з оптимізацією нейронних мереж. Ця ж проблема виникає і з класифікаторами нейронної мережі; саме тому люди використовують і інші функції втрат.


Ax+b

1
Так, лінійний SVM в основному еквівалентний 1-шаровому NN з лінійною активацією на виходному вузлі і тренується за допомогою втрати шарніру.
Дугал

5

Якщо вас цікавить лише лінійний випадок, тоді логістична регресія (LR) - кращий вибір, оскільки вона є опуклою і аналітичною (ви можете захотіти її прокласти, якщо вас зацікавить регуляризація). Але коли ви переходите до нелінійного, то тут випливає хитра частина. Для нелінійних випадків немає розумного способу зберегти речі опуклими та аналітичними, вам потрібно буде пожертвувати одним із двох. У нейронних мережах ви жертвуєте опуклості, а в svms жертвуєте голоморфізмом.

строго кажучи, різниці між LR і SVM немає, svms просто передбачають, на якій стороні лінії лежить точка, LR також враховують, наскільки вони лежать від кордону (на лінії граничного краю сигмоїда дає вам вірогідність 0,5 у випадку ЛР). SVM змушені піти на цей компроміс, оскільки для нелінійних ядер інтуїція відстані від вигнутої гіперплани (алгебраїчна різноманітність - кращий термін) не така, як у лінійному випадку, адже проблема вирішення найкоротшої відстані від гіперповерхні до конкретної точки дуже важко (важче, ніж сам SVM), але з іншого боку, Вапник зрозумів, що просто передбачити, на якій стороні кордону лежить точка, дуже просто, як і в O (1) час. Це справжнє розуміння SVM, що робить його єдиною доступною альтернативою опуклої оптимізації в теорії статистичного навчання. Але я відчуваю, що ти занадто багато жертвуєш, і голоморфізм, і ймовірнісний характер втрачаються. Але для конкретних випадків, таких як наземні фрезерування СВМ, є дуже надійними і також є повністю фальсифікованими науковими моделями на відміну від його невипуклих альтернатив.

Tldr: так, теорема про середнє значення приходить на допомогу для не аналітичних функцій. У опуклих не аналітичних випадках середнє значення торему перетворюється на нерівність, встановлюючи деякі граничні умови на під градієнтах, які використовують для отримання під градієнта гідного


1
Що для вас означає LR?
Sycorax каже, що повернеться до Моніки

Логістична регресія @Sycorax
Franck Dernoncourt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.