Título: Utilitario para la evaluación de sistemas para el diagnóstico

Anuncio
Título: EvalSisMed: Evaluador de SBC para el Diagnóstico Médico. Su aplicación en la enseñanza.
Software registrado por CENDA # 06939-6939
Autores:
Lic. Yailé Caballero Mota
Lic. Leticia Arco García
Msc. Yanet Rodríguez Sarabia
Ponente: Lic. Yailé Caballero Mota
Institución: Facultad de Informática.
Universidad de Camagüey
País: Cuba
E-mail: [email protected]
Evento: VII Congreso Internacional de Informática en la Educación INFOREDU2002
Tema: La Inteligencia artificial aplicada a la Enseñanza.
Resumen
La evaluación de un sistema pretende estimar el grado o la medida en que el sistema responde
correctamente de acuerdo a lo esperado. Esta etapa del desarrollo de un software no por ser la
última carece de importancia, y es más imprescindible aún en sistemas que hacen diagnósticos en el
campo de la medicina. Varios autores han propuesto métricas y medidas con el objetivo de evaluar
tales sistemas. Además existen funcionales de calidad y de error que cuantifican la calidad de las
respuestas que se obtienen. Este trabajo automatiza la etapa de evaluación de sistemas para el
diagnóstico médico siguiendo las ideas anteriormente expuestas y sirve de apoyo a la docencia en la
asignatura de Inteligencia Artificial en el tema de Evaluación de los Sistemas Basados en el
Conocimiento.
Introducción
La evaluación es el proceso que muestra en qué medida el comportamiento del sistema es correcto,
respecto a lo esperado de las especificaciones hechas en el mismo. Este proceso se debe llevar a
cabo continuamente durante el diseño y desarrollo de un sistema basado en conocimiento (SBC), y
la
naturaleza del mismo cambiará con el desarrollo de un SBC. Se distinguen cuatro fases
generales: la verificación, la validación, laboratorio de evaluación y campo de evaluación. Las dos
primeras pretenden encontrar un óptimo en la ejecución del sistema mientras que las dos últimas se
dirigen a valorar la calidad del sistema.
Evaluación de sistemas para el diagnóstico médico
El desarrollo de cualquier sistema debe incluir su evaluación; pero en particular si se trata de
sistemas basados en el conocimiento médico autores como Daalen, Brender y Martín-Baranera
reconocen que esta etapa es imprescindible. En tal sentido se proponen algunas métricas y medidas,
y además existen funcionales de calidad y error que cuantifican la calidad de las respuestas que se
obtienen.
Este trabajo trata la problemática de los sistemas para el diagnóstico médico, tanto para aquellos
que se traducen en una clasificación simple, es decir, un objeto o caso puede ser clasificado a lo
sumo en una de las clases y por tanto las clases no se solapan, como para los de multiclasificación,
o sea, un objeto o caso puede ser clasificado en varias clases. El diagnóstico es la tarea de
identificar las causas del mal funcionamiento de algún dispositivo y se puede formular como “dado un
conjunto de síntomas y la descripción de un dispositivo, encontrar una explicación a esos síntomas”,
siendo
similar a un problema de clasificación cuando existe un reducido número de posibles
explicaciones.
Existen diferentes enfoques para resolver problemas de diagnóstico, en los cuales se usan distintos
tipos de conocimiento y mecanismos de inferencia. Ejemplos de estos enfoques son las Redes
Neuronales Artificiales, los sistemas basados en reglas, los sistemas basados en casos, técnicas
estadísticas como el Análisis Discriminante, etc. Muchas veces una forma de evaluar una aplicación
que usa un determinado enfoque es aplicando al mismo problema un enfoque validado con
anterioridad y comparar los resultados que se obtienen.
Métricas y medidas para problemas de clasificación simple
Brender propone varias métricas y otras medidas que expresan diferentes aspectos de calidad del
conocimiento médico, valoradas estas como alternativas de las métricas tradicionales, que se aplican
de forma general para problemas de clasificación en más de dos clases. Los valores que se obtienen
oscilan entre 0 y 1, y la cercanía al valor 1 significa mejores resultados. Por ejemplo son descritas las
medidas siguientes cuyas expresiones aparecen en [BRE94]:

