¿Por qué utilizamos núcleos en algunos modelos de aprendizaje automático?

No es posible encontrar un hiperplano o un límite de decisión lineal para algunos problemas de clasificación. Si proyectamos los datos en una dimensión superior desde el espacio original, podemos obtener un hiperplano en la dimensión proyectada que ayuda a clasificar los datos.

Como mostramos en la figura anterior, es imposible encontrar una sola línea para separar las dos clases (verde y azul) en el espacio de entrada. Pero, después de proyectar los datos en una dimensión superior (es decir, el espacio de características en la figura), pudimos encontrar el hiperplano que clasifica los datos. Kernel ayuda a encontrar un hiperplano en el espacio dimensional superior sin aumentar mucho el costo computacional. Por lo general, el costo computacional aumentará si aumenta la dimensión de los datos.

¿Cómo es que Kernel no aumenta la complejidad computacional?

Sabíamos que el producto escalar de los mismos dos vectores dimensionales da un solo número. Kernel utiliza esta propiedad para calcular el producto punto en un espacio diferente sin siquiera visitar el espacio.

Supongamos que tenemos dos características. Significa que la dimensión del punto de datos es [math] \ mathbb R ^ 2. [/mates]

[matemáticas] x_ {i} = \ begin {bmatrix} x_ {i1} \\ x_ {i2} \ end {bmatrix} \ tag * {} [/ math]

i en el subíndice x representa los puntos de datos. Del mismo modo, 1 y 2 en el subíndice x denotan las características. Además, suponga que estamos aplicando alguna función de transformación para convertir el espacio de entrada bidimensional (dos características) en un espacio de característica cuatridimensional que es [matemáticas] (x_ {i1} ^ {2}, x_ {i1} x_ {i2} x_ {i2} x_ {i1}, x_ {i2} ^ {2}). [/ math] Requiere [math] \ mathcal {O} (n ^ {2}) [/ math] tiempo para calcular n puntos de datos en el espacio de cuatro dimensiones. Para calcular el producto escalar de dos vectores en el espacio de cuatro dimensiones / espacio transformado, la forma estándar es

1. Convierta cada punto de datos de [math] \ mathbb R ^ 2 \ a \ mathbb R ^ 4 [/ math] aplicando la transformación. (He tomado dos puntos de datos [matemáticas] x_ {i} [/ matemáticas] y [matemáticas] x_ {j} [/ matemáticas])

[matemáticas] \ phi (x_ {i}) = \ begin {bmatrix} x_ {i1} ^ {2} \\ x_ {i1} x_ {i2} \\ x_ {i2} x_ {i1} \\ x_ {i2 } ^ {2} \ end {bmatrix} \ hspace {2cm} \ phi (x_ {j}) = \ begin {bmatrix} x_ {j1} ^ {2} \\ x_ {j1} x_ {j2} \\ x_ {j2} x_ {j1} \\ x_ {j2} ^ {2} \ end {bmatrix} \ tag * {} [/ math]

2. Producto de puntos los dos vectores.

[matemáticas] \ phi (x_ {i}). \ phi (x_ {j}) \ tag * {} [/ matemáticas]

Como dije antes, la función Kernel calcula el producto punto en el espacio diferente sin siquiera visitarlo. La función del núcleo para la transformación anterior es

[matemáticas] K (x_ {i}, x_ {j}) = (x_ {i} ^ {T} x_ {j}) ^ {2} \ tag {1} [/ matemáticas]

Ejemplo:

Digamos que [matemáticas] x_ {i} = \ begin {bmatrix} 1 \\ 2 \ end {bmatrix} \ hspace {0.5cm} \ text {and} \ hspace {0.5cm} x_ {j} = \ begin {bmatrix } 3 \\ 5 \ end {bmatrix}. [/ Math]

El producto de punto en el espacio de cuatro dimensiones por la forma estándar es

[matemáticas] = \ begin {bmatrix} 1 \\ 2 \\ 2 \\ 4 \ end {bmatrix} \ cdot \ begin {bmatrix} 9 \\ 15 \\ 15 \\ 25 \ end {bmatrix} = 9 + 30 + 30 + 100 = 169 \ etiqueta * {} [/ matemáticas]

El producto de punto anterior se puede calcular utilizando la función del núcleo anterior (ecuación 1) sin siquiera transformar el espacio original.

[matemáticas] K (x_ {i}, x_ {j}) = \ begin {bmatrix} 1 \\ 2 \ end {bmatrix} \ cdot \ begin {bmatrix} 3 \\ 5 \ end {bmatrix} = (3+ 10) ^ {2} = 169. [/ Matemáticas]

El método estándar para calcular el producto punto requiere tiempo [matemático] \ matemático {O} (n ^ {2}) [/ matemático]. Pero, el núcleo requiere solo [math] \ mathcal {O} (n) [/ math] time.

