I metodi del kernel possono essere utilizzati per problemi supervisionati e non controllati. Esempi ben noti sono rispettivamente la macchina vettoriale di supporto e il clustering spettrale del kernel .
I metodi del kernel forniscono un modo strutturato per utilizzare un algoritmo lineare in uno spazio di funzionalità trasformato, per il quale la trasformazione è in genere non lineare (e in uno spazio dimensionale superiore). Il vantaggio principale che questo cosiddetto trucco del kernel comporta è che i modelli non lineari possono essere trovati a un costo computazionale ragionevole .
Si noti che ho detto che il costo computazionale è ragionevole, ma non trascurabile. I metodi del kernel in genere creano una matrice del kernel con il numero di istanze di training. La complessità dei metodi del kernel è quindi una funzione del numero di istanze di training, piuttosto che del numero di dimensioni di input. Le macchine vettoriali di supporto, ad esempio, hanno una complessità di addestramento tra e . Per problemi con molto grande , questa complessità è attualmente proibitiva. N O ( N 2 ) O ( N 3 ) NK ∈ RN× NNO ( N2)O ( N3)N
Questo rende i metodi del kernel molto interessanti dal punto di vista computazionale quando il numero di dimensioni è grande e il numero di campioni è relativamente basso (diciamo, meno di 1 milione).
Correlati: kernel lineare e kernel non lineare per la macchina vettoriale di supporto?
SVM per problemi su larga scala
Per problemi di dimensioni molto elevate, come le 10000
dimensioni menzionate nella domanda, spesso non è necessario eseguire il mapping a uno spazio di caratteristiche di dimensione superiore. Lo spazio di input è già abbastanza buono. Per tali problemi, i metodi lineari sono ordini di grandezza più veloci con quasi le stesse prestazioni predittive. Esempi di questi metodi sono disponibili in LIBLINEAR o Vowpal Wabbit .
I metodi lineari sono particolarmente interessanti quando si hanno molti campioni in uno spazio di input ad alta dimensione. Quando hai solo campioni, anche usare un metodo del kernel non lineare sarà economico (dato che è piccolo). Se avessi, per esempio, campioni in dimensioni, i metodi del kernel sarebbero impossibili.N 5.000.000 10.000500N5.000.00010.000
Per problemi a bassa dimensione con molte istanze di allenamento (i cosiddetti problemi piccoli piccoli ), i metodi lineari possono produrre una scarsa precisione predittiva. Per tali problemi, metodi di ensemble come EnsembleSVM forniscono limiti di decisione non lineari a costi di calcolo significativamente ridotti rispetto alla SVM standard.pNp
RBF
kernellibsvm
, è sempre troppo adatto, il classificatore raggiunge un'alta precisione ma una bassa accuratezza nel set di test. E se eseguo la riduzione delle dimensioni prima del classificatore e le dimensioni ridotte si avvicinano al numero di campioni di training, il classificatore potrebbe ottenere un buon profitto tra training e set di test. I risultati corrispondono ai risultati più empirici? Grazie.