Share to: share facebook share twitter share wa share telegram print page

Kernel polinomiale

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.

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.

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].

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

Uso pratico

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].

Note

  1. ^ a b c Yoav Goldberg e Michael Elhadad, splitSVM: Fast, Space-Efficient, non-Heuristic, Polynomial Kernel Computation for NLP Applications, in Johanna D. Moore, Simone Teufel, James Allan, Sadaoki Furui (a cura di), Proceedings of ACL-08: HLT, Short Papers, Association for Computational Linguistics, 2008-06, pp. 237–240. URL consultato il 25 luglio 2025.
  2. ^ cs.tufts.edu, https://www.cs.tufts.edu/~roni/Teaching/CLT/LN/lecture18.pdf.
  3. ^ Amnon Shashua, Introduction to Machine Learning: Class Notes 67577, 23 aprile 2009, DOI:10.48550/arXiv.0904.3664. URL consultato il 25 luglio 2025.
  4. ^ Yin-Wen Chang, Cho-Jui Hsieh e Kai-Wei Chang, Training and Testing Low-degree Polynomial Data Mappings via Linear SVM, in Journal of Machine Learning Research, vol. 11, n. 48, 2010, pp. 1471–1490. URL consultato il 25 luglio 2025.
  5. ^ a b Yin-Wen Chang, Cho-Jui Hsieh e Kai-Wei Chang, Training and Testing Low-degree Polynomial Data Mappings via Linear SVM, in Journal of Machine Learning Research, vol. 11, n. 48, 2010, pp. 1471–1490. URL consultato il 25 luglio 2025.
  6. ^ a b Taku Kudo e Yuji Matsumoto, Fast methods for kernel-based text analysis, in Proceedings of the 41st Annual Meeting on Association for Computational Linguistics - Volume 1, Association for Computational Linguistics, 7 luglio 2003, pp. 24–31, DOI:10.3115/1075096.1075100. URL consultato il 25 luglio 2025.
  7. ^ 2012, http://www.csie.ntu.edu.tw/~cjlin/talks/mlss_kyoto.pdf.
Kembali kehalaman sebelumnya