Máquina de vectores de soporte de dos clases

Crea un modelo de clasificación binaria mediante el algoritmo de máquina de vectores de soporte

Categoría: machine learning/inicializar modelo/clasificación

Nota

Se aplica a: machine learning Studio (clásico)

Este contenido solo pertenece a Studio (clásico). Se han agregado módulos similares de arrastrar y colocar al diseñador de Azure Machine Learning. Obtenga más información en este artículo comparativa de las dos versiones.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo máquina de vectores de soporte de dos clases en Azure machine learning Studio (clásico) para crear un modelo basado en el algoritmo de máquina de vectores de soporte.

Las máquinas de vectores de soporte (SVM) son una clase contrastada de métodos de aprendizaje supervisado. Esta implementación determinada es adecuada para la predicción de dos resultados posibles basados en las variables continuas o de categoría.

Después de definir los parámetros del modelo, entrenar el modelo mediante uno de los módulos de entrenamientoy proporcionando un conjunto de resultados etiquetado que incluya una columna de etiqueta o resultado.

Más información sobre las máquinas de vectores de soporte

Las máquinas de vectores de soporte están entre los primeros algoritmos de aprendizaje automático, y los modelos de SVM se han usado en muchas aplicaciones, desde la recuperación de información a la clasificación de texto e imágenes. Las SVM pueden usarse para tareas de clasificación y regresión.

Este modelo de SVM es un modelo de aprendizaje supervisado que requiere datos etiquetados. En el proceso de entrenamiento, el algoritmo analiza los datos de entrada y reconoce patrones en un espacio de características multidimensionales denominado hiperplano. Todos los ejemplos de entrada se representan como puntos en este espacio y se asignan a categorías de salida, de tal manera que las categorías se dividen de forma tan amplia y clara como sea posible.

Para la predicción, el algoritmo de SVM asigna ejemplos nuevos a una categoría u otra, asignándolos en ese mismo espacio.

Cómo configurar la máquina de vectores de soporte Two-Class

Para este tipo de modelo, se recomienda normalizar el conjunto de datos antes de usarlo para entrenar al clasificador.

  1. Agregue el módulo de máquina de vectores de soporte de dos clases al experimento en Studio (clásico).

  2. Especifique cómo quiere que se entrene el modelo, estableciendo la opción Create trainer mode (Crear modo entrenador).

    • Single Parameter (Parámetro único): Si sabe cómo quiere configurar el modelo, puede proporcionar un conjunto específico de valores como argumentos.

    • Intervalo de parámetros: Si no está seguro de cuáles son los mejores parámetros, puede encontrar los parámetros óptimos especificando varios valores y usando el módulo ajustar los hiperparámetros del modelo para encontrar la configuración óptima. El instructor recorre en iteración varias combinaciones de la configuración y determina la combinación de valores que genera el mejor modelo.

  3. En Número de iteraciones, escriba un número que indique el número de iteraciones usadas al compilar el modelo.

    Este parámetro puede usarse para controlar el equilibrio entre velocidad de entrenamiento y precisión.

  4. En Lambda, escriba un valor que se usará como peso para la regularización L1.

    Este coeficiente de regularización puede usarse para optimizar el modelo. Los valores mayores penalizan modelos más complejos.

  5. Seleccione la opción Normalize features (Normalizar características) si quiere normalizar las características antes del entrenamiento.

    Si aplica la normalización antes del entrenamiento, los puntos de datos se centran según la media y se escalan para que tengan una unidad de desviación estándar.

  6. Seleccione la opción Project to the unit sphere (Proyectar en la esfera de la unidad) para normalizar los coeficientes.

    La proyección de valores en el espacio de la unidad significa que, antes del entrenamiento, los puntos de datos se centran en 0 y se escalan para que tengan una unidad de desviación estándar.

  7. En Random number seed (Inicialización de números aleatorios), escriba un valor entero para usarlo como valor de inicialización si quiere garantizar la reproducibilidad entre ejecuciones. En caso contrario, se usa un valor del reloj del sistema como valor de inicialización, que puede dar lugar a resultados ligeramente diferentes entre ejecuciones.

  8. Seleccione la opción permitir categoría desconocida para crear un grupo de valores desconocidos en los conjuntos de entrenamiento o de validación. En este caso, el modelo puede ser menos preciso para los valores conocidos, pero puede proporcionar mejores predicciones para los valores nuevos (desconocidos).

    Si la desactiva, el modelo podrá aceptar únicamente los valores incluidos en los datos de entrenamiento.

  9. Conecte un conjunto de DataSet con etiqueta y uno de los módulos de entrenamiento:

    Nota

    Si pasa un intervalo de parámetros a entrenar modelo, usará solo el primer valor de la lista de intervalos de parámetros.

    Si pasa un único conjunto de valores de parámetro al módulo ajustar los hiperparámetros del modelo , cuando espera un intervalo de valores para cada parámetro, omite los valores y usa los valores predeterminados para el aprendiz.

    Si selecciona la opción intervalo de parámetros y especifica un valor único para cualquier parámetro, ese valor único que haya especificado se usará en todo el barrido, incluso si otros parámetros cambian en un intervalo de valores.

  10. Ejecute el experimento.

Results

Una vez completado el entrenamiento:

  • Para ver un resumen de los parámetros del modelo, junto con los pesos de las características aprendidos en el entrenamiento, haga clic con el botón derecho en el resultado de los hiperparámetros de entrenar modelo o Tune Modely seleccione visualizar.

  • Para utilizar los modelos entrenados para realizar predicciones, conecte el modelo entrenado al módulo Score Model (Modelo de puntuación).

  • Para realizar la validación cruzada en un conjunto de datos etiquetado, conecte el modelo no entrenado y el conjunto de datos para realizar una validación cruzada del modelo.

Ejemplos

Para obtener ejemplos de cómo se utiliza este algoritmo de aprendizaje, vea la Azure AI Gallery:

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Consejos de uso

Para este tipo de modelo, se recomienda normalizar el conjunto de datos antes de usarlo para entrenar al clasificador.

Aunque las investigaciones recientes han desarrollado algoritmos que tienen una mayor precisión, este algoritmo puede funcionar bien en conjuntos de datos simples cuando el objetivo es la velocidad, en lugar de la precisión. Si no obtiene los resultados deseados usando Modelo de vector de soporte de dos clases, pruebe uno de estos métodos de clasificación:

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Número de iteraciones >=1 Entero 1 Número de iteraciones.
Lambda >=double.Epsilon Float 0,001 Peso por regularización L1. Mediante un valor distinto de cero se evita el sobreajuste del modelo en el conjunto de datos de entrenamiento.
Normalizar características Any Boolean True Si es true, se normalizan las características.
Proyectar a la esfera unitaria Any Boolean False Si es true, se proyectan las características a un círculo unitario.
Valor de inicialización de números aleatorios Any Entero La inicialización para el generador de números aleatorios usado por el modelo. Déjelo en blanco para usar el valor predeterminado.
Permitir niveles de categorías desconocidos Any Boolean True Si es True, crea un nivel adicional para cada columna de categoría. Los niveles del conjunto de datos de prueba que no están disponibles en el conjunto de datos de entrenamiento se asignan a este nivel adicional.

Output

Nombre Tipo Descripción
Modelo no entrenado Tabla de datos Un modelo de clasificación binaria no entrenado.

Vea también

Nomenclatura
Lista de módulos A-Z