• No se han encontrado resultados

Sistema automatizado para pronósticos en pacientes con problemas renales

N/A
N/A
Protected

Academic year: 2020

Share "Sistema automatizado para pronósticos en pacientes con problemas renales"

Copied!
68
0
0

Texto completo

(1)UNIVERSIDAD CENTRAL DE LAS VILLAS FACULTAD DE MATEMÁTICA, FISICA Y COMPUTACION CARRERA DE CIENCIA DE LA COMPUTACION. TRABAJO DE DIPLOMA. “Sistema automatizado para pronósticos en pacientes con problemas renales”. AUTORES: Haydee Leyva Cabrera Maybel Martín Pérez TUTORES: MSc. Yanet Rodríguez Sarabia Dr. Carlos Morell Pérez CONSULTANTES: Dra. Maria Matilde García Lorenzo Dr. Paulino Hernández Hernández Dr. Eduviel Ramos Cárdenas Curso 2006-2007.

(2) DERECHOS DE AUTOR. Hago constar que el presente trabajo fue realizado en la Universidad Central Marta Abreu de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencias de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. Firma del autor. Firma del autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del tutor. Firma del tutor. Firma del jefe del Seminario.

(3) Nuestro conocimiento está constituido por el pensamiento y la experiencia acumulada de innumerables mentes.. Emerson.

(4) A nuestra gran familia, que ya es una sola, y especialmente a nuestros padres, que con su apoyo incondicional, amor,. y. espíritu. nos dieron fuerzas para realizar el mayor sueño de nuestras vidas..

(5) A nuestras madres por todo el sacrificio y amor que nos han brindado a lo largo de nuestras vidas especialmente durante estos últimos años y a toda nuestra familia por su apoyo y cariño.. A nuestra tutora Yanet que nos dio la posibilidad de insertarnos en este trabajo que ha aportado tanto a nuestra formación vocacional y a nuestro tutor Morell,. quien nos ha dado su apoyo incondicional. durante estos meses. Les agradecemos infinitamente por habernos soportado a toda hora y en cualquier lugar.. Al profesor Grau, quien nos brindó una ayuda valiosísima.. A Inti, que siempre estuvo dispuesto a ayudarnos y colaboró tanto con nosotras.. A Orestico y Orestes, que también hicieron posible que alcanzáramos esta meta.. A. los profesores y todos aquellos que de una forma u otra. contribuyeron con nuestra formación y la realización de esta tesis.. Y a todos nuestros compañeros y amigos con quienes hemos compartido los años más felices de nuestras vidas..

(6) RESUMEN El problema de pronosticar la esperanza de vida de un paciente en el momento de su ingreso a la sala de Nefrología es un dato de interés, tanto del personal médico como del paciente pues es un medidor de la eficacia del tratamiento que se brinda a los pacientes con insuficiencia renal. Utilizamos para este propósito como técnica de inteligencia artificial los sistemas basados en casos pues se ajusta de manera natural al procedimiento de un médico al enfrentarse a la situación de clasificar la esperanza de vida de un paciente en determinados rangos. Se estudió la posibilidad de implementar en Weka una función de distancia con pesaje de rasgos que podría elevar los resultados de dicha clasificación. Por otra parte la decisión de si un paciente es transplantable o no requiere por parte de los expertos un análisis de varios factores por lo cual se hace engorroso. Para brindarles un apoyo a la toma de decisiones implementamos un clasificador simple basado en reglas que ofrece un resultado atendiendo a las especificaciones establecidas y que además en el caso de no ser apto para transplante brinda un reporte sencillo de las causas por las que no debe ser sometido a dicho tratamiento..

(7) ABSTRACT The fact of predict the life expectancy of a patient when entered to the nephrology’s room is undoubtedly an interesting data for the doctors and for the patients as well, due its characteristics of bringing some measure of the efficacy of the treatment for people with Chronic Renal Failure . We used for achieve this goal as a Artificial Intelligence technique the case-based reasoning, because it fits in a natural way to the doctor's procedure to classifying life expectancy of a patient in given ranges. We studied the possibility of a further implementation in Weka of a distance function with features weighting that could improves the results of such classification. On the other hand the decision of if a patient is transplantable require for the expert’s part the analysis of several factors whereby it is made bothersome, to offer a decision makings support we implemented a simple rules based classifier that offers a result attending to the established specifications and that besides in the event of not being apt it offers a simple report of the causes for which he must not receive this treatment..

(8) ÍNDICE. Pág.. INTRODUCCIÓN.................................................................................................................. 1 CAPÍTULO 1 “Aplicación de Sistemas Expertos en problemas de clasificación”....... 4 1.1 INTRODUCCIÓN A LOS SISTEMAS BASADOS EN EL CONOCIMIENTO .............................................4 1.2 APRENDIZAJE AUTOMÁTICO .........................................................................................................6 1.3 ARQUITECTURA DE LOS SISTEMAS CON RAZONAMIENTO BASADO EN CASOS ..............................7 1.3.1 Sobre la base de casos...................................................................................................8 1.3.2 Mecanismo de inferencia....................................................................................................9 1.4 ACERCAMIENTO A K-NN CON PESAJE DE RASGOS ...................................................................15 1.4.1 Algoritmo de los k vecinos más cercanos (k-NN)..........................................................16 1.4.2 Algoritmos de pesaje de rasgos ....................................................................................17 1.4.3 k-NN con pesaje de rasgos ...........................................................................................22 1.4.4 ConFuCiuS en el contexto de los modelos perezosos..................................................23 1.5 AMBIENTE AUTOMATIZADO WEKA .............................................................................................25 1.6 CONCLUSIONES PARCIALES .......................................................................................................25. CAPÍTULO 2 “Sistema. automatizado de pronósticos a pacientes con problemas. renales” ............................................................................................................................. 27 2.1 DESCRIPCIÓN DEL PROBLEMA....................................................................................................27 2.2 DISEÑO DE LA APLICACIÓN ........................................................................................................29 2.3 IMPLEMENTACIÓN DEL SISTEMA .................................................................................................32 2.3.1 Clasificación de un paciente en transplantable o no .........................................................32 2.3.2 Predicción de la esperanza de vida..................................................................................33 2.4 EXPLORACIÓN DEL COMPORTAMIENTO DEL K-NN CON PESAJE DE RASGOS .................................37 2.5 CONCLUSIONES PARCIALES........................................................................................................39. CAPÍTULO 3 “Manual de usuario” ................................................................................. 40 3.1 REQUERIMIENTOS DEL SISTEMA .................................................................................................40 3.2 DESCRIPCIÓN DE LA APLICACIÓN ................................................................................................40 3.2.1 Ventana de presentación...................................................................................................40 3.2.2 Panel “esperanza de vida”.................................................................................................41 3.2.3 Panel “Transplante” ...........................................................................................................44 3.3 DESCRIPCIÓN DE LOS DATOS DE ENTRADA ..................................................................................47 3.3.1. Descripción de los datos del Panel “esperanza de vida”..................................................48 3.3.2 Descripción de los datos del Panel “Transplante renal” ...................................................49 3.4 CONCLUSIONES PARCIALES........................................................................................................50. CONCLUSIONES............................................................................................................... 51 RECOMENDACIONES ...................................................................................................... 52 BIBLIOGRAFÍA.................................................................................................................. 53 ANEXOS ............................................................................................................................ 55 1. MODELO DE ENCUESTA APLICADA A LOS MÉDICOS.........................................................................55 2. SALIDA DEL SPSS PARA EL TEST DE KENDALL..............................................................................57 3. TIPOS DE SISTEMAS BASADOS EN EL CONOCIMIENTO ...................................................................58 4. RESULTADOS DE LA APLICACIÓN DE ALGORITMOS DE CLASIFICACIÓN ............................................59.

