¿Cómo puedo interpretar las predicciones en un modelo de aprendizaje automático de salud (bosque aleatorio) para infarto agudo de miocardio?

Esta es una pregunta interesante y compleja.

Tan pronto como comience a usar algoritmos más “complicados” como el bosque aleatorio, perderá la capacidad de comprender directamente lo que está sucediendo. No puede simplemente mirar los parámetros como con una regresión lineal para averiguar qué variable influye en las predicciones positiva o negativamente.

Si es un bosque aleatorio pequeño (~ 10 árboles), puede obtener una idea al observar las divisiones en los diferentes árboles y tener una idea de cómo se comporta la variable dependiente en función de la entrada. Pero esto rara vez es muy útil y no tiene sentido para los bosques más grandes.

Para tener una idea de cómo se comporta un modelo globalmente, puede ver cuántas veces se elige una variable particular para una división en cualquiera de los árboles para determinar si contiene mucha información sobre el objetivo. Un método para calcular esto está presente en la mayoría de las implementaciones principales de bosque aleatorio. Sin embargo, tenga en cuenta que las variables con alta cardinalidad tenderán a elegirse con más frecuencia, lo que provocará un sesgo.

Finalmente, hay algunos algoritmos, como LIME, que pueden brindarle una mejor interpretación (y funciona en teoría para cualquier tipo de modelo, también en imágenes y texto). Funciona mirando cada predicción y generando perturbaciones alrededor del vector de entrada (lo que lleva a 5000 vectores para una predicción, por defecto en la implementación de Python). Luego se ajusta un modelo lineal en esta matriz y sus predicciones, y puede observar esos parámetros para comprender por qué el modelo genera esta predicción en particular. Como puede imaginar, es bastante costoso computacionalmente, y tampoco es una solución perfecta, pero esta es probablemente la más profunda que puede obtener para comprender su modelo.

Recomiendo crear un prototipo de su problema con un árbol simple bastante simple antes de ir a escala completa y aumentar la complejidad a expensas de la capacidad de interpretación, como su caso. Esta es una buena práctica por varias razones, incluyendo;

  • Facilidad de acceso al árbol ajustado para comprender las reglas de división: esto es importante para dar un contexto general sobre cómo finalmente se decidió la salida. ¡Con un simple árbol de decisión único, cualquier audiencia tendría una mejor oportunidad de entender el proceso de decisión, que es un factor muy importante para obtener la aceptación!
  • ¡Seguiría el procedimiento experimental correcto que proporciona múltiples beneficios!

Por supuesto, el prototipo podría cambiar la precisión por la simplicidad, pero recuerde que este paso cumple una función importante de interpretación y comunicación del funcionamiento y la producción antes de ampliar el problema.

He descubierto que esto es muy útil … suponiendo que haya seguido los niveles de desarrollo hasta llegar a donde se encuentra ahora, es solo cuestión de repetir sus pasos iniciales para decodificar este monstruo, configurar una demostración para comunicar qué RF está haciendo – camino simple!

Estoy seguro de que su audiencia prefiere comprender el proceso de toma de decisiones para la confianza, comprender los diagnósticos de rendimiento y lo que implican en lo que respecta a la producción.

¡Espero que esto ayude!

More Interesting

Podría ser el primer experto en aprendizaje automático en una empresa como consultor o a tiempo completo. En cualquier caso, ¿cuál debería ser mi tasa?

¿Qué deparará el futuro para los desarrolladores en la era del aprendizaje profundo y la IA? ¿Cuáles serán las tendencias y cómo sobrevivirán los desarrolladores?

¿Qué es la optimización submodular?

¿Cuál es la diferencia entre la clasificación de vectores de soporte y la regresión? ¿Un regresor de vectores de soporte se comporta como una red neuronal por casualidad?

¿Cuáles son los conjuntos de datos de visión por computadora más populares en este momento?

¿Cómo se usa Machine Learning en las diferentes etapas de los sitios web de comercio electrónico (compras en línea)?

¿Por qué utilizamos núcleos en algunos modelos de aprendizaje automático?

¿Cuál es la mejor manera de normalizar los datos implícitos para un sistema de recomendación de música mediante el filtrado colaborativo?

¿Qué es una capa de disminución de resolución en la red neuronal convolucional (CNN)?

¿Cuál es la intuición detrás de la propagación hacia atrás?

¿Qué debo hacer para un bot de chat con aprendizaje automático?

¿Cuáles son los beneficios del filtrado colaborativo?

¿Qué es la minimización alterna en la optimización convexa?

¿Puedo terminar en trabajos de aprendizaje automático si tengo una maestría en neurociencia?

¿Puedo usar el aprendizaje por refuerzo para ayudar a las personas a elegir la ruta más barata cuando viajan en avión?