KDnuggets (Italiano)

postato in: Articles | 0
Di Sebastian Raschka, Michigan State University.

Dato un set di dati arbitrario, in genere non si sa quale kernel potrebbe funzionare meglio. Raccomando di iniziare prima con lo spazio di ipotesi più semplice-dato che non sai molto dei tuoi dati-e fatti strada verso gli spazi di ipotesi più complessi. Quindi, il kernel lineare funziona bene se il tuo set di dati è separabile linearmente; tuttavia, se il tuo set di dati non è separabile linearmente, un kernel lineare non lo taglierà (quasi in senso letterale;)).,

Per semplicità (e per scopi di visualizzazione), supponiamo che il nostro set di dati sia composto da sole 2 dimensioni. Di seguito, ho tracciato le regioni decisionali di un SVM lineare su 2 caratteristiche del set di dati iris:

Funziona perfettamente. Ed ecco che arriva il kernel RBF SVM:

Ora, sembra che sia linear che RBF kernel SVM funzionerebbero ugualmente bene su questo set di dati. Quindi, perché preferire l’ipotesi più semplice e lineare? Pensa al rasoio di Occam in questo caso particolare., SVM lineare è un modello parametrico, un SVM del kernel RBF non lo è e la complessità di quest’ultimo cresce con la dimensione del set di allenamento. Non solo è più costoso addestrare un SVM del kernel RBF, ma è anche necessario mantenere la matrice del kernel in giro, e la proiezione in questo spazio dimensionale “infinito” più alto in cui i dati diventano separabili linearmente è più costosa anche durante la previsione. Inoltre, hai più iperparametri da sintonizzare, quindi anche la selezione del modello è più costosa! E infine, è molto più facile adattarsi eccessivamente a un modello complesso!,

Ok, quello che ho detto sopra sembra tutto molto negativo per quanto riguarda i metodi del kernel, ma in realtà dipende dal set di dati. E. g., se i dati non linearmente separabili, non ha senso usare un classificatore lineare:

In questo caso, un kernel RBF renderebbe molto più senso:

In ogni caso, non vorrei disturbare troppo il kernel polinomiale. In pratica, è meno utile per ragioni di efficienza (computazionale e predittiva)., Quindi, la regola empirica è: utilizzare SVM lineari (o regressione logistica) per problemi lineari e kernel non lineari come il kernel della funzione di base radiale per problemi non lineari.

La regione decisionale SVM del kernel RBF è in realtà anche una regione decisionale lineare., Ciò che RBF kernel SVM in realtà fa è creare combinazioni non lineari delle tue caratteristiche per elevare i tuoi campioni su uno spazio di feature di dimensioni superiori in cui puoi usare un limite di decisione lineare per separare le tue classi:

Ok, sopra, ti ho guidato attraverso un esempio intuitivo in cui possiamo visualizzare i nostri dati in 2 dimensioni … ma cosa facciamo in un problema del mondo reale, cioè un set di dati con più di 2 dimensioni? Qui, vogliamo tenere d’occhio la nostra funzione oggettiva: ridurre al minimo la perdita della cerniera., Vorremmo impostare una ricerca iperparametro (ricerca griglia, per esempio) e confrontare diversi kernel tra loro. Basato sulla funzione di perdita (o una metrica di prestazioni come accuratezza, F1,MCC, ROC auc, ecc.) potremmo determinare quale kernel è “appropriato” per il compito dato.

Bio: Sebastian Raschka è un ‘Data Scientist’ e appassionato di Machine Learning con una grande passione per Python& open source. Autore di ‘Python Machine Learning’. Università Statale del Michigan.

Originale. Ripubblicato con il permesso.,

Related:

  • Quando l’apprendimento profondo funziona meglio degli SVM o delle foreste casuali?
  • Lo sviluppo della classificazione come macchina di apprendimento
  • Perché implementare algoritmi di apprendimento automatico da zero?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *