what is support vector machine machine learning
Este tutorial explica la máquina de vectores de soporte en ML y conceptos asociados como Hyperplane, vectores de soporte y aplicaciones de SVM:
En el Tutorial anterior , aprendimos sobre los algoritmos genéticos y su función en el aprendizaje automático.
Hemos estudiado algunos algoritmos supervisados y no supervisados en aprendizaje automático en nuestros tutoriales anteriores. La retropropagación es un algoritmo de aprendizaje supervisado, mientras que Kohenen es un algoritmo de aprendizaje no supervisado.
En este tutorial de máquinas de vectores de soporte, aprenderemos sobre las máquinas de vectores de soporte. Los SVM son algoritmos sólidos de aprendizaje automático supervisados matemáticamente que se utilizan ampliamente en la clasificación del conjunto de datos de entrenamiento.
=> Lea la serie completa de capacitación sobre aprendizaje automático
Lo que vas a aprender:
- ¿Qué es una máquina de vectores de soporte (SVM)?
- ¿Qué es un hiperplano?
- ¿Qué son los algoritmos de clasificación y regresión?
- ¿Qué son los vectores de soporte?
- ¿Cómo funciona una máquina de vectores de soporte?
- Cómo optimizar la posición del hiperplano
- Aplicaciones de SVM
- Conclusión
- Lectura recomendada
¿Qué es una máquina de vectores de soporte (SVM)?
El algoritmo SVM es un algoritmo de aprendizaje supervisado categorizado en técnicas de clasificación. Es una técnica de clasificación binaria que utiliza el conjunto de datos de entrenamiento para predecir un hiperplano óptimo en un espacio n-dimensional.
Este hiperplano se utiliza para clasificar nuevos conjuntos de datos. Al ser un clasificador binario, el conjunto de datos de entrenamiento, el hiperplano, divide el conjunto de datos de entrenamiento en dos clases.
Los algoritmos SVM se utilizan para clasificar datos en un plano bidimensional y en un hiperplano multidimensional. El hiperplano multidimensional utiliza los 'Núcleos' para categorizar los datos multidimensionales.
Siempre se desea tener una distinción máxima entre los puntos de datos clasificados. Esto significa que deben tener una distancia máxima, o el hiperplano debe tener un margen máximo entre los puntos de datos.
¿Qué es un hiperplano?
Un hiperplano es un límite que divide el plano. Es un límite de decisión que clasifica los puntos de datos en 2 clases distintas. Como SVM se utiliza para clasificar datos en multidimensional, un hiperplano puede ser una línea recta si hay 2 entradas o un plano 2 D si hay más de 2 entradas.
Los algoritmos SVM también se pueden utilizar para análisis de regresión, pero principalmente se utilizan para clasificación. Veamos algunos detalles más sobre cada uno de estos métodos.
¿Qué son los algoritmos de clasificación y regresión?
Un algoritmo de clasificación es el que analiza los datos de entrenamiento para predecir el resultado. El resultado es una clase objetivo, por ejemplo , Día o noche, sí o no, largo o corto. Un ejemplo de un algoritmo de clasificación sería si un cliente en un supermercado que compra pan también compraría mantequilla. La clase objetivo sería 'Sí' o 'No'.
Un algoritmo de regresión descubre la relación entre las variables independientes y predice un resultado. La regresión lineal descubre una relación lineal entre la entrada y la salida. Por ejemplo: “A” como entrada y “b” como salida, una función lineal sería b = k * a + c.
¿Qué son los vectores de soporte?
Los vectores de soporte son los puntos de datos que nos ayudan a optimizar el hiperplano. Estos vectores se encuentran más cerca del hiperplano y son los más difíciles de clasificar. La posición del hiperplano de decisión depende de los vectores de soporte. Si se eliminan estos vectores de soporte, también cambiará la posición del hiperplano.
Una máquina de vectores de soporte (SVM) utiliza los puntos de datos de entrada o características llamadas vectores de soporte para maximizar los límites de decisión, es decir, el espacio alrededor del hiperplano. Las entradas y salidas de una SVM son similares a las de la red neuronal. Solo hay una diferencia entre SVM y NN como se indica a continuación.
Entradas: La red SVM puede contener n número de entradas, digamos x1, x2, …….., xI, …., xnorte.
Salidas: La salida objetivo t.
Pesos: Como pesos de redes neuronales w1, en2, ……, ennorteestán asociados con cada entrada cuya combinación lineal predice la salida y.
Diferencia entre SVM y redes neuronales
Los pesos sinápticos en las redes neuronales se eliminan para calcular la salida y de la red, mientras que en SVM los pesos distintos de cero se reducen o eliminan para calcular el límite de decisión óptimo.
Con la eliminación de los pesos, reducirá el conjunto de datos de entrada a algunas características de entrada importantes que ayudarán a decidir el hiperplano separable.
¿Cómo funciona una máquina de vectores de soporte?
Como sabemos, el objetivo de las máquinas de vectores de soporte es maximizar el margen entre los puntos de datos clasificados. Esto traerá resultados más óptimos para clasificar nuevos conjuntos de datos no entrenados. Por lo tanto, se puede lograr al tener un hiperplano en una posición donde el margen es máximo.
Veamos un ejemplo de puntos de datos separados linealmente:
Paso 1: Descubra el hiperplano correcto a partir de diferentes posibilidades: Para decidir el mejor hiperplano, averigüe todos los planos posibles que dividen los datos y, a continuación, seleccione el que mejor clasifique los conjuntos de datos de entrada. En el siguiente gráfico hay tres posibilidades de hiperplano. El hiperplano 3 divide mejor los puntos de datos.

