Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Flujo de trabajo y algoritmos de aprendizaje supervisados

¿Qué es el Aprendizaje Supervisado?

El objetivo del aprendizaje automático supervisado es construir un modelo que haga predicciones basadas en evidencia en presencia de incertidumbre. A medida que los algoritmos adaptativos identifican patrones en los datos, un ordenador "aprende" de las observaciones. Cuando se expone a más observaciones, el equipo mejora su rendimiento predictivo.

Específicamente, un algoritmo de aprendizaje supervisado toma un conjunto conocido de datos de entrada y respuestas conocidas a los datos (salida) y un modelo para generar predicciones razonables para la respuesta a nuevos datos.Trenes

Por ejemplo, supongamos que desea predecir si alguien tendrá un ataque al corazón dentro de un año. Tiene un conjunto de datos sobre pacientes anteriores, incluyendo edad, peso, altura, presión arterial, etc. Usted sabe si los pacientes anteriores tuvieron ataques cardíacos dentro de un año de sus mediciones. Por lo tanto, el problema es combinar todos los datos existentes en un modelo que pueda predecir si una nueva persona tendrá un ataque al corazón dentro de un año.

Puede pensar en todo el conjunto de datos de entrada como una matriz heterogénea. Las filas de la matriz se denominan , , o , y cada una contiene un conjunto de medidas para un sujeto (pacientes en el ejemplo).ObservacionesEjemplosInstancias Las columnas de la matriz se denominan , , o , y cada una de ellas son variables que representan una medida tomada en cada tema (edad, peso, altura, etc. en el ejemplo).PredictoresAtributosFunciones Puede pensar en los datos de respuesta como un vector de columna donde cada fila contiene la salida de la observación correspondiente en los datos de entrada (si el paciente tuvo un ataque cardíaco). A o a un modelo de aprendizaje supervisado, elija un algoritmo adecuado y, a continuación, pase los datos de entrada y respuesta a él.AjusteTren

El aprendizaje supervisado se divide en dos grandes categorías: clasificación y regresión.

  • En , el objetivo es asignar una clase (o ) de un conjunto finito de clases a una observación.ClasificaciónEtiqueta Es decir, las respuestas son variables categóricas. Las aplicaciones incluyen filtros de spam, sistemas de recomendación de publicidad y reconocimiento de imágenes y voz. Predecir si un paciente tendrá un ataque al corazón dentro de un año es un problema de clasificación, y las clases posibles son y .truefalse Los algoritmos de clasificación suelen aplicarse a los valores de respuesta nominal. Sin embargo, algunos algoritmos pueden acomodar clases ordinales (consulte ).fitcecoc

  • En , el objetivo es predecir una medición continua para una observación.Regresión Es decir, las variables de respuestas son números reales. Las aplicaciones incluyen la previsión de los precios de las existencias, el consumo de energía o la incidencia de enfermedades.

las funcionalidades de aprendizaje supervisado comprenden un marco de objetos forrado por secuencias.Statistics and Machine Learning Toolbox™ Puede entrenar de forma eficaz una variedad de algoritmos, combinar modelos en un conjunto, evaluar el rendimiento de los modelos, validar y predecir respuestas para nuevos datos.

Pasos en el Aprendizaje Supervisado

Aunque hay muchos algoritmos para el aprendizaje supervisado, la mayoría utiliza el mismo flujo de trabajo básico para obtener un modelo de predictor.Statistics and Machine Learning Toolbox (La instrucción detallada sobre los pasos para el aprendizaje del conjunto está en .)Framework for Ensemble Learning Los pasos para el aprendizaje supervisado son:

Preparar datos

Todos los métodos de aprendizaje supervisados comienzan con una matriz de datos de entrada, que normalmente se llama aquí.X Cada fila de representa una observación.X Cada columna de representa una variable o predictor.X Representar las entradas que faltan con valores en . Los algoritmos de aprendizaje supervisado pueden controlar los valores, ya sea ignorándolos o ignorando cualquier fila con un valor.NaNXStatistics and Machine Learning ToolboxNaNNaN

Puede utilizar varios tipos de datos para datos de respuesta.Y Cada elemento de representa la respuesta a la fila correspondiente de .YX Las observaciones con datos que faltan se omiten.Y

  • Para la regresión, debe ser un vector numérico con el mismo número de elementos que el número de filas de .YX

  • Para la clasificación, puede ser cualquiera de estos tipos de datos.Y Esta tabla también contiene el método de incluir entradas que faltan.

    Tipo de datosEntrada perdida
    Vector numéricoNaN
    Vector categórico<undefined>
    Matriz de caracteresFila de espacios
    Matriz de cadenasO<missing>""
    Matriz de celdas de vectores de caracteres''
    Vector lógico(No se puede representar)

Elija un algoritmo

Hay compensaciones entre varias características de algoritmos, tales como:

  • Velocidad de entrenamiento

  • Uso de memoria

  • Precisión predictiva de los nuevos datos

  • Transparencia o interpretabilidad, lo que significa la facilidad con la que puedes entender las razones por las que un algoritmo hace sus predicciones

Los detalles de los algoritmos aparecen en .Características de los algoritmos de clasificación Más detalles sobre los algoritmos de conjunto está en .Choose an Applicable Ensemble Aggregation Method

Ajustar un modelo

La función de ajuste que utilice dependerá del algoritmo que elija.