Comportamiento total.

Comportamiento condicionado a la clase (valores esperados e inferidos).

Comportamiento total de Kappa.

Comportamiento de Kappa condicionado a la clase (valores inferidos).
Otras medidas son las medidas para tablas binarias. Estas medidas sólo se le pueden aplicar a
aquellos problemas que tengan dos clases, de ahí el nombre de tala binaria. El evaluador incluye las
medidas siguientes: 1) Russel y Rao, 2) Parejas Simples, 3) Dice, Czekanowski y Sorenson, 4) Sokal
y Sneath 1, 5) Rogers y Tanimoto, 6) Sokal y Sneath 2, 7) Kulezynski y 8) Sokal y Sneath 3.
Funcionales de calidad y error para problemas de clasificación simple
Shulcloper y otros autores en [RUI95] proponen funcionales que miden la calidad de una solución a
partir de las respuestas que se obtienen ante varios objetos. Los funcionales pueden ser de calidad
o de error.
En los primeros se busca maximizar el resultado, obtener valores próximos a 1, dado que la calidad
es directamente proporcional a los aciertos, independientemente de cómo se comporten los errores y
abstenciones.
Un ejemplo de este tipo lo constituye el

Funcional de Calidad.
Para los llamados funcionales de error es deseable minimizar la función, obtener valores cercanos a
0. En este caso se pretende medir la calidad en términos de sus errores. A continuación se
presentan dos variantes:

Funcional de Error.

Funcional de Error más específico.
Esta segunda variante es muy útil en el campo de la medicina porque es muy usual encontrar que
para un especialista tenga mayor importancia el error de clasificar un paciente como sano dado que
realmente esté enfermo que la acción contraria, es decir, que se asuma que es enfermo dado que
está sano.
Funcionales para problemas de multiclasificación
Shulcloper y otros autores proponen funcionales que miden la calidad de una solución a partir de las
respuestas que se obtienen ante varios objetos. Los funcionales pueden ser de calidad o de error. En
este caso hay que tener en cuenta que se trata de problemas de Multiclasificación.
En los primeros se busca maximizar el resultado, obtener valores próximos a 1, dado que la calidad
es directamente proporcional a los aciertos, independientemente de cómo se comporten los errores y
abstenciones. La aplicación para Multiclasificación incluye el desarrollo de dos funcionales de este
tipo:

Funcional de Calidad.

Funcional de Calidad Pesado.
En este funcional se tiene en cuenta el peso que tiene cada tipo de respuesta en la calidad de la
solución. Es necesario que el usuario a través del evaluador introduzca algunos datos de interés
para el desarrollo del funcional. Debe seleccionar aquella clase que considere más importante (CE).
Para los llamados funcionales de error es deseable minimizar la función, obtener valores cercanos a
0. En este caso se pretende medir la calidad en términos de sus errores. Contamos con dos de este
tipo:

Funcional de Error (Shulcloper).
Este funcional permite diferenciar el error de clasificar en una clase cualquiera. El especialista
selecciona una clase llamada Clase Especial (CE). Es lógico que un experto en diagnosticar esta
enfermedad no considere de la misma forma el error de decir que un paciente pertenece a la CE si
realmente pertenece a cualquiera de las otras; que decir que el paciente tiene alguna manifestación
de la enfermedad si está sano. Para esto es necesario conocer para cada clase del problema el peso
que se le da a cada tipo de error(I, II, III), que significa dar la clase de más, de menos o abstenerse.
La captación de estos datos adicionales la permite el utilitario a través de tablas.