Paso 2: Seleccione un hiperplano que tenga un margen máximo entre los puntos de datos más cercanos: el margen se define como la distancia entre el hiperplano y los puntos de datos más cercanos. Entonces, es óptimo tener un margen máximo. Cuando 2 o más de 2 hiperplanos clasifican los datos por igual, averigüe el margen.

Se elige el hiperplano con el margen máximo. En la siguiente figura, el hiperplano 2.1, 2.2 y 2.3 divide los puntos de datos, pero el hiperplano 2.2 tiene un margen máximo.
Paso 3: Cuando hay valores atípicos: Los valores atípicos son puntos de datos que son diferentes de un conjunto de puntos de datos. En el caso de 2 conjuntos de puntos de datos, puede haber un valor atípico. La SVM ignora tales valores atípicos en los datos y luego encuentra un hiperplano de margen máximo.

Paso 4: En el caso de puntos de datos separados no linealmente, SVM utiliza un truco del kernel. Convertirá un plano separable no linealmente en un panel separable mediante la introducción de una nueva dimensión. Los trucos del núcleo son ecuaciones matemáticas complejas que realizan transformaciones de datos complejas para optimizar el hiperplano.
La siguiente figura muestra puntos de datos separables de forma no lineal que luego se transforman en alta dimensionalidad con el plano z. El hiperplano que divide los dos conjuntos de datos es un círculo.

Cómo optimizar la posición del hiperplano
La posición del hiperplano se optimiza mediante los algoritmos de optimización.
Parámetro SVM: Kernel
La construcción de un hiperplano optimizado en un problema no separable linealmente se realiza mediante Kernels. Los núcleos son funciones matemáticas que convierten el problema complejo utilizando la forma algebraica lineal.
Para un kernel lineal, la ecuación se encuentra como:
F (x) = b + suma (aI* (x, xI))
dónde,
x son los nuevos datos de entrada
xIes el vector de apoyo
b, aIson los coeficientes. Estos coeficientes se estiman durante la fase de aprendizaje del algoritmo.
Para un problema complejo de separación no lineal, el truco del kernel funciona como convertir el problema de separación no lineal en un problema separable. Transforma los datos complejos y descubre la forma de dividir los puntos de datos en salidas.
Las funciones del núcleo son de muchos tipos, como lineal, polinomial, sigmoide, sesgo radial, no lineal y muchas más.
Veamos los usos de algunas de las funciones del kernel anteriores:
Las funciones del núcleo calculan el producto interno de las 2 entradas x, y del espacio.

# 1) Función de sesgo radial: La función de kernel más utilizada, dice que para todos los valores que se encuentran entre x = (-1,1), el valor de la función es 1 en caso contrario 0. Para alguna intersección, digamos xI, el valor de la función Kernel es 1 para | (xI- h), (xI+ h) | para xItomado como centro y 0 en caso contrario.
# 2) Función sigmoidea: Como redes neuronales que usan Sigmoid, la función del kernel para SVM es

# 3) Función de tangente hiperbólica: Como usan las redes neuronales, la función es

# 4) Función del núcleo gaussiano: Los estados de la función del kernel gaussiano


# 5) Función polinomial: k (xI, xj) = ( xI* xj+1 )2
Aplicaciones de SVM
Las aplicaciones de la vida real de SVM incluyen:
# 1) Clasificación de artículos en diferentes categorías: El SVM diferencia entre los textos escritos y los clasifica en diferentes categorías como Entretenimiento, Salud, Artículos de ficción. Se basa en los valores de umbral preestablecidos calculados durante el entrenamiento de la SVM.
Si se cruza el valor de umbral, se coloca en la categoría. Si no se cumple el valor, se definen nuevas categorías para la clasificación.
cómo abrir el archivo json en android
# 2) Reconocimiento del rostro: La imagen dada se clasifica como imagen facial o imagen no facial detectando las características mediante píxeles. La imagen se reconoce como un rostro o no un rostro.
# 3) Información de salud: Las SVM se utilizan para clasificar a los pacientes según sus genes, el reconocimiento de patrones biológicos, etc.
# 4) Detección de homología de proteínas: En las ciencias médicas computacionales, los SVM están capacitados en cómo se modelan las secuencias de proteínas. A continuación, se usa SVM para detectar la homología de proteínas.
Conclusión
En este tutorial de máquinas de vectores de soporte, aprendimos sobre las máquinas de vectores de soporte. Los algoritmos SVM son algoritmos de aprendizaje supervisado que se utilizan para clasificar datos binarios y datos separables linealmente. Clasifica los puntos de datos por un hiperplano con un margen máximo.
Los puntos de datos no lineales también se pueden clasificar mediante máquinas de vectores de soporte que utilizan Kernel Tricks. Hay muchas aplicaciones de SVM en la vida real, una de las aplicaciones más comunes es el reconocimiento facial y el reconocimiento de escritura a mano.
¡¡Feliz lectura!!
=> Visite aquí para ver la serie exclusiva de aprendizaje automático
Lectura recomendada
- Tutorial de aprendizaje automático: introducción al aprendizaje automático y sus aplicaciones
- Una guía completa para la red neuronal artificial en el aprendizaje automático
- Minería de datos Vs Aprendizaje automático Vs Inteligencia artificial Vs Aprendizaje profundo
- Tipos de aprendizaje automático: aprendizaje supervisado frente a aprendizaje no supervisado
- Introducción a los algoritmos genéticos en el aprendizaje automático
- Las 11 herramientas de software de aprendizaje automático más populares en 2021
- Las 13 MEJORES empresas de aprendizaje automático (Lista actualizada en 2021)
- ¿Qué es Java Vector | Tutorial de clase de vector de Java con ejemplos