Un kernel smoother è una tecnica non parametrica di apprendimento automatico statistico atta a stimare una funzione a valori reali come media ponderata di dati osservati adiacenti. Il peso è definito dal kernel, in modo che ai punti più vicini vengano assegnati pesi maggiori. La funzione stimata non ha discontinuità e il livello di smoothness è impostato da un singolo parametro. Il kernel smoothing può essere considerato un tipo di media mobile ponderata.
Sia un kernel definito da
dove:
I kernel più comunemente utilizzati per lo smoothing comprendono i kernel parabolici (Epanechnikov), tricubici e gaussiani.
Sia una funzione continua di . Per ogni , la media ponderata del kernel di Nadaraya-Watson (stima ) è definita da
dove:
Nelle sezioni seguenti si descriveranno alcuni casi particolari di kernel smoother.

Uno dei kernel più ampiamente utilizzati è il kernel gaussiano, che viene espresso dalla seguente equazione
in tale equazione viene detta scala di lunghezza per lo spazio di input.

L'algoritmo k-nearest neighbor può essere utilizzato per definire uno smoother k-nearest neighbor come segue. Per ogni punto , si considerano vicini più prossimi e si stima il valore di facendo la media dei valori di tali vicini.
Formalmente, , dove è il -esimo vicino più prossimo a e
In questo esempio, è unidimensionale. Per ogni , è un valore medio dei 16 punti più prossimi a (indicati in rosso).

L'idea del kernel average smoother è la seguente. Per ogni punto , si sceglie una grandezza di distanza costante (raggio del kernel o larghezza della finestra per dimensione) e si calcola una media ponderata per tutti i punti con distanza da inferiore a (più i punti sono vicini a , più alto è il loro peso).
Formalmente, e è basata su uno dei kernel più diffusi.
Per ogni la larghezza della finestra è costante e il peso di ciascun punto nella finestra è schematicamente indicato dall'area in giallo nel grafico. Si può osservare che la stima è regolare, ma i punti di confine sono distorti. Ciò dipende dal numero ineguale di punti nella finestra (da destra e da sinistra rispetto a ), quando è sufficientemente vicino al confine.
Nelle due sezioni precedenti si è ipotizzato che la funzione in questione fosse localmente costante, quindi si è potuto utilizzare la media ponderata per la stima. L'idea della regressione lineare locale è quella di adattare localmente una retta (o un iperpiano per più dimensioni) e una funzione costante (linea orizzontale). Dopo aver adattato la retta, la stima è fornita dal valore di questa linea nel punto . Ripetendo questa procedura per ogni , si ottiene la funzione di stima . Come nella sezione precedente, la larghezza della finestra è costante Formalmente, la regressione lineare locale viene calcolata risolvendo un problema di minimi quadrati ponderati.

Per il caso unidimensionale () si ha:
con
La soluzione in forma chiusa è data da:
dove
La funzione risultante è regolare e si è ridotto il problema dei punti di confine distorti.
La regressione lineare locale può essere applicata a spazi con qualunque numero di dimensioni, sebbene la questione di cosa si trovi un intorno locale diventi più complessa al crescere di tale numero. È comune utilizzare k punti di training più vicini a un punto di test per adattare la regressione lineare locale. Questo può portare a un'elevata varianza della funzione appresa. Per limitare la varianza, l'insieme dei punti di training dovrebbe contenere il punto di test nel proprio inviluppo convesso.
Invece di adattare funzioni localmente lineari, si può ricorrere a funzioni polinomiali. Per si dovrebbe minimizzare:
con
Nel caso generale di dimensione superiore a 1 (), si dovrebbe minimizzare: