Modelos de aprendizaje automático o de Machine Learning

Inteligencia Artificial en Salud

Modelos de Machine Learning o aprendizaje automático

A lo largo de mi formación y en la experiencia adquirida durante los últimos años,  he querido hacer una recopilación de un conjunto «básico» de Modelos de aprendizaje automático o de Machine Learning dentro de una gran cantidad de ellos.

Estos  modelos y técnicas de análisis, han servido para en capacitar a mis estudiantes,  principalmente a los de la Universidad de Barcelona, en mi condición de profesor visitante.

Por ello,  con éste artículo quiero ayudar a responder  la pregunta:  ¿ Qué es un modelo de aprendizaje automático o de Machine Learning ?

A lo largo de este documento, podrán acceder a diferentes modelos en donde pretendo explicar, con ejemplos, estos conceptos.   Adjunto no solamente los modelos, sino además los accesos a los modelos interactivos. ( en la mayoría de los casos ).  La finalidad es que el lector pueda ver el funcionamiento de los mismos en un ambiente «en línea», interactuando con sus propios datos.

Habría que comenzar diciendo, que un modelo de Machine Learning o aprendizaje automático es una expresión de un algoritmo que analiza enormes cantidades de datos, para encontrar patrones y posteriormente hacer predicciones y prospecciones.

Impulsados ​​por datos, los modelos de aprendizaje automático (ML) son los motores matemáticos de la inteligencia artificial.

Las redes neuronales, cada vez más populares (CNN y RNN)

Por ejemplo, un modelo de Machine Learning para la visión por computadora,  podría identificar automóviles y peatones en un video en tiempo real, o bien una neumonía en una Radiografía de Tórax o en una tomografía. Un modelo  para el procesamiento del lenguaje natural,  podría traducir palabras y oraciones.

En realidad un  modelo de aprendizaje automático,  es una representación matemática de los objetos y sus relaciones entre sí. Los objetos pueden ser cualquier cosa, desde un «me gusta» en una publicación de redes sociales,  hasta moléculas en un experimento de laboratorio.

Un modelo de Machine Learning para cada propósito

Sin restricciones sobre los objetos,  que pueden convertirse en funciones en un modelo de ML, no hay límite para los usos de la IA. Las combinaciones son infinitas, pero  cómo podemos aplicar  los  modelos de aprendizaje automático o de Machine Learning. ?

Los científicos de datos,  hemos  creado familias completas de modelos de aprendizaje automático para diferentes usos, y hay más en proceso de creación.  A modo esquemático presento a continuación la clasificación primaria de los algoritmos mas tradicionales que los divide en supervisados y no supervisados, dentro de una familia que he querido denominar » Aprendizaje Automático Clasico».

Aprendizaje automático clásico

Algoritmos básicos de aprendizaje automático

Esta es una taxonomía de varias fuentes que he consolidado y mejorado con el propósito de adoptarla  en mis lecciones y en mi actividad profesional. Esta taxonomía  coincide en términos generales con las otras clasificaciones existentes,  pero que en mi caso calvez que busqué darle un enfoque más académico.

Por ejemplo, los modelos lineales usan álgebra,  para predecir relaciones entre variables en proyecciones financieras.  Los modelos gráficos expresan con diagramas una probabilidad, y tratan de explicar cómo  un consumidor elegirá comprar un producto. Tomando prestada la metáfora de las ramas, algunos modelos de ML,  toman la forma de árboles, para clasificar decisiones y les llamamos arboles decisorios .  Cuando esos mismos árboles decisorios  se agrupan en varios cientos  de «arboles» les llamamos algoritmo del bosque aleatorio. (Random Forest)

Un modelo de aprendizaje automático para todos, el «Machine Learning Moderno» 

Cuando hablamos de los nuevos modelos de Machine Learning ,  vamos a incluir nuevos paradigmas que hemos dado por llamar el «Aprendizaje Automático Moderno»  compuesto por los métodos de ensamble (muchos algoritmos actuando e forma conjunta ) , el aprendizaje por refuerzo ( los que aprenden por el entorno y no por los datos)  y las redes Neuronales.  Para mas detalle puede ver mi post conceptual sobre éste tema en el siguiente enlace