AlgoritmoFunción de ajuste
Arboles de clasificaciónfitctree
Los árboles de regresiónfitrtree
Análisis discriminatorio (clasificación)fitcdiscr
-Vecinos más cercanos (clasificación)kfitcknn
Bayes ingenuos (clasificación)fitcnb
Máquinas vectoriales de soporte (SVM) para la clasificaciónfitcsvm
SVM para la regresiónfitrsvm
Modelos multiclase para SVM u otros clasificadoresfitcecoc
Conjuntos de Clasificaciónfitcensemble
Ensambles de regresiónfitrensemble
Clasificación o conjuntos de árboles de regresión (por ejemplo, bosques aleatorios) en paralelo[1]TreeBagger

Para obtener una comparación de estos algoritmos, consulte .Características de los algoritmos de clasificación

Elija un método de validación

Los tres métodos principales para examinar la precisión del modelo ajustado resultante son:

Examine el ajuste y la actualización hasta que estésatisfecho

Después de validar el modelo, es posible que desee cambiarlo para una mayor precisión, una mejor velocidad o para usar menos memoria.

Cuando esté satisfecho con un modelo de algunos tipos, puede recortarlo utilizando la función adecuada (compactcompact para árboles de clasificación, compact para árboles de regresión, compact para el análisis discriminante, compact para los ingenuos Bayes, compact para SVM, compact para modelos ECOC, compact para conjuntos de clasificación, y compact para conjuntos de regresión). elimina los datos de entrenamiento y otras propiedades no necesarias para la predicción, por ejemplo, la poda de información para los árboles de decisión, del modelo para reducir el consumo de memoria.compact Dado que los modelos de clasificación NN requieren todos los datos de entrenamiento para predecir etiquetas, no puede reducir el tamaño de un modelo.kClassificationKNN

Usar modelo ajustado para predicciones

Para predecir la clasificación o la respuesta de regresión para la mayoría de los modelos ajustados, utilice el método:predict

Ypredicted = predict(obj,Xnew)
  • es el modelo ajustado o el modelo compacto ajustado.obj

  • son los nuevos datos de entrada.Xnew

  • es la respuesta pronosticada, ya sea clasificación o regresión.Ypredicted

Características de los algoritmos de clasificación

Esta tabla muestra las características típicas de los diversos algoritmos de aprendizaje supervisado. Las características en cualquier caso particular pueden variar de las características enumeradas. Utilice la tabla como guía para su elección inicial de algoritmos. Decida la compensación que desea en velocidad, uso de memoria, flexibilidad e interpretabilidad.

Sugerencia

Pruebe primero un árbol de decisión o un discriminador, ya que estos clasificadores son rápidos y fáciles de interpretar. Si los modelos no son lo suficientemente precisos para predecir la respuesta, pruebe con otros clasificadores con mayor flexibilidad.

Para controlar la flexibilidad, consulte los detalles de cada tipo de clasificador. Para evitar el sobreajuste, busque un modelo de menor flexibilidad que proporcione suficiente precisión.

ClasificadorSoporte multiclaseSoporte de Predictor EscategórSoporte de Predictor EscategórVelocidad de predicciónUso de memoriaInterpretabilidad
Los árboles de decisiónfitctreerápidoPequeñoFácil
Clasificación de análisis discriminatoriofitcdiscrAnálisis discriminatorioNorápidoPequeño para lineal, grande para cuadráticoFácil
Máquinas vectoriales de soporte para la clasificación binariafitcsvmSvmNo. Combine varios clasificadores SVM binarios mediante .
fitcecoc
Medio para lineal. Lento para los demás.
Medio para lineal. Todos los demás: medio para multiclase, grande para binario.
Fácil para SVM lineal. Difícil para todos los demás tipos de kernel.
Naive Bayes ClassificationfitcnbBayes ingenuosMedio para distribuciones sencillas. Lento para distribuciones de kernel o datos de alta dimensión
Pequeño para distribuciones simples. Medio para distribuciones de kernel o datos de alta dimensión
Fácil
Clasificación con los vecinos más cercanosfitcknnVecino más cercanoLento para cúbico. Medio para otros.
MedioDuro
— yConjuntosfitcensemblefitrensembleRápido a medio dependiendo de la elección del algoritmoDe bajo a alto dependiendo de la elección del algoritmo.Duro

Los resultados de esta tabla se basan en un análisis de muchos conjuntos de datos. Los conjuntos de datos del estudio tienen hasta 7000 observaciones, 80 predictores y 50 clases. Esta lista define los términos de la tabla.

Velocidad:

  • Rápido — 0,01 segundos

  • Medio — 1 segundo

  • Lento — 100 segundos

Memoria

  • Pequeño — 1 MB

  • Medio — 4MB

  • Grande — 100MB

Nota

La tabla proporciona una guía general. Sus resultados dependen de sus datos y de la velocidad de su máquina.

Soporte de Predictor Escategór

En esta tabla se describe la compatibilidad de tipo de datos de los predictores para cada clasificador.

ClasificadorTodos los predictores numéricosTodos los predictores categóricosAlgunos categóricos, algunos numéricos
Los árboles de decisión
Análisis discriminatorioNoNo
Svm
Bayes ingenuos
Vecino más cercanoDistancia euclidiana solamenteDistancia hamming solamenteNo
ConjuntosSí, excepto conjuntos subespaciales de clasificadores de análisis discriminantesSí, excepto conjuntos subespaciales

Referencias

[1] Breiman, L. Random Forests. Machine Learning 45, 2001, pp. 5–32.