Las máquinas de vectores soporte (Supported Vector Machine, SVMs) son una familia de algoritmos utilizados tanto en clasificación, como en regresión como en aprendizaje no supervisado que tratan de liniealizar un problema a través del aumento, potencialmente hasta dimensión infinita, de los datos a entrenar. Esto se realiza mediante el famoso kernel trick (truco del núcleo) que establece una métrica de similaridad entre puntos del dataset en ese espacio potencialmente infinito-dimensional. Las SVMs utilizan todas estas ideas para delimitar qué puntos del conjunto de entrenamiento delimitan las zonas de clasificación, aplicando, además, un margen para evitar el sobreentrenamiento.