Recientemente,  las redes neuronales han evolucionado a lo que se conoce como el Deep learning o aprendizaje profundo,  el cual es un nivel más avanzado del perceptrón multicapa,  que originalmente dio origen a las redes neuronales.

 

Deep Learning

 

El aprendizaje profundo (deep Learning) ,  tomó su nombre de la estructura de los  modelos de aprendizaje automático.

Apilan capa tras capa de características y sus relaciones, formándose  al estilo de un sistema multicapas,

Gracias a su asombrosa precisión en la búsqueda de patrones, dos tipos de modelos de aprendizaje profundo, empiezan a utilizarse cada día mas.

Dentro del mundo de la visión por computador,  se utilizan las redes neuronales convolucionales ( CNN ), las que actúan como los ojos en los vehículos autónomos y pueden ayudar a detectar enfermedades, en proyectos de imágenes médicas.

Por su parte están las redes neuronales recurrentes y las transformadoras ( RNN ), diseñadas para construir el lenguaje hablado y escrito, y que vemos incluídas en los motores de «Alexa» de Amazon, el Asistente de Google y el Siri de Apple, entre otros.   Y la arquitectura de transformadores ha causado un gran revuelo en los últimos años debido a su gran aplicabilidad en diversos campos el modelo más conocido en esta familia de algoritmos es el conocido como chat GPT aunque en realidad en la actualidad ya existen cientos de modelos que utilizan la misma arquitectura para propósitos de generación de contenido a toda esta rama si le conoce como inteligencia artificial generativa  ó AIG

Diagrama que muestra cómo ve una red neuronal profunda.
Las redes neuronales de aprendizaje profundo obtuvieron su nombre de su estructura de varias capas.

Elija un modelo previamente entrenado

En el aprendizaje automático, los modelos se entrenan previamente, con el propósito de que identifiquen y aprendan de esos los patrones que vienen intrínsecos en los conjuntos de datos . Los conjuntos de  datos se subdividen a su vez en  datos de entrenamiento,  y datos de evaluación (que son similares a los datos de su caso de uso).   Las relaciones entre los datos, denominadas ponderaciones y sesgos, se optimizan a traves de cada algoritmo y un conjunto de iteraciones que sufren a lo largo de su proceso de aprendizaje.

Se necesita un enorme conjunto de datos, experiencia en estos campos,  y  capacidad informática para entrenar un modelo. Las grandes empresas compran modelos pre-entrenados,  y así ahorran  tiempo y dinero.

Modelos de Machine Learning

Con ayuda de otros profesores, de materiales escritos como de cursos en línea, y de mi propia experiencia profesional,  presento  a continuación algunos modelos que han servido para las actividades de formación de los estudiantes,  que he tenido a cargo  en los cursos de Big-Data e inteligencia artificial, en los últimos años y que han ayudado a entender mejor los modelos de aprendizaje automático o de Machine Learning.

Veamos algunos ejemplos:

1.) Modelo para la selección de drogas  antihipertensivas

Este modelo se basa en datos reales anonimizados de pacientes del sistema Physionet de la base de datos MIMIC-IV, los cuales fueron adaptados y filtrados para obtener un total de 1000 casos con características clínicas y sociodemográficas compatibles con los objetivos del proyecto.

El objetivo de este modelo es asistir a los médicos en la selección del mejor medicamento para el tratamiento de la hipertensión arterial en pacientes individuales. La hipertensión arterial es una condición crónica que requiere un manejo cuidadoso y personalizado. El proyecto consta de dos modelos: el primero ayuda a los médicos a seleccionar el mejor medicamento entre 5 familias de medicamentos, eligiendo la opción óptima según las características sociodemográficas, clínicas y de laboratorio del paciente. El segundo modelo utiliza datos de pacientes que han seguido el mismo tratamiento para determinar si han logrado una reducción efectiva en las cifras de hipertensión, convirtiéndose así en un modelo predictivo del éxito del tratamiento.

Para estos dos modelos se emplean tres algoritmos: Random Forest, XGBoost y LightGBM.

Primer Algoritmo – Random Forest

