Teorema de la portada: En términos generales, dice que dado cualquier conjunto aleatorio de puntos finitos (con etiquetas arbitrarias), con alta probabilidad estos puntos pueden hacerse linealmente separables [1] asignándolos a una dimensión más alta [2].
Implicación: Genial, lo que este teorema me dice es que si tomo mi conjunto de datos y mapeo estos puntos a una dimensión superior, entonces puedo encontrar fácilmente un clasificador lineal. Sin embargo, la mayoría de los clasificadores necesitan calcular algún tipo de similitud como el producto de punto y esto significa que la complejidad temporal de un algoritmo de clasificación es proporcional a la dimensión del punto de datos. Entonces, una dimensión más alta significa una mayor complejidad de tiempo (sin mencionar la complejidad del espacio para almacenar esos puntos dimensionales grandes).
norteFnorte( > > N )KXyK( x , y) = ⟨ F( x ) , f( y) ⟩O ( n )O ( N)
F
¿La separabilidad lineal implica que los puntos de la misma clase se acercarán más que los puntos de diferentes clases?
No, no existe tal garantía como tal. La separabilidad lineal no implica realmente que el punto de la misma clase se haya acercado o que los puntos de dos clases diferentes hayan llegado más lejos.
Entonces, ¿por qué funcionaría kNN?
No necesita! Sin embargo, si lo hace, entonces se debe únicamente al núcleo.
x = ( x1, x2)x(x21,2–√x1x2,x22)
Entonces, ¿por qué usar kernel kNN?
Demostramos que la complejidad de cálculo del uso de núcleos es solo un poco más que el kNN habitual y si los datos se benefician del uso de núcleos, ¿por qué no usarlos de todos modos?
¿Hay algún documento que haya estudiado qué clase de datos pueden beneficiarse de los núcleos en kNN?
Que yo sepa, no.
[1] http://en.wikipedia.org/wiki/Linear_separability
[2] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4038449&tag=1