Kernel también puede considerarse como una medida de similitud. La medida de similitud cuantifica la similitud entre dos puntos de datos. El valor del kernel será grande si [math] \ phi (x_ {i}) [/ math] y [math] \ phi (x_ {j}) [/ math] están muy juntos. Será cero, si son ortogonales entre sí. Kernel no se puede aplicar a todos los algoritmos de aprendizaje automático. Se aplicará solo si el algoritmo solo necesita conocer el producto interno de los puntos de datos en el espacio de coordenadas. La forma dual de la función objetivo de SVM y sus restricciones se dan a continuación.

[matemáticas] L_ {D} = \ sum_ {i = 1} ^ {N} \ alpha_ {i} – \ frac {1} {2} \ sum_ {i = 1} ^ {N} \ sum_ {j = 1 } ^ {N} \ alpha_ {i} \ alpha_ {k} y_ {i} y_ {k} \ underset {\ text {Producto interno}} {(x_ {i} ^ {T} x_ {j})} \ etiqueta {2} [/ math]

[matemáticas] st: \ alpha_ {i} \ geq 0 \ tag * {} [/ matemáticas]

[matemáticas] \ hspace {0.5cm} \ sum_ {i = 1} ^ {N} \ alpha_ {i} \ y_ {i} = 0 \ tag * {} [/ matemáticas]

Solo requiere el producto interno de los puntos de datos en el espacio de coordenadas para determinar el hiperplano de separación. Entonces, podemos reemplazar eso por kernel.

[matemáticas] L_ {D} = \ sum_ {i = 1} ^ {N} \ alpha_ {i} – \ frac {1} {2} \ sum_ {i = 1} ^ {N} \ sum_ {j = 1 } ^ {N} \ alpha_ {i} \ alpha_ {k} y_ {i} y_ {k} K (x_ {i} ^ {T} x_ {j}) \ tag * {} [/ math]

Cuando se usan en el espacio de características original de los vectores de observación, los modelos lineales son restrictivos ya que no capturan / usan
cualquier no linealidad inherente presente en los datos. Para hacer que los modelos lineales sean más robustos, es una práctica común primero mapear vectores de características en el espacio original a un espacio de alta dimensión y luego aprender el modelo lineal sobre el espacio de alta dimensión. Si el vector de características en este espacio de alta dimensión es una función no lineal del vector correspondiente en el espacio original, entonces un modelo lineal en este espacio corresponderá a un modelo no lineal en el espacio original. Las funciones del kernel nos permiten obtener una versión no lineal de cualquier algoritmo sin obtener realmente la función de mapeo si el algoritmo puede expresarse únicamente en términos de combinación lineal del producto punto de los puntos de datos.
Hay versiones kernelized de k-means, pca, lda, vecinos más cercanos y muchos más. Puede leer sobre algunos de ellos en el siguiente enlace:
http://www.ics.uci.edu/~welling/

Aquí hay algunos ejemplos de modelos lineales y sus versiones kernelized:
– PCA y kernel PCA (página en psu.edu)
– Modelo bilineal asimétrico (página en merl.com) y modelo bilineal kernel asimétrico (ahora estoy haciendo una conexión descarada de mi propio trabajo aquí: P) (página en iiit.ac.in)

More Interesting

¿Qué tan importante es el aprendizaje profundo en la conducción autónoma?

¿Por qué parece que hay capas y capas de significado más profundo ocultas bajo la simple forma de escritura de Ernest Hemingway?

Cómo crear un motor de búsqueda médica utilizando el aprendizaje automático en Java

¿Cuáles son algunos trabajos de investigación que puedo publicar en el campo del procesamiento / generación de lenguaje natural, aprendizaje automático y minería de datos?

Cómo medir la incertidumbre o dar medidas de intervalo de confianza junto con un modelo de red neuronal existente

¿Qué pila de tecnología usa Akinator?

¿Cómo funciona la red de propuestas regionales (RPN) en Faster R-CNN?

¿Qué necesitan saber los desarrolladores de aplicaciones sobre Siri para interactuar con él?

¿Cuáles son las 3 mejores GPU, independientemente del precio del aprendizaje profundo, especialmente si necesitamos mucha RAM de GPU, así como cálculos de alto rendimiento / velocidad?

Cómo manejar una imagen de diferentes tamaños en una red convolucional de MatConvNet con un contenedor DagNN

¿Se está realizando una fuerte investigación en la intersección del aprendizaje automático y la neurociencia computacional?

¿Cuál es la diferencia intuitiva entre un modelo estocástico y un modelo determinista?

¿Por qué se utilizan imágenes en escala de grises para el análisis de componentes principales?

¿Qué función podría usar en R para encontrar los n valores más grandes de un vector?

¿Cómo afecta su área de investigación de maestría (CS) a su carrera? ¿Y cuáles son las áreas más lucrativas?