Cómo elegir el parámetro C para SVM

Tómalo de esta manera. El parámetro C en SVM es el parámetro de penalización del término de error . Puede considerarlo como el grado de clasificación correcta que debe cumplir el algoritmo o el grado de optimización que debe cumplir el SVM.

Para valores mayores de C , no hay forma de que el optimizador SVM pueda clasificar erróneamente ningún punto. Sí, como dijiste, la tolerancia del optimizador SVM es alta para valores más altos de C. ¡Pero para Smaller C , el optimizador SVM tiene al menos cierto grado de libertad para cumplir con el mejor hiperplano!

SVC(C=1.0, kernel='rbf', degree=3, gamma='auto') -> Kernels RBF de baja tolerancia

SVC(C=1000.0,kernel='linear',degree=3,gamma='auto') -> Kernels lineales de alta tolerancia

Imagen: Slideshare.com

Consulte: http://scikit-learn.org/stable/m…

Antes de decidir cómo elegir el parámetro, es mejor aprender primero cómo afecta el parámetro al SVM. La C puede usarse para alterar la “sensibilidad” del algoritmo. Comenzaría con un valor predeterminado de 1 y, según los resultados del conjunto de validación cruzada, cámbielo en consecuencia. Entonces, ¿qué tan sensible desea que sea su algoritmo de aprendizaje?

Valores atípicos

¿Existen valores atípicos en el conjunto de entrenamiento que podrían causar resultados inexactos si el algoritmo es demasiado sensible a los datos? Si es así, tener una C más baja sería mejor para que el algoritmo pueda generalizarse.

Aquí hay una diapositiva del curso de Aprendizaje de Maching de Andrew Ng en Coursera que muestra bien este concepto.

Comience con un buen valor predeterminado como 1 y realice una búsqueda de parámetros utilizando validación cruzada sobre el conjunto de datos de entrenamiento para obtener el mejor valor para sus datos.

More Interesting

¿Cuáles son los buenos libros para el aprendizaje automático?

Suponga que la máquina es multinúcleo, el tiempo de ejecución de un programa en una máquina que ejecuta solo ese proceso es igual al tiempo de ejecución en una máquina en la que hay otros procesos ejecutados junto con él, ¿no es así?

¿Qué tan poderoso es la PNL?

RNN para modelado de idiomas en Tensorflow. ¿Cómo puedo rellenar las secuencias si mi entrada está constituida por la incorporación de palabras?

¿Cuáles son los mejores clasificadores de código abierto para detectar spam, basura y blasfemias en el contenido generado por el usuario, como los tweets?

¿Qué son las redes neuronales, redes neuronales artificiales y redes neuronales convolucionales? ¿Cómo son diferentes el uno del otro?

¿Cómo podemos hacer una buena predicción usando el aprendizaje profundo MXNet R?

¿Qué prueba estadística usar para cuantificar la similitud entre dos distribuciones cuando no son normales?

¿Qué preguntas se pueden hacer en una entrevista sobre el proyecto de Análisis de sentimientos de Twitter?

Procesamiento del lenguaje natural: ¿Hay alguna manera de medir la "informatividad" de una oración en un documento?

¿Cómo puedo medir la precisión de un sistema de recomendación?

¿En qué casos debo usar TensorFlow, PyTorch y Caffe2?

¿Cómo se usa la pérdida de peso para la regularización en las redes neuronales?

¿Cuál es una buena referencia para aprender cómo implementar y usar la búsqueda de línea para la optimización?

¿Sigue siendo útil saber HTML hoy?