Timeline
Chat
Prospettiva

Kernel polinomiale

Da Wikipedia, l'enciclopedia libera

Kernel polinomiale
Remove ads

Nell'apprendimento automatico, il kernel polinomiale è una funzione kernel, comunemente utilizzata con le macchine a vettori di supporto (SVM) e altri modelli kernelizzati, che rappresenta la similarità fra coppie di vettori (campioni di addestramento) definiti in uno spazio di caratteristiche (feature) costruito sulla base di polinomi delle variabili originali, il che consente l'apprendimento di modelli non lineari.

Thumb
Illustrazione del mapping . A sinistra insieme di campioni nello spazio di input, a destra gli stessi campioni nello spazio delle caratteristiche in cui il kernel polinomiale (per alcuni valori dei parametri e ) costituisce il prodotto interno. L'iperpiano appreso nello spazio delle feature da una SVM è un'ellisse nello spazio di input.

Intuitivamente, il kernel polinomiale non considera solo le caratteristiche date dei campioni di input per determinarne la similarità, ma anche loro combinazioni. Nel contesto dell'analisi di regressione, tali combinazioni sono note come caratteristiche di interazione. Lo spazio delle feature (implicite) di un kernel polinomiale è equivalente a quello della regressione polinomiale, ma si evita l'esplosione combinatoria del numero di parametri da apprendere. Quando le feature di input hanno valori binari (booleani) quelle implicite corrispondono a loro congiunzioni logiche[1].

Remove ads

Definizione

Per i polinomi di grado , il kernel polinomiale è definito come segue[2]:

dove e sono vettori di dimensione nello spazio di input, ovvero vettori di caratteristiche calcolate da campioni di addestramento o di test e è un parametro libero che compensa l'influenza dei termini di ordine superiore rispetto a quelli di ordine inferiore nel polinomio. Quando , il kernel è detto omogeneo[3] (un ulteriore kernel polinomiale generalizzato divide per un parametro scalare specificato dall'utente a[4]).

Essendo un kernel, corrisponde a un prodotto interno in uno spazio di feature basato su una trasformazione :

La natura di può essere meglio compresa con l'esempio seguente. Sia , quindi si ha il caso speciale del kernel quadratico. Utilizzando il teorema multinomiale (due volte: l'applicazione più esterna corrisponde al teorema binomiale ) e raggruppando, si ha:

da ciò consegue che la trasformazione sia data da:

generalizzando per ,

dove , , e applicando il teorema multinomiale:

L'ultima sommatoria ha elementi, in modo che:

dove e

Remove ads

Uso pratico

Riepilogo
Prospettiva

Sebbene in generale il kernel RBF sia più popolare rispetto al kernel polinomiale nella classificazione con SVM, quest'ultimo è piuttosto popolare nel contesto dell'elaborazione del linguaggio naturale (NLP)[1][5]. Il grado più comune è (quadratico) poiché, nei problemi NLP, gradi più grandi tendono al sovradattamento.

Per il calcolo (esatto o approssimato) dei kernel polinomiali sono stati ideati vari metodi alternativi rispetto agli usuali algoritmi di addestramento SVM non lineari, fra i quali:

  • l'espansione completa del kernel prima dell'addestramento/test con una SVM lineare[5], ovvero il calcolo completo di come nella regressione polinomiale;
  • il basket mining (che utilizza una variante dell'algoritmo Apriori) per congiunzioni delle caratteristiche più comuni in un set di addestramento al fine di produrre un'espansione approssimata[6];
  • l'uso dell'indicizzazione invertita dei vettori di supporto[6][1].

Un problema del kernel polinomiale è che esso può comportare instabilità numerica:

quando , tende a zero all'aumentare di ,

mentre quando , tende all'infinito[7].

Remove ads

Note

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads