Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Machine learning en MATLAB

¿Qué es machine learning?

Machine learning enseña a los ordenadores a hacer lo que los humanos hacen de forma natural: aprender de la experiencia. Los algoritmos de machine learning utilizan métodos computacionales para "aprender" información directamente de los datos sin depender de una ecuación predeterminada como un modelo. Los algoritmos mejoran de forma adaptativa su rendimiento a medida que va aumentando el número de muestras disponibles para el aprendizaje.

Machine learning utiliza dos tipos de técnicas: aprendizaje supervisado (como clasificación y regresión), que entrena un modelo con datos de entrada y salida conocidos para que pueda predecir salidas futuras, y aprendizaje no supervisado (como agrupamiento), que halla patrones ocultos o estructuras intrínsecas en los datos de entrada.

Categorization of machine learning techniques

El objetivo de machine learning supervisado es crear un modelo que haga predicciones basadas en pruebas cuando haya incertidumbre. Un algoritmo de aprendizaje supervisado toma un conjunto conocido de datos de entrada y de respuestas conocidas a los datos (salida) y entrena un modelo para generar predicciones razonables que responden a nuevos datos. El aprendizaje supervisado utiliza técnicas de clasificación y regresión para desarrollar modelos predictivos.

  • Las técnicas de clasificación predicen respuestas categóricas; por ejemplo, si un correo electrónico es genuino o es spam, o si un tumor es canceroso o benigno. Los modelos de clasificación clasifican los datos de entrada en categorías. Las aplicaciones típicas incluyen diagnóstico médico por imágenes, reconocimiento de imágenes y de voz, y calificación crediticia.

  • Las técnicas de regresión predicen respuestas continuas; por ejemplo, cambios en la temperatura o fluctuaciones en la demanda energética. Las aplicaciones típicas incluyen pronósticos de carga eléctrica y negociación algorítmica.

El aprendizaje no supervisado halla patrones ocultos o estructuras intrínsecas en los datos. Se utiliza para hacer inferencias a partir de conjuntos de datos consistentes en datos de entrada sin respuestas etiquetadas. El agrupamiento es la técnica más común de aprendizaje no supervisado. Se utiliza en el análisis exploratorio de datos para hallar patrones ocultos o agrupamientos en los datos. Las aplicaciones para agrupamiento incluyen análisis de secuencias genéticas, estudios de mercado y reconocimiento de objetos.

Seleccionar el algoritmo adecuado

Elegir el algoritmo adecuado puede parecer una tarea abrumadora, ya que existen docenas de algoritmos de machine learning supervisado y no supervisado, y cada uno de ellos necesita un enfoque de aprendizaje diferente. No hay un método mejor que otro ni tampoco uno que sirva para todos los casos. Encontrar el algoritmo adecuado se basa en parte en un proceso de prueba y error: ni siquiera los analistas de datos más experimentados pueden saber si un algoritmo funcionará antes de probarlo. Los modelos muy flexibles tienden a sobreajustar los datos modelando pequeñas variaciones que podrían ser ruido. Los modelos simples son más fáciles de interpretar, pero pueden tener una menor precisión. Por lo tanto, elegir el algoritmo adecuado requiere sacrificar ventajas en favor de otras, incluyendo la velocidad, la precisión y la complejidad del modelo. El proceso de prueba y error es la base de machine learning: si un enfoque o algoritmo no funciona, se prueba otro. MATLAB® proporciona herramientas que ayudan a probar distintos modelos de machine learning y a elegir el mejor.

Examples of machine learning algorithms. Classification algorithms include support vector machines, discriminant analysis, naive Bayes, nearest neighbor, and neural networks. Regression algorithms include linear regression, GLM, SVR, GPR, ensemble methods, decision trees, and neural networks. Clustering algorithms include k-means, k-medoids, fuzzy c-means, hierarchical, Gaussian mixture, hidden Markov model, and neural networks.

Para encontrar apps y funciones de MATLAB que ayuden a resolver tareas de machine learning, consulte la siguiente tabla. Algunas tareas de machine learning se simplifican utilizando apps y otras utilizan funcionalidades de línea de comandos.

TareaApps y funciones de MATLABProductoMás información
Clasificación para predecir respuestas categóricas

Utilice la app Classification Learner para entrenar automáticamente una selección de modelos y elegir el mejor. Puede generar código de MATLAB para trabajar con scripts.

Si desea más opciones, puede utilizar la interfaz de línea de comandos.

Statistics and Machine Learning Toolbox™

Entrenar modelos de clasificación en la app Classification Learner

Funciones de clasificación

Regresión para predecir respuestas continuas

Utilice la app Regression Learner para entrenar automáticamente una selección de modelos y elegir el mejor. Puede generar código de MATLAB para trabajar con scripts y otras opciones de función.

Si desea más opciones, puede utilizar la interfaz de línea de comandos.

Statistics and Machine Learning Toolbox

Entrenar modelos de regresión en la app Regression Learner

Funciones de regresión