Este modelo utiliza un algoritmo de Random Forest, que es un conjunto de árboles de decisión. Su funcionamiento se basa en la construcción de múltiples árboles de decisión durante el entrenamiento y la salida del modo de las clases (clasificación) o la predicción media (regresión) de los árboles individuales.

Características clave:

  • Ensemble Learning: Combina múltiples árboles de decisión para mejorar el rendimiento del modelo.
  • Robustez: Reduce el riesgo de sobreajuste al promediar múltiples árboles.
  • Importancia de características: Proporciona información sobre la importancia de las diferentes características en la predicción.

Segundo Algoritmo – XGBoost

Este modelo emplea el algoritmo XGBoost, que significa Extreme Gradient Boosting. XGBoost es una implementación eficiente y escalable del marco de boosting de gradiente.

Características principales:

  • Boosting de Gradiente: Construye secuencialmente árboles para corregir los errores cometidos por los árboles anteriores.
  • Eficiencia: Optimizado para la velocidad y el rendimiento, adecuado para grandes conjuntos de datos.
  • Regularización: Incluye regularización L1 y L2 para prevenir el sobreajuste.

Tercer Algoritmo – LightGBM

Este modelo utiliza el algoritmo LightGBM, que es un conjunto de árboles de decisión optimizado para la velocidad y la eficiencia de memoria. La fórmula para la entropía es:

H(X)=−∑p(xi)log⁡p(xi)H(X) = -\sum p(x_i) \log p(x_i)

donde H(X)H(X) es la entropía y p(xi)p(x_i) es la probabilidad de ocurrencia del evento xix_i.

Características clave:

  • Velocidad y eficiencia: Velocidad de entrenamiento más rápida y menor uso de memoria en comparación con otros algoritmos.
  • Precisión: Mantiene una alta precisión, especialmente en grandes conjuntos de datos.
  • Manejo de grandes conjuntos de datos: Maneja de manera eficiente conjuntos de datos grandes con muchas características.

Tabla Comparativa de Modelos

Modelo Algoritmo Características Clave Ventajas Desventajas
Random Forest Conjunto de árboles de decisión Combina múltiples árboles de decisión, reduce sobreajuste, proporciona información sobre la importancia de características Robustez, maneja valores faltantes, reduce sobreajuste Velocidad de predicción más lenta, requiere más recursos computacionales
XGBoost Boosting de Gradiente Construcción secuencial de árboles, optimizado para la velocidad, incluye regularización Alta eficiencia, buena precisión, maneja datos dispersos Ajuste de parámetros complejo, puede sobreajustarse si no se regulariza
LightGBM Boosting de Gradiente Optimizado para la velocidad, bajo uso de memoria, maneja grandes conjuntos de datos Entrenamiento muy rápido, eficiente con grandes datos, alta precisión Puede sobreajustarse si no se regulariza, modelo complejo

Selección de Medicamentos

Los modelos seleccionan el medicamento óptimo para un paciente en función de sus características, que se dividen en:

  • Variables clínicas:
    • HT_value (Valor de presión arterial)
    • Heart_Rate (Frecuencia cardíaca)
    • Colesterol (Colesterol)
    • HDL (Colesterol HDL)
    • Glucosa (Glucosa)
    • Creatinina (Creatinina)
    • IMC (Índice de masa corporal)
  • Variables sociodemográficas:
    • age (Edad)
    • sex_h (Sexo masculino)
    • sex_f (Sexo femenino)
  • Medicamentos: Se incluyen diferentes clases de medicamentos antihipertensivos como ARA, ECA, BETA, Diuréticos y Antagonistas del calcio.

Los modelos se entrenan utilizando estos datos para predecir el mejor medicamento para un paciente determinado. La evaluación del modelo se realiza utilizando la matriz de confusión y el informe de clasificación.

  • Matriz de Confusión: Muestra verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos, proporcionando una vista completa de los errores de clasificación.
  • Informe de Clasificación: Proporciona métricas como precisión, recall y puntuación F1, que ayudan a comprender la efectividad del modelo.

