Explica en detalle el ALGORITMO de SVM (Support Vector Machine) en el ambito de Machine Learning.
视频信息
答案文本
视频字幕
Support Vector Machine o SVM es uno de los algoritmos más importantes en machine learning. Su objetivo principal es encontrar el hiperplano óptimo que mejor separa los datos de diferentes clases. En este ejemplo bidimensional, vemos puntos rojos y azules que representan dos clases distintas. SVM busca la línea que los separa maximizando la distancia o margen entre las clases.
Los vectores de soporte son fundamentales en SVM. Son los puntos de datos que se encuentran exactamente en los límites del margen, es decir, los más cercanos al hiperplano de separación. Estos puntos, marcados con círculos amarillos, son los únicos que realmente importan para determinar la posición del hiperplano óptimo. El algoritmo maximiza la distancia entre estos vectores de soporte de clases opuestas.
Muchos problemas del mundo real no son linealmente separables en su espacio original. Aquí vemos un ejemplo donde los puntos rojos están en el centro y los azules en el exterior, formando un patrón circular. SVM resuelve esto usando el kernel trick, que mapea implícitamente los datos a un espacio de mayor dimensión donde se vuelven linealmente separables. Los kernels más comunes son el RBF o Gaussiano, que permite crear fronteras de decisión no lineales como esta circunferencia.
En datos reales, a menudo encontramos ruido y outliers que hacen imposible una separación perfecta. SVM maneja esto con el concepto de margen suave, que permite algunos errores de clasificación. El parámetro C controla este balance: un C pequeño permite más errores pero un margen más amplio, mientras que un C grande penaliza fuertemente los errores. Las variables de holgura xi miden qué tan lejos están los puntos mal clasificados del margen correcto.
SVM tiene numerosas aplicaciones en el mundo real: clasificación de texto y detección de spam, reconocimiento de imágenes, bioinformática, análisis financiero y detección de anomalías. Sus principales ventajas incluyen efectividad en espacios de alta dimensión, eficiencia de memoria, versatilidad con diferentes kernels y buen rendimiento incluso con pocos datos de entrenamiento. Para hacer predicciones, simplemente evaluamos la función de decisión que determina de qué lado del hiperplano cae un nuevo punto.