(9) Introducción INTRODUCCIÓN La Medicina, ciencia y arte que trata de la curación y prevención de las enfermedades así como del mantenimiento de la salud, ha alcanzado durante estos últimos años metas que antes eran impensables, sin embargo, para nadie es un secreto que aún quedan muchas por alcanzar. Entre tantos avances logrados en estos últimos tiempos muchos se deben al desarrollo de la computación y a la vinculación de esta a dicho campo. Concretamente en nuestro país la informatización - ya aplicada a los servicios asistenciales de salud -. ha dado los. primeros pasos y se continúan haciendo los mayores esfuerzos por obtener mejores resultados en aras de apoyar al personal médico y brindar una mejor atención a la población. Entre tantas ramas de la medicina la nefrología juega un rol fundamental y son disímiles las situaciones a las que se enfrentan los doctores día a día en esta especialidad y pudiera ser de gran ayuda la informatización en varias tareas. En este caso se encuentra la sala de nefrología del Hospital Provincial Universitario “Arnaldo Milián Castro” de Santa Clara, donde se requiere todo un sistema de control de pacientes con numerosa información de los mismos, apoyo a toma de decisiones y realización de varios cálculos que les toman gran parte del tiempo al personal especializado. De todo este sistema nos centraremos en el pronóstico de la esperanza de vida de un paciente al entrar a la sala de hemodiálisis pues hasta ahora no se cuenta con ninguna herramienta computacional para la determinación de este valor, a no ser mediante un estimado dado por medias anuales o basándose en casos atendidos anteriormente y además nos detendremos en la determinación de la decisión de si un paciente es transplantable y en caso de no serlo determinar las causas, para así ayudar al personal médico en la toma de decisiones. Debido a las características, que mediante sucesivos encuentros con los expertos, pudimos apreciar que tenía este problema decidimos aplicar técnicas de inteligencia artificial, específicamente razonamiento basado en casos para calcular la esperanza de vida y un clasificador simple basado en reglas para la determinación de si un paciente es transplantable. El modelo de Razonamiento Basado en Casos representa el proceder de un doctor a la hora de estimar un valor de esperanza de vida a partir de su experiencia de casos. 1.

(10) Introducción anteriores. Puede serle muy difícil recordarlos todos y por ello los mejores especialistas logran al menos basarse en una buena parte de los casos similares que ha tratado. Por otra parte, a pesar de que los doctores no poseen herramientas concretas para determinar este valor, sí tienen determinados una serie de rasgos que ellos consideran que influyen en gran medida en el pronóstico de vida del paciente. En el otro caso decidimos utilizar el clasificador simple basado en reglas ya que cuando el personal médico va a determinar si un paciente está apto para un transplante utiliza de manera natural condiciones predeterminadas para todos los pacientes por igual. Para desarrollar un sistema automatizado basado en técnicas de inteligencia artificial nos formulamos concretamente las siguientes: Preguntas de investigación ¿Será aplicable el razonamiento basado en casos para ofrecer un pronóstico de la esperanza de vida? ¿Será aplicable un clasificador simple basado en reglas para determinar si un paciente está apto para un transplante? ¿Existirá algún orden entre los rasgos predictores de la esperanza de vida? Objetivo general: Implementar un sistema que realice pronósticos médicos sobre aspectos de los pacientes de la Sala de Nefrología del mencionado hospital, como la esperanza de vida mediante el uso de RBC, la exploración del perfeccionamiento de su implementación en Weka y desarrollar además un clasificador simple basado en reglas que determine si un paciente es trasplantable, de manera que ayude al personal médico del hospital a la toma de decisiones. Objetivos específicos: •. Realizar un estudio sobre la automatización de pronósticos de un paciente con Insuficiencia Renal Crónica.. •. Realizar la ingeniería del conocimiento para desarrollar un sistema que brinde pronósticos de un paciente con Insuficiencia Renal Crónica.. 2.

(11) Introducción •. Hacer un sistema que sea capaz de predecir la esperanza de vida de un paciente utilizando Razonamiento Basado en Casos.. •. Determinar si un paciente está apto para ser transplantado.. •. Exploración del comportamiento de la utilización del clasificador IBk con pesaje de rasgos.. La presente tesis se estructura en tres capítulos. En el capítulo 1 se expone la teoría fundamental relacionada con los Sistemas Basados en Casos y en particular la técnica de los k-vecinos más cercanos. En el Capítulo 2 se explican los detalles de la implementación de la aplicación y en el capítulo 3 se expone el manual de usuario de la aplicación.. 3.