Ventajas del Uso del Índice de Entropía

  • Cálculo más rápido: La fórmula simplificada del índice de entropía permite un cálculo más rápido y eficiente en comparación con el índice Gini.
  • Pureza de nodos: Favorece la selección de atributos que maximizan la pureza de los nodos, mejorando la precisión del modelo en cada división del árbol.
  • Robustez y generalización: Ayuda a reducir el sobreajuste y mejora la capacidad del modelo para generalizar a nuevos datos.
  • Interpretabilidad: La interpretación del índice de entropía es sencilla y fácil de entender, lo que facilita la comprensión del modelo por parte de los médicos.

 

Acceso al modelo en línea:

Nota:

Tómese en cuenta que éstos modelos,  son de corte académico y que se exponen con un fin puramente descriptivo. Dispongo de otros modelos relacionados  con este  ejemplo en particular, en los que empleo otros algoritmos mas complejos, y en los que se busca darle a la solución un enfoque  mas «completo y profesional» para otro tipo de organizaciones.  Me refiero a empresas de desarrollo de software o del sector salud propiamente.

El esquema comercial incluye un conjunto de  componentes tales como aprendizaje recurrente, modelos prescriptivos, dashboards, y otros .  Estos algoritmos buscan que el modelo de datos,  continúe aprendiendo de manera continua, logrando  aumentar su precisión progresivamente.

Este tipo de soluciones se puede implementar en un esquema de Software a service «SaaS», o sea  como un servicio que es: consumible a demanda, etc.  Si tiene interés en este tipo de soluciones par su Organización escríbame a la siguiente dirección:  


2.) Modelo de predicción para la fase de inconsciencia de pacientes con EPILEPSIA

Este es un modelo de pequeña escala,  que fue realizado en acompañamiento al trabajo de tesis de la doctora Susana Lara Meyer, en el año 2021.

El modelo pretende que,  con 46 variables,  las cuales se recolectaron de 189 pacientes,  se logre predecir,  el tiempo de inconsciencia que un paciente tendría luego de sufrir un ictus epiléptico.  ( es lo que en aprendizaje automático,  se conoce como capacidad de generalización del algoritmo).

Hemos utilizado las herramientas de Big Data, para hacer también una descripción estadística de los datos. De esta forma,   conocerlos  mejor y de alguna forma conocer el grado de importancia que tiene cada una de las variables, con respecto a las otras,  así como las asociaciones eventuales,  que existen entre las mismas.

Se aplicó un modelo de Machine learning, conocido como el Bosque aleatorio (Random Forest) , el cual es un algoritmo supervisado de clasificación de la categoría de métodos de ensamble ,  y que con una precisión aceptable,  a pesar del número tan pequeño de casos, nos permite conocer de manera predictiva el tiempo de inconsciencia posterior a un ictus para nuevos pacientes.

Aprendizaje no supervisado en epilepsia

También aplicamos,  para este conjunto de datos, un  modelo no supervisados de clusterizacion (  K-means )  el cual nos permitió clasificar la totalidad de los pacientes en cuatro grandes grupos, los cuales no siguen ninguna clasificación cultural tradicional, cómo por ejemplo:   no están divididos por sexo, ni por edad, ni por severidad del ictus, ni ninguna otra variable en particular, los métodos de agrupamiento  emplean todas las variables de manera simultánea para hacer esta clasificación.  Esta multidimensionalidad de características es la que está detrás de esta agrupación que nos parece un tanto «caótica»,  pero que sin duda es la que explica la conformación de los grupos.

Los modelos que presento a continuación,  fueron desarrollados utilizando la herramienta Júpiter notebook la cual viene incluida dentro de la suite de datos,  conocida como Anaconda. Si está interesado en aprender,  cómo instalar esta herramienta por favor siga el siguiente enlace

El modelo predictivo a su vez, fué desarrollado utilizando la herramienta flask ,  la cual permite de manera interactiva utilizar el algoritmo «on line» .

Acceso a la notebook

Acceso al modelo predictivo "on line"

4.) Modelo para la predicción de estancia hospitalaria 

(Tiempo esperado en días)

Este es un modelo ficticio,  creado a partir de un conjunto de datos existente, y que fue debidamente  tratado con técnicas de anonimización.

