Perché il nome "kernel" in stats e ML?


21

Questo è stato posto su altri siti SE nel contesto dei sistemi operativi e dell'algebra lineare, ma la stessa domanda mi dà fastidio riguardo ai metodi del kernel usati nelle statistiche e nell'apprendimento automatico.

Spesso si dice che i kernel, ad esempio nella stima della densità del kernel o nelle SVM, rappresentino una sorta di somiglianza, ma non capisco da dove provenga il nome "kernel" e quale sia il suo simbolismo.

Allora, qual è l'etimologia dei kernel, nel contesto della statistica e dell'apprendimento automatico?

Per essere chiari, sono ben consapevole di cosa sia un kernel e delle sue principali proprietà, sono solo curioso del nome, poiché non vedo cosa ha a che fare con il seme o il core, come è principalmente definito in dizionari. O almeno non riesco a vedere un significato più profondo di "la parte essenziale del metodo".

Risposte:


13

Puoi trovare alcune informazioni su questo argomento controllando il sito web per i primi usi noti per alcune delle parole della matematica mantenute dal matematico Jeff Miller. Puoi anche trovare informazioni sull'etimologia della parola "kernel" nelle fonti del dizionario standard.

Scrivendo in francese, Fredholm (1903) ha usato la parola "noyau" (core) e Hilbert (1904) ha adottato questo termine ma ha scritto in tedesco, producendo la parola tedesca "kern" (core). Questi termini sono stati usati nel contesto della scrittura di equazioni integrali nell'analisi funzionale. Poco dopo, Bôcher (1909), scrivendo in inglese, usa il termine "kernel" per riferirsi agli stessi oggetti. Il termine si diffonde quindi attraverso la letteratura in lingua inglese sull'analisi funzionale, sull'analisi di Fourier e, in seguito, sulla probabilità e sulla statistica.

Secondo il dizionario sopra collegato, questa parola deriva dall'inglese antico e dal proto-germanico. Può riferirsi a un seme o al nucleo, al centro o all'essenza di un oggetto. La somiglianza linguistica tra il tedesco "kern" e il "kernel" sembra essere dovuta a simili derivazioni storiche. Si presume che la parola "nocciolo" derivi da una ipotesi (ricostruita) parola proto-germanica "kurną" (mais). Quindi, sulla base di questa storia, sembra che etimologicamente, la parola "nocciolo" si riferisca a un seme, nucleo o essenza, e si basa sull'anglicizzazione di una vecchia parola tedesca per mais.

AGGIORNAMENTO: Questa risposta è stata fortemente modificata per riflettere nuove informazioni che sono state portate alla mia attenzione dagli utenti cbeleites e RM . Inizialmente pensavo che questa potrebbe essere stata una recente anglicizzazione della parola "kern", ma le fonti del dizionario suggeriscono che la parola "kernel" in inglese è molto antica. Non sono un linguista, quindi sto semplicemente esponendo informazioni dalle fonti di cui sopra.


Non ho mai sentito parlare di Maxime Bôcher. Prima di tutto, ho pensato che forse fosse un refuso per Salomon Bochner, che qualche anno dopo era molto grande (un gigante) nei kernel integrali, tra le altre cose.
Mark L. Stone,

È colpa mia - Non sono sicuro di come digitare l'accento o. Come hai fatto?
Ripristina Monica il

1
Ho copiato e incollato dalla lista di Wikipedia.
Mark L. Stone,

1
Il mio vero punto era che sapevo che Bochner era un gigante dei kernel, ma non avevo mai sentito parlare di Bocher. Bochner era il consigliere di tesi di Samuel Karlin, da cui ho seguito un corso di Positività totale (kernel totalmente positivi che inducono variazioni che diminuiscono le trasformazioni, e tutto il resto jazz).
Mark L. Stone,

1
Non sono sicuro che il kernel sia una versione anglicizzata di Kern, almeno non nel senso di qualcosa che è successo solo poco più di 100 anni fa. L'ho sempre preso come traduzione: merriam-webster.com/dictionary/kernel definition 1 si chiama "Kern" in tedesco. Ad esempio per una mela, i semi = Kerne, mentre core = Kerngehäuse (letteralmente alloggiamento del kernel).
cbeleites supporta Monica il

13

Un kernel viene usato molte volte in Machine Learning e statistiche. Alcuni esempi sono:

  1. In Support Vector Machines un kernel è una funzione che mappa i dati in uno spazio di dimensioni superiori in cui il problema diventa linearmente risolvibile (guarda questo ).

  2. Stima della densità del kernel

    La stima della densità del kernel è un modo non parametrico per stimare la funzione di densità di probabilità di una variabile casuale.

In questo contesto un kernel è semplicemente una funzione di ponderazione utilizzata nella stima della densità del kernel. L'ultimo link ha anche alcuni usi in più della parola kernel nelle statistiche.

  1. In Convolutional Neural Networks , un kernel è una piccola matrice che viene utilizzata per eseguire la convoluzione tra l'immagine e se stessa. Vedi qui .

In tutti questi esempi un kernel è una funzione matematica che viene utilizzata per una sorta di trasformazione dei dati. Il kernel è essenzialmente la parte costante di quella trasformazione. A seconda della scelta del kernel che utilizziamo per ogni trasformazione, potremmo ottenere un effetto diverso da esso.


5
βe-βXe-βX

7
OP sta cercando l'etimologia dei chicchi.
Franck Dernoncourt,

2
L'uso di "kernal" per riferirsi allo spazio nullo nell'algebra lineare ha qualche relazione con qualcuno di questi usi nell'apprendimento automatico?
syntonicC
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.