Che cos'è un kernel e cosa lo distingue dalle altre funzioni


13

Sembra che ci siano molti algoritmi di apprendimento automatico che si basano sulle funzioni del kernel. SVM e NN per nominarne solo due. Quindi qual è la definizione di una funzione del kernel e quali sono i requisiti per essere valida?


5
Non direi che gli NN si basano sulle funzioni del kernel - si basano su una funzione di trasferimento per raggiungere la non linearità, ma questa non è la stessa cosa di una funzione del kernel
tdc,

Risposte:


11

Per x, y su S, alcune funzioni K (x, y) possono essere espresse come prodotto interno (di solito in uno spazio diverso). K viene spesso definito kernel o funzione kernel. La parola kernel è usata in vari modi in matematica, ma questo è l'uso più comune nell'apprendimento automatico.

Il trucco del kernel è un modo di mappare le osservazioni da un insieme generale S in uno spazio interno di prodotto V (dotato della sua norma naturale), senza mai dover calcolare esplicitamente la mappatura, nella speranza che le osservazioni acquisiscano una struttura lineare significativa in V Questo è importante in termini di efficienza (calcolo puntuale dei prodotti in uno spazio di dimensioni molto elevate molto rapidamente) e praticità (possiamo convertire algoritmi ML lineari in algoritmi ML non lineari).

Perché una funzione K sia considerata un kernel valido, deve soddisfare le condizioni di Mercer . Questo in termini pratici significa che dobbiamo garantire che la matrice del kernel (calcolando il prodotto del kernel di ogni punto dati che possiedi) sia sempre semi-definita positiva. Ciò garantirà che la funzione dell'obiettivo di allenamento sia convessa, una proprietà molto importante.


Grazie @carlosdc, ma temo che tu stia cercando di insegnare a questo vecchio cane nuovi trucchi. Molto di questo è molto difficile. Ho letto le condizioni di Mercer, ma il loro significato nel mondo reale è perso su di me. Presumo da quanto sopra che l'integrale di un kernel deve essere vincolato a un valore finito. Questa ipotesi è corretta?

1
La parte in cui l'obiettivo è convesso se la matrice del kernel è PSD dipende dall'obiettivo. Questo è vero per gli SVM, ma con i processi gaussiani il punto è che la matrice del kernel è una matrice di covarianza valida e quindi invertibile.
Bayerj,

2

Da Williams, Christopher KI e Carl Edward Rasmussen. " Processi gaussiani per l'apprendimento automatico. " MIT Press 2, n. 3 (2006). Pagina 80 .

XXX'XR

Inoltre, funzione kernel = kernel.

I kernel utilizzati negli algoritmi di machine learning in genere soddisfacevano più proprietà, come il semidefinito positivo.


2

Andando a provare per una spiegazione meno tecnica.

Innanzitutto, inizia con il prodotto punto tra due vettori. Questo ti dice quanto siano "simili" i vettori. Se i vettori rappresentano punti nel set di dati, il prodotto punto indica se sono simili o meno.

Ma, in alcuni (molti) casi, il prodotto punto non è la migliore metrica di somiglianza. Per esempio:

  • Forse i punti con prodotti a basso punto sono simili per altri motivi.
  • Potresti avere elementi di dati che non sono ben rappresentati come punti.

Quindi, invece di usare il prodotto dot, usi un "kernel" che è solo una funzione che prende due punti e ti dà una misura della loro somiglianza. Non sono sicuro al 100% delle condizioni tecniche che una funzione deve soddisfare per essere tecnicamente un kernel, ma questa è l'idea.

Una cosa molto bella è che il kernel può aiutarti a mettere la tua conoscenza del dominio nel problema, nel senso che puoi dire che due punti sono uguali a causa della ragione xyz che viene dalla conoscenza del dominio.

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.