(12) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” CAPÍTULO 1 “Aplicación de Sistemas Expertos en problemas de clasificación” En este capítulo se expone el marco teórico en que se encuentra este trabajo manejando los conceptos principales y profundizando en disímiles temas que son de vital importancia, debido a que son los que hacen posibles el desarrollo de esta aplicación.. 1.1 Introducción a los Sistemas Basados en el Conocimiento El conocimiento representado en los sistemas basados en el conocimiento (SBC) es el de los expertos en el dominio. Una parte de un conocimiento experto consiste de relaciones de causa y efecto. Estas relaciones o reglas se originan a partir de la experiencia pasada y son llamadas heurísticas. Ellas representan conocimiento informal o atajos, que permiten a un experto encontrar rápidamente una solución a un problema sin tener que realizar un análisis detallado de una situación particular debido a un análisis de un problema similar resuelto de forma exitosa anteriormente o a relaciones que han sido aprendidas como resultado de un intento fallido pasado para resolver un problema similar. El experto puede no recordar todos los detalles del análisis del problema original, pero puede reconocer el enfoque aplicado a un problema similar. Se puede decir que la potencia de un SBC radica en el conocimiento que posee. Un sistema computarizado que usa conocimiento sobre un dominio para arribar a una solución de un problema de ese dominio. Esta solución es esencialmente la misma que la obtenida por una persona experimentada en el dominio del problema cuando se enfrenta al mismo problema (Bello 2002). Entre los disímiles SBC (ver anexo #3) que hay, solamente trataremos en este trabajo dos de ellos: •. Sistemas Basados en Reglas (SBR). •. Sistemas Basados en Casos (SBCasos). 4.

(13) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” Sistemas Basados en Reglas Los SBR son SBC en los que la forma de representación del conocimiento usada son las reglas de producción y como método de inferencia utiliza la regla de modus ponens(García y otros 2000). Las reglas utilizan un formato IF - THEN para representar el conocimiento, la parte IF de una regla es una condición (también llamada premisa o antecedente), y la parte THEN de la regla (también llamada acción, conclusión o consecuente) permite inferir un conjunto de hechos nuevos si se verifican las condiciones establecidas en la parte IF. Las reglas pueden expresar un amplio rango de asociaciones: •. Situación – acción. •. Premisa – conclusión. •. Antecedente – consecuente. Por último explicar que el proceso de solución de problemas en un SBR es crear una cadena de inferencias que constituye un camino entre la definición del problema y su solución. Esta cadena de inferencias puede construirse por dos vías (direcciones de búsqueda): •. Comenzar con todos los datos conocidos y progresar hacia la conclusión (data driven o forward chaining).. •. Seleccionar una conclusión posible y tratar de probar su validez buscando evidencias que la soporten (goal driven o backward chaining).. Sistemas Basados en Casos Razonamiento basado en casos (RBC) significa usar experiencias viejas para comprender y resolver nuevos problemas (Kolodner 1992). Hay dos tipos de sistemas con Razonamiento basado en casos: sistemas interpretativos y sistemas resolvedores de problemas. En el estilo de solución de problemas se derivan las soluciones a los nuevos problemas usando las soluciones dadas a los problemas semejantes viejos. En los sistemas interpretativos las situaciones nuevas se evalúan en el contexto de las situaciones viejas (Bello 1996). Un SBCasos tiene dos componentes principales: una base de casos y un resolvedor de problemas. La base de casos contiene las descripciones de los problemas resueltos. 5.

(14) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” o no previamente. Cada caso puede describir un episodio particular o una generalización de un conjunto de episodios relacionados. En el próximo epígrafe hacemos una descripción bastante detallada de las interioridades de este tipo de SBC.. 1.2 Aprendizaje automático Al subcampo de la Inteligencia artificial que estudia los métodos de solución de problemas de aprendizaje por las computadoras se le denomina Aprendizaje automatizado o Aprendizaje de máquina (Machine Learning, ML)(Mitchel 1997). El aprendizaje automatizado constituye un área principal de investigación de la Inteligencia Artificial pues está orientado al desarrollo los. de técnicas que permitan a. sistemas auto extenderse. El mismo denota la posibilidad de cambiar que tiene el. sistema, o sea, de ajustarse, de modo que ello permite al sistema hacer la misma tarea más eficientemente la próxima vez y se puede ver como un proceso de reconstrucción del conocimiento del sistema. Si se toma como ejemplo un sistema basado en reglas esto se puede manifestar al especializar o generalizar reglas, ajustar parámetros, extraer casos especiales, entre otros (Michalski). Hay al menos tres formas en que. el. aprendizaje automatizado puede facilitar la. adquisición del conocimiento: •. Construir la versión inicial de la base de conocimientos a partir de un conjunto de ejemplos de casos resueltos.. •. Refinar bases de conocimientos existentes.. •. Adaptar una base de conocimientos a un conjunto de requerimientos dados.. El aprendizaje automatizado se puede dividir en supervisado, no supervisado y semi supervisado. En el caso del aprendizaje supervisado se conoce la clase a la que los ejemplos pertenecen y el sistema aprende a cómo clasificar nuevos hechos. Por otra parte en el no supervisado se tiene que descubrir los conceptos o clases a los cuales pertenecen los ejemplos. El aprendizaje puede tener diferentes fuentes de conocimiento. Una puede ser el propio humano, que actúe como tutor. para que la computadora aprenda (por ejemplo, un. concepto). Otra puede ser un conjunto de ejemplos de problemas resueltos del dominio de 6.

(15) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” aplicación. El resultado del aprendizaje puede ser conocimiento explícito o implícito. Es explícito cuando producto del proceso de aprendizaje se obtiene conocimiento en alguna forma, por ejemplo reglas u operadores. Es implícito cuando no se obtiene conocimiento explícito desde el conjunto de ejemplos pero este sirve para que la computadora pueda resolver nuevos problemas o alcanzar mejores soluciones; también denominado aprendizaje perezoso (Lazy learning) (Zaldivar 2003). Este tipo de aprendizaje está presente en: los clasificadores k-NN(k-nearest neighbours) (Wettschereck 2006), el razonamiento basado en casos y el aprendizaje basado en instancias (Instance-based Learning, IBL). A diferencia de los métodos clásicos de solución de problemas de la Inteligencia Artificial la búsqueda de la solución a un problema no se inicia a partir de los datos o el objetivo, por lo que el camino se acorta considerablemente y es válido apuntar que por lo dicho anteriormente el aprendizaje se realiza de forma incremental. Constituye una alternativa a los sistemas basados en reglas especialmente cuando la cantidad de reglas es inmanejable o cuando la teoría del dominio es débil o incompleta.. 1.3 Arquitectura de los sistemas con Razonamiento Basado en Casos Los casos son el elemento primario en el proceso de razonamiento (memoria episódica).El mismo es más un proceso de recordar y modificar que de descomponer y recomponer (experiencia guía el razonamiento). La segunda vez que se resuelve una tarea es más fácil que la primera porque se recuerdan y repiten soluciones previas o sea, se es más competente la segunda vez porque recordamos los errores cometidos y los evitamos. El RBC es un caso específico de los SBC, que utiliza como forma de representación del conocimiento los casos, como fuente de conocimiento los ejemplos y su máquina de inferencia es una que utiliza como método de solución de problemas el Razonamiento Basado en Casos (búsqueda por semejanza y adaptación de las soluciones) Recuperación y adaptación (Bello 1996). Mediante los siguientes epígrafes explicaremos en más detalle cuál es la estructura que básicamente se compone por base de casos y mecanismo de inferencia.. 7.

(16) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación”. 1.3.1 Sobre la base de casos Un caso consiste de la descripción de un problema, la solución dada, el resultado de esa solución, y si la solución dada no fue exitosa debe añadirse una explicación de las anomalías, las estrategias de reparación y una referencia al próximo resultado. Otra alternativa es que el caso contenga toda la secuencia del proceso de solución al problema, representando los episodios ocurridos en este proceso. Los casos se caracterizan por contener conocimiento a nivel operacional y ellos representan situaciones experimentadas previamente.. Un caso es su contenido y el. contexto en el cual es aplicable. Los casos o ejemplos deben abarcar los objetivos y subobjetivos que surjan en. el. razonamiento y deben incluir tanto los intentos exitosos como los fallidos para obtener esos objetivos. Los intentos exitosos serán usados para proponer las soluciones a los nuevos problemas, y los fallos para prevenir errores potenciales. Un caso puede representar una solución completa (plan,. diseño) la cual puede ser. recuperada, adaptada y reutilizada posteriormente, eliminando la necesidad de descomponer y recomponer. Usualmente los. casos. se. almacenan con información. adicional la cual se adquiere durante el uso, modificación o almacenamiento del caso y dicho almacenamiento ocurre como estructuras monolíticas usadas individualmente o como un conjunto conectado de eventos que son reconstruidos en el momento de la recuperación. Todos los casos son almacenados aunque algunos sean bastante similares. Una alternativa es almacenar solamente. los menos. parecidos (casos paradigmas) o. almacenar generalizaciones válidas de los casos (Bello 1996). Un caso contiene la descripción del problema o situación, la solución, el resultado de la ejecución (si existe retroalimentación) y luego de la ejecución si ocurrió algún error tendría la explicación de las anomalías, estrategia de reparación y la referencia al próximo resultado. La estructura de los mismos es: •. Atributo-valor (similaridad basada en la comparación entre los valores de los atributos).. •. Estructurado (similaridad estructural): Grafos, Redes semánticas, etc.. 8.

(17) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” Resumiendo, los casos modelan el proceso de solución de problemas representando episodios de este proceso. Un caso es un conjunto arbitrario de rasgos usados para describir un concepto particular (Guardati 1994). La base de casos contiene el conocimiento del dominio específico requerido para resolver el problema en cuestión. La misma es creada por el ingeniero del conocimiento el que conduce una serie de entrevistas con los expertos y organiza el conocimiento en una forma que puede ser usada directamente por el sistema (Krishnamoorthy C.S. 1996). Todos los Sistemas Basados en el Conocimiento (SBC) presentan como arquitectura una base de datos donde se almacena el conocimiento y una máquina de inferencia. La base de “datos” (conocimiento) específica del problema, contiene toda la información dada para el usuario sobre el problema actual y todas las conclusiones que. el programa. inteligente ha inferido. El RBC, (como caso específico de los SBC) tiene como “base de datos” una base de casos donde se almacena la información mediante los ejemplos. El diseño de la base de casos incluye la compilación del vocabulario de términos usados para describir los rasgos del problema, la selección de los rasgos apropiados para indexar los casos y la especificación de los esquemas usados para almacenar lo casos (Bello 1996). El problema de como organizar los casos en la base es una cuestión de vital importancia pues de ello depende que puedan ser recuperados eficientemente todos los casos relevantes. desde. la. base. de. casos. Dicha organización dependerá de. representación de los casos y se encuentra estrechamente. la. ligada al mencionado. proceso de recuperación de casos semejantes (relevantes).Se han propuesto diversos enfoques para modelar la base de casos, entre ellos están: organización de los casos en una estructura plana, organización de los casos en una jerarquía, organización. de. los. casos según algún criterio de clasificación, organizar los casos utilizando las ventajas de una arquitectura de computadora paralela (Sarabia 1996).. 1.3.2 Mecanismo de inferencia Los mecanismos de inferencia son estrategias de control o técnicas de búsqueda, los cuales buscan en la base de conocimientos con el fin de llegar a una decisión. La base de. 9.

(18) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” conocimientos es el espacio de estado y el mecanismo de inferencia el proceso de búsqueda (Krishnamoorthy C.S. 1996). Cuando hablamos de mecanismos de inferencia de un Sistema Basado en Casos es común encontrar en la literatura sobre el ciclo de las 4Rs: Recuperación (Retrieve), Reutilización (Reuse), Revisión (Revise) y Retención (Retain) (López De Mantaras 2005). Resolver un problema mediante el RBC implica obtener una descripción del problema, midiendo la similitud del problema actual con los almacenados en la base de casos con sus soluciones conocidas, recuperando uno o más casos similares e intentando reutilizar la solución de uno de los casos recuperados, posiblemente después de ser esta adaptada a las restricciones del nuevo problema. La solución propuesta por el sistema es entonces evaluada (ej. Siendo aplicada al problema inicial o asesorada por el criterio experto). Después de la revisión de la solución propuesta, si se requiere una evaluación de la misma, la descripción del problema y su solución pueden ser entonces retenidas como un nuevo caso y el sistema ha aprendido a solucionar un nuevo problema.. Figura 1.1 Recuperación de casos relevantes (Retrieve) Dentro del ciclo de las 4Rs profundizaremos en la recuperación por ser esta la de mayor importancia dentro de los objetivos en que se encuentra enmarcado nuestro trabajo. Es la selección de un conjunto de casos candidatos a partir de la descripción del problema y se puede decir que depende de un buen sistema de índices para los casos. Los índices de un caso, sus rasgos importantes o etiquetas, son aquellos rasgos que los distinguen de otros casos. Usualmente se consideran rasgos abstractos. Los índices 10.

(19) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” corresponden a aquellos rasgos de una situación, que si lo volvemos a ver, predicen algún aspecto importante del resto de la situación. Los índices presentan las siguientes propiedades: •. Predictivos. •. Relevantes. •. Concretos de modo que se puedan reconocer en situaciones futuras. •. Abstractos para que los casos sean aplicables a una variedad de situaciones. Así, el proceso de recuperación de casos es categorizado en las siguientes 3 subtareas: •. Encontrar índices que reflejen la importancia de rasgos de un caso dado el cual puede ser usado para recuperar. Los atributos cualitativos se usan mayormente para asignar índices.. •. Quitando casos relacionados remotamente que no tienen ningún efecto en la generación de la solución. Los atributos cuantitativos son usados para este propósito.. •. Clasificando. casos. en. categorías. diversas. basadas. en. las. siguientes. consideraciones: 1. Semejanzas entre situaciones viejas y nuevas: Pasado el desarrollo de los casos recuperados como evalúan los críticos. La primera subtarea de identificar atributos adecuados y llegar a los índices correctos es un trabajo intensivo en conocimiento que tiene que ser manipulado por el ingeniero de conocimiento y el dominio. La recuperación tiene dos momentos principales: el acceso a los casos y la selección del o los casos similares. 2. Evaluar la solución: La evaluación consiste en explicar las diferencias entre lo esperado y lo que realmente ocurrió, justificar las diferencias entre la solución propuesta y la usada en el pasado y ordenar las alternativas. La misma se realiza mediante la retroalimentación y la simulación. Su resultado puede ser adaptación adicional o reparación. 3. Almacenar el caso recién resuelto en la base de casos: El almacenamiento de los casos en la base de casos, se puede llamar también aprendizaje, pues es la forma que tiene la técnica de RBC para incorporar nuevas experiencias e incrementar su conocimiento. Almacenar el caso recién 11.

(20) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” resuelto, para su uso futuro. Los pasos del proceso de aprendizaje son determinar qué se almacenará, cómo indexar el caso y cómo integrar lo aprendido a la memoria de casos. El aspecto más importante en este paso es seleccionar los índices del nuevo elemento en la base. La reutilización se responsabiliza con proponer una solución para un nuevo problema de las soluciones en los casos recuperados. La revisión se encarga de analizar las fallas y estrategias de reparación son aplicadas. Por último en la retención se almacena el nuevo caso en la base de casos.. 1.3.3 La recuperación basada en similitud La recuperación es el corazón del RBC (Kolodner 1992). Esta incluye: •. Selección de los mejores casos. •. Derivar una solución por adaptación. Selección de los mejores casos Para esto se determinan el o los casos más similares a la descripción del problema, que no tienen que ser necesariamente iguales pues: Los valores de los rasgos en el nuevo problema (P) pueden no ser iguales a los de algún caso (C) en la base. Pueden existir valores erróneos o desconocidos para uno o más rasgos predictivos. Los rasgos no tienen usualmente la misma importancia (representado por un peso Wi calculado para el rasgo i). Los pesos Wi de los rasgos pueden depender del contexto, el cual puede ser la información contenida en la base de casos. Entre los métodos de selección se encuentran: Recuperación asociativa (mediante funciones de semejanza), Hennessy y Hinkle, 1992, Pearce y otros, 1992, González y Laureano-Ortiz, 1992, Cardie, 1993, por similitud estructural, casos como términos (E. Plaza, 1995), Redes de recuperación (HD Burkhard y M Lenz, 1995).. 12.

(21) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” Funciones de semejanza Una manera para describir la función de semejanza que mide la similitud entre un problema (P) y un caso (C) es:. donde wi es la importancia del rasgo, Pi y Ci son los valores que el rasgo i tiene en el problema y en el caso respectivamente, y di es la función de comparación para el rasgo i (Zaldivar 2003). Una de las funciones de comparación más simple es:. Otras funciones de comparación de rasgos son:. Sea. para 1 si. y. 0 en otro caso Sea. como en el caso anterior 1 si. y. y. 0 en otro caso Sea 1 si. y. 0 en otro caso. para Otras funciones de semejanza son: 13.

(22) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación”. para. b). para. d). ,. e). ,. f) En ellas. es un coeficiente en el cual el numerador es la diferencia entre el valor que. toma el rasgo p en el objeto i y el menor valor posible para ese rasgo, y el denominador es la máxima variación posible de los valores del rasgo p.. es decir, se considera que los elementos del rango i tienen un orden, elemento y. denota el primer. el último.. En las expresiones (i) y (j). denota la función de comparación entre los valores i y j del. rasgo l, y " " indica el hecho de que los valores sean suficientemente cercanos, 1 si. = 0 en otro caso. 14.

