- Introducción a Máquinas de Soporte Vectorial (SVM)
- Creación de Conjunto de Datos Sintéticos
- Visualización de la Tabla de Verdad de XOR
- Entendiendo el Código para Generar Datos
- Fundamentos de los Métodos Kernel
- Ejemplo Gráfico de Transformación Kernel
- Aplicación Práctica del Kernel en SVM
- Generación de Datos Sintéticos y Aplicación de Lógica XOR
- Conclusión y Preparación para el Próximo Video
Introducción a Máquinas de Soporte Vectorial (SVM)
Decíamos en el anterior vídeo que una de las ventajas de las SVM es que se pueden personalizar, lo que explica su gran popularidad entre los profesionales de aprendizaje automático por su sencillez para resolver problemas de clasificación no lineales. En este video explicaremos en detalle el llamado kernel SVM.
Creación de Conjunto de Datos Sintéticos
Antes de profundizar en el Kernel SVM, es necesario crear un conjunto de datos sintéticos para demostrar cómo puede verse un problema de clasificación no lineal y cómo se aplican los métodos kernel a datos linealmente inseparables. Para garantizar que los datos sean intrínsecamente inseparables, utilizaremos una puerta XOR aplicando la función lógica XOR que nos permite hacerlo con datos aleatorios.
Visualización de la Tabla de Verdad de XOR
Una puerta XOR, o exclusive OR, es una operación lógica entre dos variables booleanas que devuelve verdadero únicamente si las entradas son diferentes. La operación crea un patrón donde los puntos necesitan ser divididos en cuatro cuadrantes de un sistema de coordenadas, donde los puntos diagonales tienen la misma clase.
Entendiendo el Código para Generar Datos
Vamos a asignar 100 puntos a cada una de nuestras dos clases, repartidos entre estos cuadrantes, lo que nos dará un total de 200 puntos mezclados de un modo que sea imposible separarlos con una simple línea recta. Este aspecto explica por qué usamos la puerta XOR que aplica un ruido aleatorio a los datos haciéndolos inseparables linealmente.
Fundamentos de los Métodos Kernel
Antes de empezar a analizar el código, explicaremos más en detalle lo que son los denominados métodos kernel utilizados para tratar con datos linealmente inseparables. Estos métodos crean combinaciones de las características originales para proyectarlas en un espacio de dimensiones superior a través de una función de mapeo, haciendo que los datos se vuelvan linealmente separables.
Ejemplo Gráfico de Transformación Kernel
En una primera imagen, la representación gráfica de un conjunto de datos en 2D tiene dos clases que no pueden separarse completamente en este espacio 2D original. El kernel transforma estos datos a un espacio tridimensional mediante el uso de una función de mapeo específica, donde es posible encontrar un hiperplano que separe claramente las dos clases.
Aplicación Práctica del Kernel en SVM
La transformación y cálculo del producto interno en el espacio de características superior se realiza sin la necesidad de calcular explícitamente las coordenadas dentro de ese espacio, lo que reduce la complejidad computacional. El uso de un kernel polinómico o un kernel radial como RBF puede representar este tipo de transformación de manera implícita y coste-efectiva en términos de computación.
Generación de Datos Sintéticos y Aplicación de Lógica XOR
Explicaremos cómo generamos las dos clases no separables linealmente en el espacio bidimensional usando la función logical_xor
de numpy, que nos permitirá posteriormente aplicar algoritmos basados en los kernels SVM para manejar la no linealidad en la clasificación de los datos.
Conclusión y Preparación para el Próximo Video
Hemos visto cómo es imposible separar las dos clases generadas con una línea recta, lo que nos lleva a necesitar aplicar un kernel SVM para poder trazar un límite de separación no lineal. En el próximo video, exploraremos cómo se realiza esta transformación en detalle, facilitando la clasificación de conjuntos de datos complejos que son intrínsecamente no lineales.
============================================
Si quieres conocer otros artículos parecidos a ¿Cómo Revolucionan los Kernels SVM el Campo de la Ciencia de Datos para Machine Learning? puedes visitar la categoría Jesús Conde.
Deja una respuesta