AgrupamientoUtilice funciones de análisis de grupos.Statistics and Machine Learning ToolboxAnálisis de clusters y detección de anomalías
Tareas de finanzas computacionales, como calificación crediticiaUtilice herramientas para el modelado del análisis del riesgo crediticio.Financial Toolbox™ y Risk Management Toolbox™Credit Risk (Financial Toolbox)
Deep learning con redes neuronales para clasificación y regresiónUtilice redes y funciones preentrenadas para entrenar redes neuronales convolucionales.Deep Learning Toolbox™Deep learning en MATLAB (Deep Learning Toolbox)
Reconocimiento facial, detección de movimiento y detección de objetosUtilice herramientas de deep learning para el procesamiento de imágenes y la visión artificial.Deep Learning Toolbox y Computer Vision Toolbox™Recognition, Object Detection, and Semantic Segmentation (Computer Vision Toolbox)

El siguiente flujo de trabajo sistemático de machine learning puede ayudarle a enfrentarse a retos relacionados con el proceso de machine learning. Puede completar el flujo de trabajo completo en MATLAB.

Machine learning workflow. Step 1: Access and load the data. Step 2: Preprocess the data. Step 3: Derive features using the preprocessed data. Step 4: Train models using the features derived in step 3. Step 5: Iterate to find the best model. Step 6. Integrate the best-trained model into a production system.

Para integrar el mejor modelo entrenado en un sistema de producción, puede desplegar modelos de machine learning de Statistics and Machine Learning Toolbox utilizando MATLAB Compiler™. Para muchos modelos, puede generar código C para la predicción utilizando MATLAB Coder™.

Entrenar modelos de clasificación en la app Classification Learner

Utilice la app Classification Learner para entrenar modelos para clasificar datos usando machine learning supervisado. Con esta app puede explorar machine learning supervisado interactivamente usando varios clasificadores.

  • Entrene automáticamente una selección de modelos para elegir el mejor. Los tipos de modelo incluyen árboles de decisión, análisis discriminantes, máquinas de vectores de soporte, regresión logística, vecinos más cercanos, Naive Bayes, aproximación de kernel, ensemble y clasificadores de redes neuronales.

  • Explore los datos, especifique esquemas de validación, seleccione funcionalidades y visualice los resultados. De forma predeterminada, la app protege del sobreajuste aplicando validación cruzada. Alternativamente, puede seleccionar la validación por retención. Los resultados de la validación permiten elegir el mejor modelo para los datos. Las gráficas y las medidas de rendimiento reflejan los resultados validados del modelo.

  • Exporte modelos al área de trabajo para hacer predicciones con datos nuevos. La app siempre entrena un modelo con datos completos, además de un modelo con el correspondiente esquema de validación, y el modelo completo es el modelo que se exporta.

  • Genere código de MATLAB desde la app para crear scripts, entrenar con datos nuevos, trabajar con conjuntos de datos grandes o modificar el código para realizar más análisis.

Para obtener más información, consulte Train Classification Models in Classification Learner App.

Classification Learner app

Si desea más opciones, puede utilizar la interfaz de línea de comandos. Consulte Clasificación.

Entrenar modelos de regresión en la app Regression Learner

Utilice la app Regression Learner para entrenar modelos para predecir datos continuos usando machine learning supervisado. Con esta app puede explorar machine learning supervisado interactivamente mediante varios modelos de regresión.

  • Entrene automáticamente una selección de modelos para elegir el mejor. Los tipos de modelos incluyen modelos de regresión lineal, árboles de regresión, modelos de regresión de procesos gaussianos, máquinas de vectores de soporte, modelos de aproximación de kernel, ensembles de árboles de regresión y modelos de regresión de redes neuronales.

  • Explore los datos, seleccione funcionalidades y visualice los resultados. Igual que Classification Learner, Regression Learner aplica la validación cruzada de manera predeterminada. Los resultados y las visualizaciones reflejan el modelo validado. Utilice los resultados para elegir el mejor modelo para los datos.

  • Exporte modelos al área de trabajo para hacer predicciones con datos nuevos. La app siempre entrena un modelo con datos completos, además de un modelo con el correspondiente esquema de validación, y el modelo completo es el modelo que se exporta.

  • Genere código de MATLAB desde la app para crear scripts, entrenar con datos nuevos, trabajar con conjuntos de datos grandes o modificar el código para realizar más análisis.

Para obtener más información, consulte Train Regression Models in Regression Learner App.

Regression Learner app

Si desea más opciones, puede utilizar la interfaz de línea de comandos. Consulte Regresión.

Entrenar redes neuronales para deep learning

Deep Learning Toolbox permite llevar a cabo deep learning con redes neuronales convolucionales para la clasificación, regresión, extracción de características y transferencia del aprendizaje. La toolbox proporciona comandos simples de MATLAB para crear e interconectar las capas de una red neuronal profunda. Los ejemplos y las redes preentrenadas facilitan el uso de MATLAB para deep learning, incluso sin un vasto conocimiento sobre algoritmos avanzados de visión artificial o redes neuronales.

Para obtener más información, consulte Deep learning en MATLAB (Deep Learning Toolbox).

Temas relacionados

Sitios web externos