(23) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” Mientras que en los casos del (a) al (h) como función para comparar los valores de un rasgo se pueden utilizar: 1. 2. min. ó max. 3. Derivar una solución por adaptación La adaptación es el proceso de ajustar una solución conocida a las restricciones impuestas por el problema a resolver. Esta puede realizarse a partir de la solución de uno o varios casos similares. Pasos del proceso de adaptación: •. Decidir qué se necesita adaptar.. •. Determinar si es procedente realizar la adaptación.. •. Especificar como las inconsistencias entre las soluciones viejas y los nuevos requerimientos pueden ser disminuidas.. •. Seleccionar y aplicar un método de adaptación.. Entre los métodos de adaptación se encuentran: analogía derivacional, analogía transformacional, búsqueda local, ajuste de parámetros, heurísticas de generalización y refinamiento, adaptación basada en crítico, adaptación basada en similitud, técnicas de interpolación, reglas de adaptación a partir de aprendizaje inductivo y. algoritmos. genéticos.. 1.4 Acercamiento a k-NN con pesaje de rasgos Entre los métodos de aprendizaje a partir de ejemplos se encuentra el k-NN que es un método de clasificación. De los sistemas expertos basados en el conocimiento es la más popular y exitosa de las herramientas basadas en inteligencia artificial, que ha sido desarrollado para ocuparse de problemas en la planificación, el diagnóstico, la clasificación, el monitoreo y el diseño.. 15.

