¿Puedo conseguir un error de entrenamiento cero en una SVM?
Sí, pero sólo si los datos son separables. La separabilidad de un conjunto de datos puede depender de la función del núcleo que se utilice (por ejemplo, si se utiliza el producto punto, entonces "separable" = "linealmente separable"), pero algunos conjuntos de datos no son separables bajo ninguna función del núcleo, por ejemplo, el siguiente conjunto de datos en $\mathbb{R}^2$ :
ejemplos_positivos = [(0,0), (1,1), (2,2)]
ejemplos_negativos = [(0,0), (2,1), (3,2)] # (0,0) está en ambas categorías
¿Qué hacemos si no es separable?
La SVM de "margen duro" busca separar perfectamente los datos con un (hiper)plano (posiblemente en algún espacio loco implicado por la función del núcleo) y luego maximizar el margen (el espacio a cada lado de ese plano). La maximización del margen controla el error de generalización.
Una SVM de "margen suave" intenta hacer lo mismo, pero permite una pequeña cantidad de clasificación errónea. El equilibrio entre la minimización de la clasificación errónea y la maximización del margen se controla mediante un hiperparámetro llamado $C$ . El parámetro que mencionas ( $\nu$ ) es una reparametrización de $C$ que es más fácil de escoger e interpretar que $C$ es.
Bien, entonces, ¿qué es la interpretación de $\nu$ ?
Cita de este post de StackOverflow sobre SVM de margen duro vs margen blando (que te recomiendo que leas):
El parámetro nu es un límite superior de la fracción de errores de margen y un límite inferior de la fracción de vectores de soporte en relación con el número total de ejemplos de entrenamiento. Por ejemplo, si se fija en 0,05, se garantiza que como máximo el 5% de los ejemplos de entrenamiento están mal clasificados (aunque a costa de un pequeño margen) y que al menos el 5% de los ejemplos de entrenamiento son vectores de soporte.
¿Por qué diablos quiero permitir errores?
Usted dice "Es más importante para mí asegurarme de no etiquetar algo como una anomalía que pasar por alto una anomalía real". Eso parece un gran argumento, pero estamos hablando de formación error no generalización error aquí. Ajustar los datos de entrenamiento de forma absolutamente perfecta es una receta para catástrofe sobreajuste. (Además, como nota al margen, parece que podría querer optimizar la precisión en lugar de la exactitud, o al menos ponderar los falsos positivos como errores peores que los falsos negativos).
Siempre que ajustamos modelos complejos a los datos, es importante que entendamos el equilibrio entre la complejidad del modelo y el error de generalización. Los modelos sencillos generalizan bien a partir de muy pocos datos, pero pueden pasar por alto las complejidades reales de los datos. Los modelos complejos pueden ajustarse a las complejidades de los datos, pero también se ajustan al ruido de los datos (lo que les hace generalizar mal). Todos los modelos de aprendizaje automático intentan incorporar algún tipo de "regularización" que penaliza alguna medida de la complejidad del modelo (que puede compensarse con la precisión, y cuyo parámetro suele elegirse mediante validación cruzada).