Quali metodi esistono per ottimizzare gli iperparametri del kernel grafico SVM?


10

Ho alcuni dati che esistono su un grafico . I vertici appartengono a una delle due classi e sono interessato a formare un SVM per distinguere tra le due classi. Un kernel appropriato per questo è il kernel di diffusione , dove è il Laplaciano di e è un parametro di ottimizzazione.y i{ - 1 , 1 }sol=(V,E)yio{-1,1}LK=exp(-βL),Lβsolβ

L'ottimizzazione di SVM richiede la selezione di iperparametri, quindi devo sintonizzareConvenzionalmente, utilizziamo la convalida incrociata per questo problema, ma qui non sembra appropriato, poiché omettere un vertice da modifica l'intero grafico, forse anche aumentando il numero di componenti collegati! Se il numero di componenti collegati cambia, alcuni vertici diventano irraggiungibili da altri e ci troviamo di fronte a un set di dati molto diverso da quello con cui abbiamo iniziato. Cioè, non solo ci manca il vertice rimosso , ma ci mancano anche informazioni su tutti gli altri vertici nel grafico che erano adiacenti a quel vertice.i G i jθ=(β,C).iosolioj

L'idea di base della convalida incrociata è che vorremmo approssimare le prestazioni del modello quando verrà presentato con nuovi dati. In problemi standard, l'omissione di alcuni dei tuoi dati per i test non modifica i valori dei restanti dati di allenamento. Tuttavia, nel caso dei dati del grafico, non è chiaro cosa significhi per il modello vedere "nuovi" dati nell'impostazione CV. L'omissione di vertici o bordi ha il potenziale per modificare completamente i dati. Ad esempio, immagina un grafico che è un grafico a stella , in cui un vertice ha bordi per vertici e tutti gli altri vertici hanno 1 bordo. Omettere il vertice centrale per costruire i dati di addestramentok k k S S=(VS,ES)KKKS*disconnetterà completamente il grafico e la matrice del kernel sarà diagonale! Ma, naturalmente, sarà possibile formare un modello su questi dati di allenamento forniti in . Ciò che è meno chiaro è che cosa significa testare le prestazioni fuori campione del modello risultante. Si ricalcola la matrice del kernel per e si provvede a fare previsioni? SS*S

Oppure, in alternativa, si inizia calcolando la matrice del kernel di nella sua interezza e omettendo righe e colonne come necessario per produrre la matrice del kernel utilizzata per stimare l'SVM? Ciò presenta i suoi problemi concettuali, poiché l'inclusione del nodo centrale in significa che ogni vertice è raggiungibile da ogni altro vertice e la matrice del kernel è densa. Questa inclusione significherà che ci sono perdite di informazioni tra le pieghe e distorcere l'output di convalida incrociata? Da un lato, i dati sui nodi centrali omessi sono ancora presenti, poiché il nodo centrale omesso rende il grafico collegato. D'altra parte, non sappiamo nulla delle etichetteS ySS y dei nodi omessi, quindi potremmo essere sicuri che stiamo ottenendo stime fuori campione ragionevolmente imparziali dall'esecuzione di CV in questo modo.

Come si selezionano gli iperparametri per problemi di questo tipo? Il CV è imperfetto ma accettabile o abbiamo bisogno di metodi specializzati? La messa a punto dell'iperparametro è persino possibile nel mio contesto?


Cerca un'estensione fuori campione per i metodi spettrali. Ho applicato alcune delle tecniche per la classificazione delle immagini nella mia tesi (guardando indietro ora, l'avrei fatto diversamente però). I risultati furono interessanti ma i modelli stessi erano piuttosto fragili e non facili da mettere a punto.
Vladislavs Dovgalecs,

@xeon Qualche consiglio su dove iniziare a guardare questa letteratura?
Sycorax dice di reintegrare Monica il

Risposte:


3

Disclaimer: non ho molta familiarità con i kernel grafici, quindi questa risposta potrebbe essere basata su ipotesi errate. Concordo sul fatto che omettere i vertici mentre si calcola la matrice del kernel non è ottimale. Detto questo, non sono sicuro che la convalida incrociata sia necessariamente problematica. Il tuo contesto di apprendimento è trasduzione o induzione?

β

βCβC


Marc, grazie per l'attenzione. Il mio problema è induttivo. Il mio istinto è che tu abbia ragione e che calcoliamo l'intera matrice del kernel per tutti i dati e quindi omettiamo le righe e le colonne secondo necessità per produrre il kernel CV. Saresti a conoscenza di riferimenti a questo effetto?
Sycorax dice di reintegrare Monica il

Non immediatamente, ma alcuni colleghi stanno lavorando su problemi comparabili (clustering spettrale del kernel) che posso chiedere. Forse hanno riferimenti e / o idee migliori. Aggiornerò quando ne saprò di più.
Marc Claesen,
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.