Tipos de aprendizaje automático y sus algoritmos

Tipos de aprendizaje automático y sus algoritmos

Aprendizaje Automático «Machine Learning», es una disciplina de la Inteligencia Artificial basada en la idea de que los sistemas pueden aprender de datos, identificar patrones y tomar decisiones con una mínima intervención humana, es decir, sistemas que aprenden automáticamente. Aprender en este contexto quiere decir identificar patrones complejos en millones de datos. La máquina que realmente aprende es un algoritmo que revisa los datos y es capaz de predecir comportamientos futuros. Automáticamente, quiere decir, que estos sistemas se mejoran de forma autónoma con el tiempo, sin la intervención humana.

Dependiendo del problema a resolver, el aprendizaje automático se clasifica en 5 grandes categorías a saber:

  1. Aprendizaje Supervisado
  2. Aprendizaje No Supervisado
  3. Aprendizaje Reforzado
  4. Aprendizaje Profundo
  5. Aprendizaje Conjunto

1- Aprendizaje Supervisado

Consiste en una etiqueta (variable objetivo o de salida) que se debe predecir a partir de un conjunto dado de predictores (variables independientes). Usando este conjunto de variables, generamos una función que mapea las entradas a las salidas deseadas. El proceso de entrenamiento continúa hasta que el modelo alcanza el nivel deseado de precisión en los datos de entrenamiento. Los algoritmos más utilizados en esta categoría son:

  • Regresión: Lineal, Polinomial, Ridge-Lasso
  • Clasificación: Árboles de Decisión, Máquinas de Soporte Vectorial (SVM), Regresión Logística, Naïve Bayes y k vecinos más cercanos (KNN) .

2- Aprendizaje No Supervisado

En esta categoría, no se tiene etiqueta, objetivo o variable de resultado para predecir o estimar. Se utiliza para agrupar la población en diferentes grupos o categorías. Los algoritmos más utilizados en esta categoría son:

  • Agrupamiento: K-Means, Agglomerative, DBSCAN, Mean Shift, Fuzzy C-Means.
  • Reglas de asociación: Apriori, FP Growth, Eclat.
  • Reducción de la dimensionalidad: LDA, SVD, LSA, PCA, t-SNE

3- Aprendizaje Reforzado

En este tipo de aprendizaje, el algoritmo está capacitado para tomar decisiones específicas. Funciona de esta manera: el algoritmo está expuesto a un entorno en el que se entrena continuamente utilizando el método de prueba y error. Este algoritmo aprende de la experiencia pasada y trata de capturar el mejor conocimiento posible para tomar decisiones precisas. Ejemplo de aprendizaje por refuerzo: Proceso de decisión de Markov. Los algoritmos más utilizados en esta categoría son:

  • Q-Learning: Aprendizaje por refuerzo
  • DQN: Deep Q-Learning
  • Genetic Algorithm: Algoritmo genético
  • A3C: Actor Crítico
  • SARSA: State–Action–Reward–State–Action -> Estado – Acción – Recompensa – Estado – Acción

4- Aprendizaje Profundo

Es un conjunto de algoritmos de aprendizaje automático que intenta modelar abstracciones de alto nivel en datos usando arquitecturas compuestas de transformaciones no lineales múltiples. Es una técnica que enseña a los ordenadores a hacer lo que resulta natural para las personas: aprender mediante ejemplos. Los usos de estos algoritmos se pueden dividir en cuatro grupos: procesado de texto, reconocimiento de imágenes, reconocimiento de objetos y reconocimiento de voz. Estos algoritmos son de gran importancia en el diseño del software en coches autónomos, detección de caras en las fotos de Facebook, o en el nuevo algoritmo de traducción de Google. Los algoritmos más utilizados en esta categoría son:

  • Convolutional Neural Networks (CNN – Redes Neuronales Convolucionales): DCNN
  • Recurrent Neural Networks (RNN – Redes Neuronales Recurrentes): LSM, LSTM, GRU
  • Generative Adversarial Networks (GAN – Redes Generativas Antagónicas)
  • Autoencoders: seq2seq

5- Aprendizaje Conjunto

Los métodos conjuntos son algoritmos de aprendizaje que construyen un conjunto de clasificadores y luego clasifican los nuevos puntos de datos tomando un voto ponderado de sus predicciones. El método original del conjunto es el promedio bayesiano, pero los algoritmos más recientes incluyen la corrección de errores en la codificación de salida. Los algoritmos más utilizados en esta categoría son:

  • Bagging: Bootstrap Aggregation -> Random Forest
  • Boosting: AdaBoost, CatBoost, XGBoost, LightGBM.
  • Stacking

En publicaciones posteriores se revisará cada uno de estos algoritmos en detalle a través de ejemplos desarrollados en lenguajes como R o Python.

Autor. Fredy Yarney Romero Moreno

Referencias:

  1. Essentials of Machine Learning Algorithms (with Python and R Codes).
  2. A Tour of The Top 10 Algorithms for Machine Learning Newbies.
  3. Q-learning: Aprendizaje automático por refuerzo.
  4. Ensemble Learning to Improve Machine Learning Results

Leave a Reply