Teorema di Cover: affermato in modo approssimativo, dice dato qualsiasi set casuale di punti finiti (con etichette arbitrarie), quindi con alta probabilità questi punti possono essere resi linearmente separabili [1] mappandoli su una dimensione superiore [2].
Implicazione: fantastico, ciò che mi dice questo teorema è che se prendo il mio set di dati e mappa questi punti su una dimensione superiore, allora posso facilmente trovare un classificatore lineare. Tuttavia, la maggior parte dei classificatori deve calcolare una sorta di somiglianza come il prodotto punto e questo significa che la complessità temporale di un algoritmo di classificazione è proporzionale alla dimensione del punto dati. Quindi, una dimensione superiore significa una maggiore complessità temporale (per non parlare della complessità dello spazio per memorizzare quei punti di grandi dimensioni).
nfN(>>n)KxyK(x,y)=⟨f(x),f(y)⟩O(n)O(N)
f
La separabilità lineare implica che i punti della stessa classe si avvicineranno ai punti di classi diverse?
No, non esiste una garanzia in quanto tale. La separabilità lineare non implica in realtà che il punto della stessa classe si sia avvicinato o che i punti di due classi diverse siano andati oltre.
Quindi perché kNN dovrebbe funzionare?
Non serve! Tuttavia, se lo fa, è semplicemente a causa del kernel.
x=(x1,x2)x(x21,2–√x1x2,x22)
Allora perché usare il kernel kNN?
Abbiamo dimostrato che la complessità di calcolo dell'uso dei kernel è leggermente superiore rispetto al normale kNN e se i dati traggono vantaggio dall'uso dei kernel, perché non utilizzarli comunque?
Esiste un documento che ha studiato quale classe di dati può trarre vantaggio dai kernel in kNN?
Per quanto ne so, No.
[1] http://en.wikipedia.org/wiki/Linear_separability
[2] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4038449&tag=1