Importancia de los Kernels para los SVM

Autor: | Última modificación: 16 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabías que los kernels para los SVM guardan una gran importancia? En este artículo te contamos cómo funcionan y cuál es la gran relevancia de los kernels para los SVM.

Un poco de contexto

El acrónimo SVM hace referencia a support vector machines y se traduce como máquinas de vectores de soporte. Los SVM sirven para resolver problemas de clasificación de un conjunto de datos. Lo que se hace es intentar encontrar un hiperplano de separación para poder separar las clases de los datos nuevos que ingresen en un espacio de características.

Importancia de los Kernels para los SVM
kernel support vector machine

Recapitulemos algunas cosas acerca de los SVM. Vemos en las imágenes el coste C y cómo cambian las fronteras lineales entre cada una de las gráficas, todo en función del coste C.

Fronteras no lineales en SVM

¿Qué pasa cuando tenemos fronteras que no son lineales? Es simple: si existe una frontera no lineal, los SVM no funcionan. Es por ello que se recurre a la regresión lineal o linear regression (LR).

La formulación de las support vector machines y la regresión lineal es similar. Entonces si queremos definir fronteras de separación no lineal en regresión lineal, ¿qué deberíamos hacer? Lo que tendríamos que hacer es añadir características polinómicas; aumentamos la dimensionalidad del espacio de características introduciendo polynomical features.

Importancia de los Kernels para los SVM
kernel in support vector machine

x1, x2 → x1, x2, x12, x22, x1 x2

D = 2

En el caso de la regresión logística, tenemos que elegir la función de transformación bajo nuestro mejor criterio.

x1ø (x1) ⇒ x12

x1ø (x1) ⇒ x22

Eso de bajo nuestro mejor criterio es solo una forma de decirlo, porque en realidad lo que se hace con este conjunto de datos es ingresarlo en cross validation. La toma de decisiones radica en el hecho de decidir si, por ejemplo, le metemos un grado 3 o un grado 8, un grado 5 o un grado 2 al proceso de validación cruzada.

Kernels para los SVM

Lo que se hace, entonces, es aplicar kernels para los SVM. ¿Qué es lo que buscamos con la transformación de los kernels para los SVM? Básicamente, buscamos esto:

Kernels para los SVM

Tenemos la división de datos que se ve en la primera imagen. Es en dos dimensiones, x1 y x2, y tenemos una frontera que es, claramente, una frontera no linealmente separable debido a su forma, similar a la de un círculo.

Aplicamos una transformación, con lo que aumentaremos la dimensionalidad de forma y nos llevamos los datos alojados en el dataset, los transformamos a una dimensión en la cual podamos separarlos linealmente (segunda imagen). Tenemos, por tanto, datos que no son linealmente separables en dos dimensiones y lo que queremos conseguir con los kernels para los SVM es realizar una separación lineal de los datos en tres dimensiones.

Lo siguiente que haremos es coger el hiperplano que se posee en tres dimensiones y, al aplicar la θ transformada, tanto a los datos como a nuestro plano, lo que generamos es una frontera de separación, que es un círculo en dos dimensiones que consigue separar nuestros datos.

Algunas consideraciones sobre los kernels para los SVM

Entonces:

  • La formulación SVM permite no tener que conocer la transformación θ (x).
  • Se aplica el truco del núcleo.
    • Si tengo < xi, xi > y quiero aplicar < θ (xi), θ (xi) >, no necesitamos conocer θ (x), solo aplicamos kernels para los SVM.
    • Allí donde tenga < xi, xi > utilizaré kernels para los SVM como:
Importancia de los Kernels para los SVM

Formulación

Así podemos transformar la frontera lineal:

Importancia de los Kernels para los SVM

En una no lineal:

Importancia de los Kernels para los SVM

¿Y cuál es el resultado de todo esto?

Importancia de los Kernels para los SVM

Pasamos de kernels para los SVM no lineales (primera imagen), a una frontera no lineal (segunda y tercera imagen).

¿Cuál es el gran problema? El problema radica en que hay que fijar los parámetros libres del kernel para los SVM y eso implica un hiperparámetro adicional.

¿Qué sigue?

Si sientes curiosidad por aprender más sobre Big Data y los tipos de kernel svm , tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva en la que adquirirás toda la fundamentación teórica y práctica que necesitas para seguir forjando tu camino hacia el éxito. Recuerda que estarás acompañado en todo momento por los mejores profesionales que te ayudarán a conseguir todas tus metas. ¡No lo dudes más y anímate a solicitar más información ahora!

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado