Hola estoy realizando SVM clasificación utilizando SMO, en el que el kernel es RBF, ahora quiero seleccionar c y sigma valores, mediante la búsqueda de la red y la validación cruzada, Soy nuevo al núcleo funciones, por favor ayuda, en el proceso paso a pasoseleccione C y el valor gamma
Respuesta
- Elige algunos valores para C y sigma que creas que son interesantes. Por ejemplo, C = {1, 10, 100, 1000} y sigma = {.01, .1, 1} (estoy inventando esto).
- Divida el conjunto de entrenamiento en k (por ejemplo, 10) piezas, preferiblemente en una forma stratified.
- Pasa el cursor sobre todos los pares de valores C y sigma.
- Loop over k partes de su conjunto de entrenamiento. Mantenga abierta la parte k. Entrene un clasificador en todas las otras partes combinadas, luego pruebe en la parte extendida.
- Mantenga un registro de algunos puntajes (precisión, F1, o lo que sea que desee optimizar).
- Devuelve el par de valores con mejor rendimiento para C, sigma por los puntajes que acabas de calcular.
Lea una guía práctica para apoyar Vector Classication por Chih-Wei Hsu, Chih-Chung Chang y Chih-Jen. Abordan este problema exacto y explican los métodos para realizar una búsqueda en cuadrícula para la selección de parámetros. http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf
sólo voy a añadir un poco de explicación a larsmans' answer.
El parámetro C es un parámetro de regularización/holgura. Sus valores más pequeños obligan a que los pesos sean pequeños. Cuanto más grande se vuelve, el rango permitido de pesos se hace más amplio. Como resultado, los valores mayores de C aumentan la penalización por errores de clasificación y, por lo tanto, reducen la tasa de error de clasificación en los datos de entrenamiento (lo que puede conducir a un ajuste excesivo). Su tiempo de entrenamiento y la cantidad de vectores de soporte aumentarán a medida que aumente el valor de C.
También puede que le resulte útil leer Extending SVM to a Soft Margin Classifier por K. K. Barbilla.
También puede utilizar la selección Uniforme Diseño modelo que reduce el número de tuplas que hay que comprobar. El documento que explica que es "La selección del modelo para las máquinas de vectores de soporte a través del diseño uniforme" por Chien-Ming Huang Algunos implementación en Python son existe en ssvm 0.2
- 1. xmlstarlet seleccione el valor de
- 2. NSColor, 10.6 y Gamma 2,2
- 3. Variables aleatorias distribuidas por Gamma en C++
- 4. Como grupo y seleccione el valor más bajo en SQL
- 5. Seleccione el valor más frecuente con LINQ
- 6. Seleccione el valor máximo de cada grupo
- 7. jQuery seleccione clase con valor
- 8. Control TreeView en C#, seleccione() y enfoque
- 9. función gamma incompleta en python?
- 10. jQuery: seleccione la casilla de verificación basado en el nombre y el valor
- 11. PHP seleccione el mayor valor 'id' de la tabla MySQL
- 12. IQueryable C# Seleccione
- 13. seleccione <select> elemento con valor
- 14. Seleccione un valor aleatorio de una matriz
- 15. Seleccione un valor escalar de una tabla
- 16. Seleccione el segundo valor más alto por clave foránea distinta
- 17. Seleccione el segundo valor más mínimo en Oracle
- 18. si existe, seleccione Insertar y luego seleccione ELSE
- 19. Web SQL SELECCIONE el valor de retorno de la transacción
- 20. seleccione el cambio, obtienen los datos de valor de atributo
- 21. XPath: seleccione la etiqueta con el valor vacío
- 22. jQuery obtener seleccione el valor de la opción de vacío
- 23. Seleccione el primer hermano
- 24. Python equivalente a C# .Seleccione?
- 25. C# RichTextBox Seleccione especificada texto
- 26. Seleccione el valor de la columna si no es nulo else use otro valor de columna
- 27. Seleccione una columna ficticia con un valor ficticio en SQL?
- 28. UIDatePicker seleccione Mes y año
- 29. Seleccione el texto enfocado
- 30. C# Linq Seleccione el problema en Method Chain
Para aclarar: "Instruye al clasificador en cada una de las otras partes" en general significa entrenarlo en las otras partes combinadas, no cada una individualmente. – Dougal
@Dougal: sí, eso es lo que quise decir. Gracias. –
Creo que vale la pena señalar que a lo que se refiere (dividirse en k partes, etc.) se lo denomina validación cruzada, específicamente validación cruzada de 10 veces. El OP puede no saber eso, a veces la parte más difícil de tratar de encontrar más información es saber qué palabras clave buscar. – karenu