(24) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” La clasificación consiste en el proceso de asignar a una entrada concreta, el nombre de una clase a la que pertenece. Las clases entre las que puede elegir el procedimiento de clasificación se pueden describir de gran cantidad de formas. Su definición dependerá del uso que se les dé. La clasificación constituye una parte importante de muchas de las tareas de resolución de problemas. En su forma más simple, se presenta directamente como una tarea de reconocimiento. El k-NN es un algoritmo puramente perezoso pues este almacena el conjunto de entrenamiento y deja todo el procesamiento para la fase de clasificación. El k-NN puro asigna el mismo peso a todos los rasgos, esto provoca que el resultado de sus clasificaciones sea dudoso cuando existen rasgos que no tienen la misma importancia a la hora de determinar la clase a la que pertenece una instancia. Una configuración de pesos no es más que tener cada rasgo con el peso correspondiente. Los métodos de pesaje de características son algoritmos que tratan de aprender la mejor configuración de pesos siguiendo un criterio determinado (Wettschereck 2006). En este trabajo se presentan métodos de pesaje de características que asignan pesos desiguales a cada rasgo. En la literatura, se ha tratado a este algoritmo utilizando pesaje de rasgos como más eficiente que el k-NN puro. Algunos resultados sugieren que los métodos que usan retroalimentación para asignar pesos. han. demostrado. tres. ventajas. sobre. otros. métodos,. requieren. menos. preprocesamiento, actúan mejor en la presencia de rasgos interactivos y generalmente requiere menos datos entrenamiento para aprender. También se encuentra que los métodos de peso continuo tienden a funcionar mejor que los algoritmos de selección de rasgos para las tareas donde algunos rasgos son útiles pero menos importantes que otros.. 1.4.1 Algoritmo de los k vecinos más cercanos (k-NN) La entrada del clasificador según (Wettschereck 2006) es una instancia q, cuya clase se desconoce, y la salida es la predicción de su clase. Cada instancia. x = {x1 , x 2 ,..., x|F | }. es. un punto en el espacio multidimencional definido por el conjunto de rasgos y la clase F a la que pertenece x, dentro del conjunto de clases J. Los rasgos pueden ser de varios tipos: 16.

(25) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” reales, enteros, simbólicos, símbolos ordenados, conjunto de símbolos, booleanos o difusos. El error que puede cometerse al clasificar cada instancia del conjunto de entrenamiento es conocido como Error de Clasificación Dejando uno Fuera (LOOCE por sus siglas en inglés). El objetivo del clasificador es minimizar el coeficiente LOOCE. La forma de calcularlo está en dependencia de si los valores de la clase son continuos o discretos. Cuando se va a clasificar una instancia, dado que k-NN conoce el valor de la clase de q, este devuelve la clase más probable. Si los valores de la clase son discretos, k-NN devuelve:. qc = max pq , j j∈J. , donde. pq, j. está definida en la ecuación (3).. Si los valores de la clase son continuos, k-NN devuelve: qc = p q. , donde. pq. está definida en la ecuación (5).. La similitud entre dos instancias se calcula como: n. sim (q, c ) = ∑ wa ⋅ sim a ( q a , c a ). (1). a =1. Donde sima es una función de similitud utilizada para comparar el valor del rasgo a de cada instancia, n la cantidad de características y wa el peso del rasgo a. k-NN le da al peso de cada característica un valor constante: ∀ a∈F wa = s. (2). Siendo s una constante escalar. La función (2) da igual importancia a todos los rasgos por lo que en presencia de rasgos redundantes, irrelevantes, interactivos o ruidosos la precisión del el k-NN disminuye. Debido a esto se han creado muchas variantes que asignan a cada rasgo un peso que no tiene que ser necesariamente el mismo para todos.. 1.4.2 Algoritmos de pesaje de rasgos El problema de estimación de los rasgos (atributos) ha recibido mucha atención en la literatura. De hecho hay varias medidas para estimar la calidad de atributos. Por ejemplo si el objetivo es una variable discreta (el problema de clasificación) estos son, Relief, ReliefF, entre otros. Si el objetivo en cambio es una función de valor real (la clase numérica y el 17.

(26) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” problema de regresión), entonces las heurísticas de estimación son el término medio cuadrado y el error absoluto, el RReliefF entre otros (Robnik-Sikonja 2003). La mayor parte de las medidas heurísticas para estimar la calidad de los atributos asumen la independencia condicional de los atributos y son por consiguiente menos apropiados en problemas que posiblemente implica mucha interacción de rasgos. Los algoritmos Relief (Relief, ReliefF y RReliefF) no asumen esto. Son eficientes, conscientes de la información contextual, y pueden estimar correctamente la calidad de atributos en problemas con dependencias fuertes entre los atributos. Específicamente en este epígrafe trataremos solamente sobre dos de estos algoritmos: •. Relief.. •. ReliefF.. Aunque los algoritmos Relief han sido vistos comúnmente como métodos de selección de subconjuntos de rasgos que son aplicados en un paso del preprocesamiento antes de que el modelo sea aprendido y son los mejores algoritmos de preprocesamiento para datos, son en realidad estimadores de rasgos y han sido usados eficientemente en una variedad de configuraciones por ejemplo para seleccionar separadores en la fase de construcción de un árbol de decisión, para seleccionar separadores y guiar la inducción constructiva en el aprendizaje de los árboles de regresión como métodos de pesaje de atributos y también en la programación inductiva lógica (Robnik-Sikonja 2003). Relief La idea principal de este algoritmo es estimar atributos de acuerdo a cuán bien sus valores diferencian instancias que están cercas unas de otras(Kononenko 1994).Con ese propósito, para instancias dadas RELIEF busca sus dos vecinos más cercanos, uno de la misma clase (llamado nearest hit) y el otro de clase diferente (llamado nearest miss). En esencia, la estimación del peso de un atributo F hecha por RELIEF, es una estimación de la siguiente diferencia de probabilidades: W [ F ] = P (valor diferente de F | ins tan cia cercana de clase diferente) − P (valor diferente de F | ins tan cia cercana de la misma clase) (1). 18.

(27) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” Lo razonable es que atributos buenos deben ser diferentes entre instancias de clases diferentes, y deben tener el mismo valor para instancias de la misma clase. El método original puede trabajar con atributos continuos y discretos y está limitado a problemas que sólo tengan dos posibles clases (Zaldivar 2003). Según (Robnik-Sikonja 2003) se asume que los ejemplos I1; I2;.....In en la instancia son descritos por un vector de atributos Ai; i= 1;.......; a, donde a es el número de atributos descriptivos y son etiquetados con el valor objetivo Tj. Los ejemplos son por consiguiente puntos en un espacio dimensional a. Si el valor objetivo es categórico entonces se llama a la clasificación de tareas del modelo y si es numérico se llama a la clasificación de tareas de regresión. A continuación se muestra el seudo código del algoritmo Relief original: Entrada: Para cada instancia de entrenamiento un vector con los valores de los atributos y el valor de la clase. Salida: El vector W de estimaciones de la calidad de los atributos.. Para ser usado en la práctica RELIEF debe ser capaz de trabajar con problemas multiclases sin necesidad de hacer ningún cambio en la representación del conocimiento que pueda afectar el resultado final (Kononenko 1996). ReliefF Aunque el algoritmo Relief es capaz de resolver eficientemente problemas de clasificación que envuelven atributos altamente dependientes, tales como problemas de paridad, el mismo es sensible al ruido y es incapaz de tratar con problemas con datos incompletos, multiclases y de regresión, debido a esto el RELIEF ha sido extendido. Una de estas extensiones es el RELIEFF, la cual. es capaz de trabajar con datos incompletos y. ruidosos, puede ser usado en problemas multiclases y su variante regresional RReliefF puede tratar con problemas de regresión (Kononenko 1996). 19.

