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:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Two-Class Support Vector Machine en 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, entrena el modelo mediante uno de los módulos de entrenamiento y proporciona un conjunto de datos etiquetado que incluye una etiqueta o una columna de resultados.

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.

Configuración de una máquina Two-Class vectores de soporte técnico

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

  1. Agregue el módulo Two-Class Support Vector Machine (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 los mejores parámetros, puede encontrar los parámetros óptimos especificando varios valores y usando el módulo Optimizar 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 para valores desconocidos en los conjuntos de entrenamiento o validación. En este caso, el modelo podría ser menos preciso para los valores conocidos, pero puede proporcionar mejores predicciones para los nuevos valores (desconocidos).

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

  9. Conectar un conjunto de datos etiquetado y uno de los módulos de entrenamiento:

    Nota:

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

    Si pasa un único conjunto de valores de parámetro al módulo Optimizar 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 escribe un valor único para cualquier parámetro, ese valor único especificado se usará a lo largo del 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 características aprendidos en el entrenamiento, haga clic con el botón derecho en la salida de Entrenar modelo o Optimizar hiperparámetros del modelo y 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 sin entrenar y el conjunto de datos a Validar modelo de forma cruzada.

Ejemplos

Para obtener ejemplos de cómo se usa este algoritmo de aprendizaje, consulte el 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.

Consulte también

Clasificación
Lista de módulos A-Z