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.
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.
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.
Tarea | Apps y funciones de MATLAB | Producto | Má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 |
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 | |
Agrupamiento | Utilice funciones de análisis de grupos. | Statistics and Machine Learning Toolbox | Análisis de clusters y detección de anomalías |
Tareas de finanzas computacionales, como calificación crediticia | Utilice 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ón | Utilice 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 objetos | Utilice 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.
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.
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.
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
- Train Regression Models in Regression Learner App
- Train Classification Models in Classification Learner App
- Análisis de clusters y detección de anomalías
- Credit Risk (Financial Toolbox)
- Recognition, Object Detection, and Semantic Segmentation (Computer Vision Toolbox)
- Deep learning en MATLAB (Deep Learning Toolbox)