(28) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” Algoritmo ReliefF: Entrada: Para cada instancia de entrenamiento un vector con los valores de los atributos y el valor de la clase. Salida: El vector W de estimaciones de la calidad de los atributos.. El parámetro m que en el RELIEF representa el número de instancias para aproximar las probabilidades; un valor de m mayor implica una aproximación más confiable. La opción obvia, adoptada en RELIEFF para relativamente un número pequeño de instancias de entrenamiento (alrededor de 1000), es tomar m igual al número de instancias de entrenamiento. Sin embargo por razones de eficiencia es aconsejable tener un valor de este parámetro más pequeño, unos pocos cientos por ejemplo. La selección de los vecinos más cercanos es de crucial importancia en RELIEF. El propósito es encontrar estos vecinos con respecto a atributos importantes. Atributos redundantes y ruidosos pueden afectar fuertemente la selección de los vecinos más cercanos y por consiguiente la estimación de probabilidades en datos ruidosos se torna no confiable. Para incrementar la fiabilidad de la aproximación, RELIEFF busca las k instancias más cercanas acertadas (hits) y erradas (misses), en vez de buscar solo una instancia de cada tipo, promedia la contribución de estas. Ha sido demostrado que esta extensión mejora considerablemente la veracidad de la estimación de las calidades de los atributos (Kononenko 1996). Un valor propuesto para k es 10, el cual ha mostrado empíricamente resultados satisfactorios. La idea es que el algoritmo deberá estimar la habilidad de los atributos para separar cada par de clases independientemente de cuales pares de clases están cercas unas de otras. 20.

(29) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” Para aumentar la fiabilidad del algoritmo, podemos realizar una búsqueda por los k ejemplos más cercanos de cada clase. Luego la fórmula queda:. W [ f ] = W [ f ] − hitsAverag e f n +. ⎡ ⎤ p (C ) ⎢1 − P (clase ( x )) × missAverag e f (C ) ⎥ n C ≠ clase ( x ) ⎣ ⎦. ∑. (3). Donde: k. hitsAverage f =. ∑δ (x i =1. f. , hi f ). k k. missAverage f (C ) =. Siendo. hi f. ∑δ (x i =1. f. , mi f (C )) k. el valor del rasgo f de la instancia cercana acertada i y. mi f (C ). es el valor del. rasgo f de la instancia cercana acertada i con clase C. Si utilizamos funciones de similitud en vez de funciones de distancias para comparar rasgos, hay que hacer un cambio de signo y queda que el peso del rasgo F se calcula:. W [ f ] = W [ f ] + hitsAverag e f n −. ⎡ ⎤ p (C ) ⎢1 − P (clase ( x )) × missAverag e f (C )⎥ n C ≠ clase ( x ) ⎣ ⎦. ∑. Donde: k. hitsAverag e f =. ∑ sim( x i =1. f. , hi f ). k k. missAverage f (C ) =. ∑ sim( x i =1. f. k. , mi f (C )) (Zaldivar 2003). 21. (4).

(30) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” 1.4.3 k-NN con pesaje de rasgos Muchos algoritmos lazy learning son derivados del clasificador k-NN, el cual usa una función de distancia para generar predicciones de instancias almacenadas. Muchos estudios han mostrado que el desarrollo del k-NN es más sensible en la definición de la función de distancia. Muchas variantes del k-NN se han propuesto reducir esta sensibilidad parametrizando la función de distancia con pesaje de rasgos(Robnik-Sikonja 2003). Uno de los algoritmos de asignación de pesos más recomendables es el Relief-F, pues se aplicó la prueba siguiente a varios data-sets y se obtuvieron resultados que evidenciaban cierta mejoría en los por cientos de clasificación. Se usó la metodología de training set para evaluar el desempeño de los algoritmos seleccionados, fueron divididos al azar un conjunto de datos y otro de entrenamiento y fue obtenido el por ciento de clasificaciones correctas. Este procedimiento fue repetido 25 veces para reducir la variación estadística. En el caso de cada data-set propuesto para ser evaluado, para cada algoritmo fueron usados los mismos conjuntos de datos y entrenamiento que se derivaron de esta partición realizada. Se usó Leave_one_out cross_validation excepto para los dos más extensos para sintonizar estos conjuntos de datos. Debido a restricciones computacionales para los conjuntos de datos NETtalk e Isolet sus conjuntos de entrenamiento a su vez fueron divididos en dos subconjuntos, un subconjunto de entrenamiento y otro de cross_validation. Los algoritmos fueron corridos en el subconjunto de entrenamiento con varias configuraciones de parámetros y probados usando el conjunto de cross_validation. La mejor configuración de parámetros fue empleada durante la clasificación en combinación con el conjunto de entrenamiento completo. El valor óptimo de k fue estimado para los métodos sin retroalimentación predeterminados del clasificador después de hallar los pesos de los rasgos y para todos los métodos de retroalimentación se halló antes y después de computar el pesaje de rasgos Para k-NN VSM el número de iteraciones fue limitado al requerido para minimización (Wettschereck 2006). Usando esta metodología se aplicó estos algoritmos a cada conjunto de datos, resumiéndose estos resultados en la tabla 1.1, donde se usan las negritas para indicar las diferencias entre aplicar o no pesaje de rasgos. 22.

(31) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación”. . Tabla 1.1. 1.4.4 ConFuCiuS en el contexto de los modelos perezosos Las características de la función de distancia que utiliza ConFuCiuS compromete el enfoque puramente perezoso de la variante del k-NN, debido a que la función que se utiliza para comparar dos valores de un rasgo se basa en una función I(.) (Si I(qj, C) >0 significa que el valor dado al rasgo j-ésimo en el problema favorece la solución dada al mismo; mientras. que I(qj, C) <0 apunta protección). Esta función. generaliza la relación entre estos valores en el conjunto de instancias conocidas. Las diferencias entre ConFuCiuS y el k-NN estándar son esencialmente basadas en el criterio de proximidad que cada uno implementa, debido a que: Ambos. almacenan. las. instancias. como. pares. atributo-valor,. pero. ConFuCiuS. adicionalmente requiere una modelación borrosa de los atributos numéricos. Al comparar dos instancias ConFuCiuS tiene en cuenta dos tipos de conocimiento: los valores que en estas toma cada rasgo y el conocimiento generalizado del conjunto de instancias; mientras que el k-NN se basa en la HEOM que es una métrica superficial. Como consecuencia, de lo anterior, ConFuCiuS es más costoso computacionalmente que el k-NN al requerir adicionalmente generalizar información contenida en el conjunto de 23.

(32) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” entrenamiento; la cual permanece invariable mientras no se modifique el conjunto de instancias de entrenamiento. ConFuCiuS utiliza un criterio uniforme para comparar a nivel de rasgo, que no requiere normalización, a diferencia del k-NN que utiliza una distancia heterogénea. ConFuCiuS garantiza. medidas de proximidad graduales para aplicar la función de. predicción. En la comparación de atributos simbólicos o en presencia de valores ausentes ConFuCiuS garantiza una mayor diferenciación entre las instancias porque: En la comparación con un valor ausente (?) la distancia HEOM retorna valor 1 (máxima distancia), mientras que la función FADM retorna un valor atendiendo al valor conocido en la solicitud y el conocimiento generalizado sobre este rasgo en el conjunto de instancias. Solamente en la variante que ambos valores sean desconocidos, se considera entonces un valor constante (contrario al anterior que asume valor cero y distancia mínima). Si el atributo a comparar es simbólico, la distancia HEOM retorna un valor binario (función overlap), mientras que el criterio de comparación local FADM en el que se basa ConFuCiuS permite un mayor espectrum de valores. ConFuCiuS modela los atributos numéricos como variables lingüísticas, permitiendo una modelación del problema más cercana a la realidad al garantizar manejar la imprecisión causada por el uso de conceptos tales como “fiebre alta”, “precio elevado”, “rendimiento normal”, entre otros; los cuales se pueden utilizar tanto en la descripción de una instancia como al especificar una solicitud. ConFuCiuS utiliza un criterio de proximidad que depende del contexto y que se define automáticamente a partir del conjunto de entrenamiento; garantizando considerar un conocimiento más específico para un dominio de aplicación y al mismo tiempo disminuir la ingeniería del conocimiento requerida. Utilizar la modelación borrosa de los atributos numéricos permite manejar el grado de pertenencia del valor a cada uno de los términos lingüísticos definidos como una medida de similitud o compatibilidad con estos; propiciando ConFuCiuS soluciones efectivas y más naturales al problema que se resuelve. ConFuCiuS, a diferencia del k-NN, no muestra signos de degradación ante rasgos irrelevantes; a partir de utilizar como criterio de proximidad ejemplos de distancias basadas en la extensión y generalización de VDM (Rodríguez 2006). 24.