Este modelo, lo utilizamos como herramienta de capacitación para los estudiantes de grado y postgrado en la Universidad de Barcelona.  Incluso en una ocasión ha servido de TFM  (trabajo final de un estudiante del Máster en Ingeniería Biomédica, lo que favoreció  su evaluación y mejora.)

La idea con este modelo de Machine Learning   es adquirir destrezas inicialmente en el manejo de sistemas de conjuntos de datos similar al usado en Hospitales como el CMBD . El CMBD es el Conjunto Mínimo Básico de Datos y está formado por las variables obtenidas durante la atención hospitalaria (Ingreso, cirugía mayor ambulatoria, urgencias, etc.).

A este conjunto de datos,  se le aplicaron un conjunto de  herramientas  para la analítica avanzada de datos, la cual suministra Python dentro de sus librerías Pandas, Mathlibpro, numpy, seaborn, entre otras.

Analisis descriptivo del conjunto de datos

Un ejemplo de dichos análisis lo constituyen entre muchas otras las siguientes gráficas y tablas:

Predicción de estancia hospitalaria. Distribución por sexos y edades de acuerdo a la estancia en días. Herramienta Pyplot

 

 

 

Para el modelo de predicción, hemos utilizado dos algoritmos diferentes:  a.) bosque aleatorio (Random Forest Regressor) y el  b.) XGBoost .  Ambos algoritmos son modelos ensamblados,  utilizados como algoritmos para tareas de clasificación supervisada.   El objetivo de obtener dicha predicción,  es la de apoyar al sistema sanitario con un indicador de estancia estimada,  que permita programar un  conjunto de servicios paralelos ligados a la estancia como tal, pero además contar con un indicador fiable,  que le permita a «la lista de espera»,  conocer con buena  precisión las fechas estimadas de egreso de los pacientes.

La precisión para los modelos de aprendizaje automático o Machine Learning cuando se trabaja con funciones regresoras se evalúa  gracias a las métricas:  R2 y RMSE. ( R al cuadrado y el error cuadrático medio)

Resultados del modelo:

A continuación se muestra una gráfica en donde luego de obtener un muestreo aleatorio de los casos reales, predecimos un conjunto paralelo  de datos obtenidos a través de machine learning lo que nos sirve de comparación visual entre los valores reales y los predichos.

 

Estimación de la estancia hospitalaria . Valores reales y predichos para un conjunto de 100 datos de prueba. Barcelona 2022. Algoritmo XGBoost Regressor

 

Estimación de la estancia hospitalaria . Valores reales y predichos para un conjunto de 100 datos de prueba. Barcelona 2022. Random Forest Regressor

Los modelos que presento a continuación,  fueron desarrollados utilizando la herramienta Júpiter notebook. Esta herramienta  viene incluida dentro de la suite de datos conocida como Anaconda. Si está interesado en aprender,  cómo instalar esta herramienta por favor siga el siguiente enlace

Si desea tener acceso al modelo predictivo «en línea» , el cual  fue desarrollado utilizando la herramienta flask ,  por favor envíeme un mensaje  y me pondré en contacto con usted para darle acceso .

 

La presente página sobre modelos de aprendizaje automático o de Machine Learning,  fué escrita por el Dr. Juan Ignacio Barrios, quien es médico y cirujano especialista en informática médica con un máster en Business Intelligence y consultoría tecnológica por la Universidad Rey Juan Carlos de Madrid.  También es Máster en Inteligencia Artificial por la Universidad de Alcalá de Henares, España.  Ha cursado estudios en Big Data y Ciencia de datos en la Universidad Oberta de Catalunya 

El Dr. Barrios aplica modelos de aprendizaje automático o Machine Learning junto con técnicas de Big Data e inteligencia artificial en su trabajo diario como consultor, y en sus lecciones a nivel internacional y como profesor visitante de la cátedra de informática médica de la Universidad de Barcelona en el Programa de grado y posgrado en Ingeniería Biomédica . Adicionalmente el Dr. Barrios es miembro de la facultad de Ginecología y Obstetricia de la Universidad de Rochester New York.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HTML Snippets Powered By : XYZScripts.com