Funcional de Error Pesado.
En este funcional se tiene en cuenta el peso que tienen los errores y las abstenciones en la
respuesta. El usuario debe seleccionar aquella clase que para él resulte especial(CE). Los costos
deben ser dados por el usuario mediante una ventana de captación de datos para este funcional que
brinda el evaluador. Interesan aquellas respuestas incorrectas totalmente y con características
relacionadas con los errores y abstenciones de la clase especial (CE).
Cada una de estas respuestas es tratada de forma independiente según señale el usuario mediante
los pesos que da a cada error.
Distancia Euclideana para problemas de multiclasificación
Estimar la distancia entre las soluciones es factible porque ambas soluciones: la obtenida por la red y
la esperada, se pueden considerar como dos puntos en un espacio n-dimensional, siendo n la
cantidad de valores posibles para el rasgo que estamos analizando. Así con la Distancia Euclideana
podemos formarnos un criterio general sobre las soluciones dadas por la red neuronal, comparando
con el criterio de los expertos.
EvalSisMed para la evaluación de sistemas de diagnóstico médico
El Evaluador de SBC para el Diagnóstico Médico es un programa desarrollado a partir de la versión
5.0 de Borland Delphi. Se ejecuta sobre los sistemas operativos Microsoft Windows 95, Windows 98,
Windows 2000 o Windows NT. El fichero ejecutable “Evaluador.exe” es de 674 Kbytes
aproximadamente, si se quiere contar con la ayuda del sistema son necesarios dos ficheros
adicionales: HELPEVALUADOR.HLP y HelpEvaluador.cnt, estos ficheros adicionales de 53 Kbytes
aproximadamente. El Evaluador de SBC para el Diagnóstico Médico trabaja con ficheros con
extensión .esd que constituyen la tabla de entrada de los datos para la aplicación de Clasificación
Simple, aunque esta tabla puede igualmente crearse, en caso que no exista. Los ficheros .esd se
construyen con una opción del sistema.
El evaluador permite el trabajo tanto para Sistemas de Clasificación Simple como Sistemas de
Multiclasificación.
En la figura 1de los anexos se muestra la ventana principal del sistema que permite seleccionar el
tipo de sistema médico, es decir, si es de Clasificación Simple o de Multiclasificación.
EvalSisMed tiene una ayuda que se muestra en la figura 2 de los anexos, esta facilita a los usuarios
el trabajo con el evaluador y constituye una vía de aprendizaje para los estudiantes que cursan la
asignatura de Inteligencia Artificial en el tema de evaluación de los Sistemas Basados en el
Conocimiento.
EvalSisMed es un Software registrado por CENDA # 06939-6939.
Ejemplos de aplicación de EvalSisMed
El sistema para el pronóstico de malformaciones cardiovasculares en recién nacidos (PRONO)
permite hacer un pronóstico de la presencia de cardiopatías en el recién nacido a partir de
características de ambos progenitores, quedando definidas dos clases: la clase “sanos” y la clase
“malformados”. Para hacer este diagnóstico se utilizó una Red Neuronal Artificial y se evaluaron los
resultados obtenidos aplicando las métricas y los funcionales anteriormente expuestos. Además se
compararon estos resultados con los obtenidos con el empleo de una técnica alternativa (Análisis
Discriminante).
EvalSisMed también se ha utilizado para ayudar a la evaluación de otros sistemas basados en el
conocimiento médico para el pronóstico de Neumonía y Leptospirosis, así como para evaluar el
sistema que pronostica las Disartrias desarrollados estos en la Universidad Central de las Villas.
Empleo de EvalSisMed como apoyo a la docencia
En la Universidad de Camagüey se estudia la carrera de Informática en la Facultad del mismo
nombre. Esta es una carrera que está naciendo en nuestra provincia por lo que los esfuerzos que se
hagan en cuanto a su preparación resultan pocos. En el plan de estudio de la misma están
asignaturas relacionadas con la Inteligencia Artificial, las cuales se impartirán en el cuarto y quinto
año de la carrera. Uno de los temas importantes de la Inteligencia Artificial es los Sistemas Basados
en el Conocimiento, y dentro de estos su evaluación.
El software EvalSisMed está previsto que se use como apoyo a los laboratorios correspondientes a
esta temática. El contenido de la evaluación de sistemas resulta tedioso y en ocasiones, difícil de
comprender la importancia y aplicatividad del mismo. Con la experiencia de EvalSisMed en los
laboratorios se podrá mejorar la calidad del aprendizaje de los estudiantes, así como su motivación
en esta área.
Los estudiantes tendrán la oportunidad de evaluar los sistemas basados en el conocimiento que se
desarrollen incluso en su propia Universidad. Además, la amplia ayuda que brinda EvalSisMed hará
posible el entendimiento del tema de una forma amena y dinámica.
La ayuda brinda importantes aspectos para el conocimiento de la evaluación de los Sistemas
Basados en el Conocimiento tales como: qué es la evaluación, su importancia y descripción de las
formas de clasificación que existen. Se hace además una explicación detallada acerca de todas las
medidas y distintos tipos de funcionales de calidad y de error que se usaron, así como de la
Distancia Euclideana.
Conclusiones
Como se ha visto es de vital importancia realizar la evaluación de los sistemas basados en el
conocimiento para diagnóstico médico. La complejidad de esta etapa de evaluación por la que debe
pasar todo sistema basado en el conocimiento se tornaría mucho más larga y tediosa si todos los
cálculos que se requieren quedaran en manos del hombre, a lo cual podemos sumar las
posibilidades de cometer errores. Es por ello que el evaluador que se obtiene como resultado de este
trabajo reviste de gran importancia para los desarrolladores de sistemas de este tipo. Esto se pudo
comprobar en la evaluación de las aplicaciones anteriormente expuestas de Sistemas Basados en el
Conocimiento para Diagnóstico Médico.
Otro aspecto importante a destacar es que este sistema se puede acoplar a cualquier SBC para el
diagnóstico médico, brindando al médico, en este caso, usuario experto, mayor seguridad a la hora
de decidirse por la adquisición del SBC en cuestión.
No se puede dejar de mencionar el apoyo a la docencia que trae consigo EvalSisMed, brindando a
los estudiantes importantes conocimientos acerca de la evaluación de los SBC. A su vez permite la
motivación y acelera el aprendizaje para aquellos que cursen Inteligencia Artificial.
Bibliografía
[BRE94] Brender, J. et al. Measuring quality of medical knowledge. In Proceeding of the Twelfth
International Congress of the European
Federation for Medical Informatics,
pp.69-74, may 22-
26,1994.
[DAA92] Daalen,C. Evaluating medical knowledge based systems. In proceeding of the 14th Annual
International Conference of the IEEE Engineering in Medicine and Biology Society,
Oct.29- Nov.1, 1992.
pp. 808-809,
[GAR97] Garcia, M. y Bello R. El empleo del razonamiento basado en casos en el desarrollo de
Sistemas basados en el conocimiento para el diagnóstico. Trabajo de Tesis en opción al grado
científico de Doctor en Ciencias Técnicas., UCLV, 1997.
[HER98] Hernández D. , Rodríguez, Y. y García, M. Sistema Experto para el dianóstico de
Pnuemonía en niños. Trabajo de Diploma, UCLV, 1998.
[KOT89a] Koton, P. Evaluating case-based problem solving. In Proceedings of a Workshop on Casebased reasoning. Morgan Kaufmann, 1989.
[KOT89b] Koton, P. Applications and validation: case-based reasoning in the real world. In
Proceedings of a Workshop on Case-based reasoning. Morgan Kaufmann, 1989.
[MAR94] Martin-Baranera, Ma et al. Validating medical expert systems with no gold standard:
distance
measures
and
Kappa
coefficients.
In
Proceeding
of
the
Twelfth International Congress of the European Federation for Medical Informatics, pp. 64-68, may
22-26,1994.
[NEG98] Negrín C. , Rodríguez, Y. y García, M. Sistema Experto para el diagnóstico presuntivo de
Cardiopatía Izquémica. Trabajo de Diploma, UCLV, 1998.
[ROD96] Rodríguez, Y. y García, M. Sistema Basado en Casos para el diagnóstico de
malformaciones cardiovasculares en recién nacidos. Trabajo de Diploma, UCLV, 1996.
[RUI95]
Ruiz J. Introducción al Reconocimiento de Patrones. Edit. México, 1995.
[SOÑ98] Soñora, E. , Rodríguez, Y. y García, M. Sistema Experto para el pronóstico de
Leptospirosis. Trabajo de Diploma, UCLV, 1998.
Anexos
Figura 1 Ventana principal del sistema.
Figura 2. Ventana donde se muestra la ayuda del sistema.
Descargar