(33) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación”. 1.5 Ambiente automatizado WEKA El aprendizaje automatizado es la disciplina que estudia cómo construir sistemas computacionales que mejoren automáticamente mediante la experiencia. En otras palabras, se dice que un programa ha “aprendido” a desarrollar la tarea T si después de proporcionarle la experiencia E el sistema es capaz de desempeñarse razonablemente bien cuando nuevas situaciones de la tarea se presentan. Aquí E es generalmente un conjunto de ejemplos de T, y el desempeño es medido usando una métrica de calidad P. Por lo tanto, un problema de aprendizaje bien definido requiere que T, E y P estén bien especificados(Mitchel 1997) . A pesar que se desconoce cómo lograr que las computadoras aprendan tan bien como las personas, ciertos algoritmos propuestos en el campo han resultado efectivos en varias tareas de aprendizaje. Weka es un sistema multiplataforma y de amplio uso probado bajo sistemas operativos Linux, Windows y Macintosh. Puede ser usado desde la perspectiva de usuario mediante las seis interfaces que brinda, a través de la línea de comando desde donde se pueden invocar cada uno de los algoritmos incluidos en la herramienta como programas individuales y mediante la creación de un programa Java que llame a las funciones que se desee (Matías y Araugo 2006). En WEKA existen varios algoritmos implementados que permiten realizar tareas tales como: clasificación, agrupamiento, búsqueda de asociaciones y selección de atributos. El “Explorer”, que es el ambiente gráfico básico de Weka, organiza estos algoritmos de acuerdo a las tareas mencionadas utilizando para su identificación las pestañas: “Classify”, “Cluster”, “Associate” y “Select attributes” respectivamente (Witten 2000). Además brinda interfaces para utilizar la implementación de dichos algoritmos desde lenguajes de programación como java y permite que se le realicen extensiones, lo que puede ser de gran utilidad para la mayoría de los programadores.. 1.6 Conclusiones parciales Cuando se tiene disponible ejemplos es recomendable la aplicación de técnicas de inteligencia artificial en particular del aprendizaje basado en instancias. En una función de 25.

(34) Capítulo 1 “Aplicación de Sistemas Expertos en problemas de clasificación” similitud los pesos son un grado de libertad cuya estimación para un problema particular pudiera influir en mejorar el desempeño del sistema que se basa en ese concepto de similitud. Es factible utilizar un SBR cuando mediante criterio experto quedan definidas un conjunto de reglas que modelan de forma natural el problema en cuestión. Como resultado de la revisión bibliográfica y de la factibilidad del trabajo en función de los objetivos, se plantean las siguientes hipótesis de investigación: Hipótesis de investigación: Es posible automatizar el servicio de nefrología del Hospital Universitario Provincial “Arnaldo Milián Castro” mediante: •. La predicción de la esperanza de vida de un paciente con insuficiencia renal crónica a partir de ejemplos. •. la determinación de si está apto para transplante mediante un clasificador simple basado en reglas. 26.

(35) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales” CAPÍTULO 2 “Sistema. automatizado de pronósticos a pacientes con problemas. renales” En este capítulo se abordarán detalles concernientes a la implementación de la aplicación así como diagramas que documentan las clases construidas y reutilizadas además de profundizar en las peculiaridades de la construcción del sistema.. 2.1 Descripción del problema Es bien conocido que la supervivencia de los pacientes con insuficiencia renal crónica (IRC) es una de las más bajas a nivel mundial, incluso en comparación con otros padecimientos. Como ejemplo de esto podríamos mencionar que es similar al cáncer de colon y superior a la del cáncer de próstata. En EE UU, por solo citar un ejemplo, la media de hospitalización de los enfermos mayores de 65 años del programa Medicare, es de 2.8 días/año, mientras que en los pacientes en diálisis es de 17.9 días /año. Según estudios realizados por los especialistas en el tema, la esperanza de vida (E.V.) de un paciente en hemodiálisis (HD) es inversamente proporcional a la edad de comienzo del tratamiento. Así a los 5 años, los que inician el tratamiento con más de 65, tienen un índice de supervivencia inferior en un 15% que aquellos con 55-64 años. La tasa de mortalidad anual de los pacientes en HD está alrededor del 8-10% en España siendo más elevada en los EE.UU. donde es, aproximadamente, del 18%. La mortalidad del tratamiento integrado de la insuficiencia renal crónica está por debajo del 5% anual, en pacientes menores de 45 años(Alajama 1996). La principal causa de mortalidad en los pacientes en HD son las enfermedades cardiovasculares que. representan el 60% de todos los fallecimientos(Bueno 2003). seguida de las infecciones, hepatopatías y procesos gastrointestinales. Factores de riesgo bien definidos son: la edad; el tiempo en diálisis; la dosis de diálisis; factores nutricionales como la albúmina, el colesterol además de complicaciones asociadas. No obstante al paciente ingresar en la consulta de HD, existen factores que también influyen en el posterior desarrollo del enfermo. No es solamente la edad el rasgo que antes de comenzar un tratamiento influye en la evolución de dicho individuo, existen varios como la causa de la IRC, las patologías asociadas, la preparación previa a la consulta, entre otros que se describirán más adelante. 27.

(36) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales” Nuestro trabajo surge a partir de la necesidad de los especialistas de la sala de nefrología del Hospital Provincial Universitario “Arnaldo Milián Castro” de Santa Clara, donde se requiere, como habíamos dicho anteriormente, todo un sistema de control de pacientes con numerosa información de los mismos, que cuente con módulos que apoyen a la toma de decisiones y realización de varios cálculos que les toman gran parte del tiempo al personal especializado. De todo este sistema nos centraremos en el pronóstico de la esperanza de vida (mediante un SBCasos), tema que hemos venido tratando, con el fin de que se tenga una panorámica de él, debido a que es bien discutido, polémico e importante para los pacientes de la sala de hemodiálisis; pues según hemos investigado hasta ahora no se cuenta con ninguna herramienta computacional, específica a ese problema. Otra de las facilidades del sistema que nos proponemos comenzar, es la sugerencia de dado un paciente determinar si el mismo está apto para ser transplantado y de no estarlo explicar brevemente el porqué de dicha decisión. Para esto nos proponemos utilizar un clasificador simple basado en reglas. Modelación del proceso del negocio Cuando un paciente necesita atención por presentar algún problema de insuficiencia renal (determinado por parte del médico de turno en el cuerpo de guardia o el nefrólogo del policlínico), se determina si debe ser atendido en una consulta de nefrología. Luego se determina a cuál consulta especializada el paciente debe asistir. En el caso de que deba ser atendido por la sala de nefrología, existen tres posibilidades: 1. Incluirse al programa de hemodiálisis (brindándose un pronóstico de E.V.) donde puede fallecer. 2. Egresar a su área de salud con tratamiento y seguimiento del nefrólogo. 3. Fallecer. A su vez si se incluyó al programa de hemodiálisis se consideran dos posibilidades: 1. Pasar al programa de transplante renal (si está apto para el transplante) 2. Fallecer. En el caso de ser transplantable puede fallecer o recibir un seguimiento en su área de salud.. 28.

