Come addestrare un SVM tramite backpropagation?


11

Mi chiedevo se fosse possibile addestrare un SVM (diciamo uno lineare, per semplificare le cose) usando la backpropagation?

Attualmente, sono a un blocco stradale, perché posso solo pensare di scrivere l' output del classificatore come

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

Pertanto, quando proviamo a calcolare il "passaggio indietro" (errore propagato) otteniamo poiché la derivata di è

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

Allo stesso modo, troviamo che , il che significa che non possiamo restituire alcuna informazione o eseguire aggiornamenti gradiente!E/θ=E/b=0

Cosa dà?

Risposte:


14

È corretto affermare che se si tenta di ottimizzare direttamente la precisione dell'SVM sui casi di allenamento, detta anche perdita 0-1, il gradiente scompare. Questo è il motivo per cui le persone non lo fanno. :)

Quello che stai cercando di fare, però, non è in realtà ancora uno SVM; è piuttosto solo un classificatore lineare generale. Un SVM in particolare sorge quando si sostituisce la funzione di perdita 0-1 con un surrogato convesso noto come perdita della cerniera ; questo equivale all'idea della massimizzazione dei margini che è alla base dell'idea di un SVM. Questa funzione di perdita è (quasi) differenziabile; l'unico problema è se qualche output si trova esattamente nel punto di incernieramento, il che (a) si verifica con probabilità zero in base alle ipotesi più ragionevoli e (b) quindi è possibile utilizzare solo 0 o 1 come derivata (o qualsiasi altra via di mezzo), in in questo caso stai facendo tecnicamente una discesa da laurea.

Dal momento che stai parlando di backpropagation, suppongo che tu abbia almeno un po 'di familiarità con l'ottimizzazione delle reti neurali. Lo stesso problema si verifica anche con i classificatori di reti neurali; ecco perché le persone usano anche altre funzioni di perdita.


Quindi, se ti capisco correttamente, stai davvero dicendo che un SVM lineare può essere pensato a un NN a 1 strato - il singolo strato è solo una trasformazione lineare, - con la perdita della cerniera funzione? Ax+b
StevieP,

1
Sì, un SVM lineare equivale sostanzialmente a un NN a 1 strato con attivazione lineare sul nodo di uscita e addestrato tramite perdita della cerniera.
Dougal,

5

Se sei interessato solo al caso lineare, la regressione logistica (LR) è una scelta migliore, dato che è sia convessa che analitica (potresti voler colpirla se sei interessato alla regolarizzazione). Ma quando vai per non lineare è qui che la parte difficile entra in scena. Per i casi non lineari non esiste un modo ragionevole per mantenere le cose sia convesse che analitiche, dovrai sacrificare una delle due. Nelle reti neurali sacrifichi la convessità e in svms sacrifichi l'olomorfismo.

a rigor di termini non vi è alcuna differenza tra LR e SVM, le svms predicono semplicemente su quale lato della linea si trova un punto, le LR prendono anche in considerazione quanto distano dal confine (sulla linea del margine di confine il sigmoide ti dà la probabilità 0,5 in caso di LR). Le SVM sono costrette a scendere a compromessi perché per i kernel non lineari l'intuizione della distanza da un iperpiano curvo (la varietà algebrica è un termine migliore) non è la stessa del caso lineare, in realtà il problema di risolvere la distanza più breve da una superficie iper a un certo punto è molto difficile (più difficile della stessa SVM), ma d'altra parte Vapnik si rese conto di prevedere semplicemente da quale parte del confine si trova un punto è molto facile come nel tempo O (1). Questa è la vera intuizione dietro SVM, rendendola l'unica alternativa di ottimizzazione convessa disponibile nella teoria dell'apprendimento statistico. Ma la mia sensazione è che tu sacrifichi un po 'troppo, sia l'olomorfismo che la natura probabilistica sono persi. Ma per casi specifici come le SVM fondate sulla verità sono molto affidabili e sono anche modelli scientifici completamente falsificabili a differenza delle sue alternative non convesse.

Tldr: sì, il teorema del valore medio viene in soccorso di funzioni non analitiche. Nei casi convessi-non analitici il valore medio del thorem si trasforma in una disuguaglianza che imposta alcune condizioni al contorno sui sotto-gradienti che usano per fare un sub-gradiente decente


1
Cosa significa LR per te?
Sycorax dice di reintegrare Monica il

Regressione logistica @Sycorax
Franck Dernoncourt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.