(37) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales”. . Diagrama de actividad. Figura 2.1 Diagrama de actividad. 2.2 Diseño de la aplicación Casos de uso del sistema El sistema en una primera versión será usado solamente por los médicos de la sala de nefrología del Hospital Provincial Universitario “Arnaldo Milián Castro” de Santa Clara para calcular la esperanza de vida de un paciente cuando entra a dicha sala y/o para determinar si un paciente está apto para transplante y en caso de no ser apto, el porqué. Por tanto el diagrama de casos de uso sería el siguiente (figura 2.2): 29.

(38) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales”. Figura 2.2 Casos de uso del sistema Diagrama de clases A continuación describiremos las clases que intervienen en nuestro sistema:. Figura 2.3 Diagrama de clases 30.

(39) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales” Todas las clases mostradas anteriormente poseen sus constructores cuyo papel se explica por sí solo. Existen además otros métodos que por el contrario requieren de al menos una breve descripción para su comprensión. Tal es el caso de: FiltradoGlomerular(), perteneciente a la clase TPacTransp el cual devuelve un dato de tipo double que representa el filtrado glomerular teórico (que no es más que el filtrado de la orina por el riñón en un minuto) expresado en ml/min cuya fórmula es: ((140-edad)*peso en Kg.) / (72*Creatinina en mg%) Otro ejemplo de esto es isFiltradoInRange() el que verifica si el filtrado es menor que 15, esta cifra describe si el paciente tiene insuficiencia renal crónica terminal o predialítica que son los que se analizan para ser transplantados, los valores normales se encuentran entre 80 y 120 ml/min. En el caso del método isEdadInRange() lo que hace es verificar si la edad del paciente es menor de 65 años. Los métodos de las clases TPacTransFem y TPacTransMasc los métodos isTransp() de ambas clases devuelven si el paciente es transplantable. Por último el método isTGPInRange() verifica si el valor de TGP está por debajo de dos veces y media su valor normal, que es 12 ui. Diagrama de componentes El sistema contiene como componentes principales un fichero de extensión arff que almacena la base de casos cuyos ejemplos utiliza posteriormente el módulo Weka.jar el cual brinda la posibilidad de utilizar disímiles algoritmos que tiene implementados (figura 2.4).. Figura 2.4 Diagrama de componentes 31.

(40) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales” 2.3 Implementación del sistema El sistema se implementó en el lenguaje de programación java utilizando como ambiente de desarrollo NetBeans 5.0. Consta de dos módulos fundamentales para dar respuesta a los casos de uso planteados anteriormente.. 2.3.1 Clasificación de un paciente en transplantable o no Fue definido por los expertos que para que un paciente fuera apto para transplante debía cumplirse que el filtrado glomerular fuera menor que 15 ml/min, que la edad del paciente fuera menor que 65 años, el TGP debía ser menor que dos veces y media su valor normal (que es 12) o sea que el TGP debía ser menor que 30. Por otra parte era necesario que una serie de pruebas arrojaran resultados satisfactorios. Tal es el caso del cuagulograma, abdomen simple (TUS), Alta estomatológica, Rx de estómago y duodeno, Ultrasonido renal, Rx de Senos perinasales, Ultrasonido abdominal-renal, Cistografía miccional, Cross Match, HLA. En caso de que el paciente fuera femenino se requiere que la prueba citológica fuera negativa y en el caso de los hombres el antígeno prostático. Además que los estudios virológicos aplicados al paciente fueran negativos. Estos estudios son: Antígeno de superficie de Hepatitis B, Antígeno virus Hepatitis C, VIH, Serología, Citomegalovirus. Por último era de vital importancia que no tuviera ningún foco séptico. Utilizando esta información aportada por los especialistas concluimos que era aplicable un clasificador simple basado en reglas para determinar si el paciente estaba apto para transplante y conformamos las siguientes reglas. Paciente_Transplantable-> Alta_estomatológica, Rx_estómago_duodeno, Ultrasonido_renal, Rx_Senos_perinasales, Ultrasonido_abdominal-renal, Cistografía_miccional, Cross_Match, HLA, !( Antígeno_superficie_Hepatitis B,), !( Antígeno_virus_Hepatitis C), !( VIH), !( Serología), !( Citomegalovirus), !( foco_séptico). 32.

(41) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales”. Paciente_Transplantable_Femenino -> Paciente_Transplantable, Prueba_citológica. Paciente_Transplantable_Masculino -> Paciente_Transplantable, Antígeno_prostático. Validación de los resultados Este módulo fue validado mediante criterio experto.. 2.3.2 Predicción de la esperanza de vida Para obtener la información necesaria que nos permitiera obtener un pronóstico de la E.V. utilizamos los registros que se encontraban archivados en la sala de HD del mencionado hospital, planillas o historias clínicas de fallecidos en dicha sala, datos que han sido recopilados desde el año 1991. Es bueno destacar que a diferencia de las bases de casos que se utilizan en la mayoría de las aplicaciones que utilizan RBC no contamos con muchas instancias o ejemplos. De las archivadas en planillas tenemos desde el 2004 al 2006, solo 60 casos, los restantes los obtuvimos mediante un arduo trabajo con las historias clínicas para un total de 118 ejemplos. Contamos con 29 rasgos en total en la base de casos. De ellos existen algunos rasgos predictores que son multievaluados, en cuyo caso se encuentran las causas de la IRC, o etiología, y las patologías asociadas, y para procesarlos con la herramienta Weka es necesario tratarlos como booleanos. Así cada valor de estos rasgos predictores los transformamos en un nuevo rasgo. Es decir que si a una cantidad de rasgos existente R se le adicionara un rasgo multievaluado M, si M poseía X valores posibles, entonces no sería solo R + 1 la nueva cantidad rasgos, como sucediera si no fuera multievaluado, si no que tendría ahora R+X rasgos predictores y. cada uno de estos X nosotros decidimos. asignarles 0 o 1. El primer valor si el paciente presentaba esa característica y 0 en caso contrario. 33.

(42) Capítulo 2 “Sistema automatizado de pronósticos a pacientes con problemas renales” Otra consideración que realizamos fue que debido a la falta de información de cuál era el tipo de acceso vascular ( presentar el paciente preparación previa) acordamos con los expertos solo tomar en cuenta si venían con preparación o no. Luego se establecieron conjuntamente con los expertos rangos para clasificar la E.V., que es nuestro rasgo objetivo, en: •. Baja (de 0 a 17 meses en HD).. •. Media (de 18 a 27 meses en HD).. •. Alta (de 28 meses en adelante en HD). Inicialmente se pensó en considerar un rasgo predictor relativo a si el paciente presentaba amputaciones, pero luego lo desechamos pues por parte de la mayoría de los médicos se consideraba de no mucha importancia y además se habían recopilado datos suficientes solo de dos pacientes de un total de 120 que presenta la base de casos. Finalmente obtuvimos la siguiente configuración en nuestra base de casos: Nombre del rasgo. Descripción del rasgo. Tipo. Valores posibles. CI_DM. Causa de la IRC Diabetes mellitus. Boolean. {0,1}. CI_NInst. Causa de la IRC Nefritis intersticial. Boolean. {0,1}. CI_ND. Causa de la IRC Nefropatía diabética. Boolean. {0,1}. CI_DesT. Causa de la IRC Destransplante. Boolean. {0,1}. CI_NV. Causa de la IRC Nefropatía vascular. Boolean. {0,1}. CI_ERPAD. Causa de la IRC. Boolean. {0,1}. Enf.. Renal. poliquística. autosómica. dominante CI_NA. Causa de la IRC Nefroangioesclerosis. Boolean. {0,1}. CI_VUP. Causa de la IRC Valva uretra posterior. Boolean. {0,1}. CI_GSV. Causa de la IRC. Glom. Secundaria y Boolean. {0,1}. vasculitis CI_NF. Causa de la IRC No filiada. Boolean. {0,1}. CI_EQ. Causa de la IRC Enf. Quísticas. Boolean. {0,1}. CI_NIsq. Causa de la IRC Nefropatía isquémica. Boolean. {0,1}. CI_GP. Causa de la IRC Glom. Primaria. Boolean. {0,1}. 34.

Referencias

Documento similar