IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE...

66
INSTITUTO TECNOLÓGICO DE LA PAZ DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN MAESTRÍA EN SISTEMAS COMPUTACIONALES IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE TÉCNICAS DE APRENDIZAJE AUTOMÁTICO QUE PARA OBTENER EL GRADO DE MAESTRO EN SISTEMAS COMPUTACIONALES PRESENTA: LIC. CARLOS ARTURO GONZÁLEZ RUBIO GAVARAIN DIRECTORES DE TESIS: DR. MARCO ANTONIO CASTRO LIERA MSC. JOEL ARTEMIO MORALES VISCAYA MATI. ARMANDO CÁRDENAS FLORIDO LA PAZ, BAJA CALIFORNIA SUR, MÉXICO, AGOSTO 2019.

Transcript of IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE...

Page 1: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

INSTITUTO TECNOLÓGICO DE LA PAZDIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN

MAESTRÍA EN SISTEMAS COMPUTACIONALES

IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMASMEDIANTE TÉCNICAS DE APRENDIZAJE AUTOMÁTICO

QUE PARA OBTENER EL GRADO DEMAESTRO EN SISTEMAS COMPUTACIONALES

PRESENTA:LIC. CARLOS ARTURO GONZÁLEZ RUBIO GAVARAIN

DIRECTORES DE TESIS:DR. MARCO ANTONIO CASTRO LIERA

MSC. JOEL ARTEMIO MORALES VISCAYAMATI. ARMANDO CÁRDENAS FLORIDO

LA PAZ, BAJA CALIFORNIA SUR, MÉXICO, AGOSTO 2019.

Page 2: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado
Page 3: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado
Page 4: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado
Page 5: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Dedicatoria

No importa cuales sean nuestros logros alguien nos ayudó a llegar allí y no puedoagradecer lo suficiente a todas las personas que han creído en mí, en primer lugar mis padres yhermanos que han estado allí desde el principio motivándome a dar lo mejor de mí con susvidas ejemplares.

A mi esposa, la persona que me sigue eligiendo todos los días para pasar el resto de susdías a pesar de mis defectos, te amo por ser fuente inagotable de comprensión, compasión,sonrisas y locura.

A mi hijo que se ha convertido en mi mayor motivación para dar la mejor versión de mitodos los días, con tu amor das tanto que todos los sacrificios valen la pena para hacerte feliz.

iv

Page 6: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Agradecimientos

Se agradece al Tecnológico Nacional de México, a la División de Estudios de Posgrado eInvestigación del Instituto Tecnológico de La Paz y al Consejo Nacional de Ciencia yTecnología (CONACyT), por el apoyo recibido y las facilidades otorgadas para el desarrollo deeste trabajo.

Se agradece al comité tutorial por todas sus valiosas observaciones y aportaciones para queeste trabajo fuera posible.

Se agradece al Benemérito Hospital General con Especialidades Juan María de Salvatierraque mediante el área de Enseñanza e Investigación a través del conducto de su titular el Dr.Gustavo Farías Noyola se otorgó el permiso para el uso de una base de datos de antibiogramashospitalarios.

Se agradece a la Unidad de Vigilancia Epidemiológica Hospitalaria y al Laboratorio deAnálisis Clínicos del Hospital Salvatierra por haber fomentado en mí la investigación en saludy la conciencia sobre la importancia de la farmacorresistencia.

v

Page 7: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Resumen

Se detalla la creación de una solución informática para facilitar la descripción yvisualización de los patrones subyacentes en los datos mixtos multidimensionales de losantibiogramas.

El enfoque de desarrollo utilizado es conocido como descubrimiento de conocimiento enbases de datos, cuyo objetivo es identificar patrones válidos y novedosos a partir de datosexistentes, mismos que son suministrados en forma de ejemplos entrenantes al algoritmo demapa auto-organizado generalizado, utilizado durante la etapa de minado de datos paraobtener un modelo que mapea datos de alta dimensión en una malla bidimensional quepreserva las propiedades topológicas de los datos originales.

vi

Page 8: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Abstract

The creation of a computer solution to facilitate the description and visualization of theunderlying patterns in the multidimensional mixed data of the antibiograms is detailed.

The development approach used is known as knowledge discovery in databases, whoseobjective is to identify valid and novel patterns from existing data, which are supplied in theform of training examples to the generalized self-organized map algorithm, used during thedata mining stage to obtain a model that maps high-dimensional data in a two-dimensionalgrid that preserves the topological properties of the original data.

vii

Page 9: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado
Page 10: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Índice general

1. Introducción 11.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.1. Epidemiología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1. General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.2. Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5. Alcance y limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.5.1. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Marco teórico 112.1. Descubrimiento de conocimiento en Bases de datos . . . . . . . . . . . . . . . . 11

2.1.1. Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.2. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.3. Transformación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.4. Minado de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.5. Interpretación y evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2. Aprendizaje automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.1. Aprendizaje supervisado . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2.2. Aprendizaje no supervisado . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3. La neurona artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4. Redes Neuronales Artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5. Mapas Auto-Organizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5.1. Inspiración biológica de los mapas auto-organizados . . . . . . . . . . . . 202.5.2. Los mapas auto-organizados como una red neuronal artificial . . . . . . . 20

2.6. Mapas Auto-Organizados Generalizados . . . . . . . . . . . . . . . . . . . . . . 252.7. Distancia Jerárquica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.7.1. Distancia Jerárquica Categórica . . . . . . . . . . . . . . . . . . . . . . . 272.7.2. Distancia Jerárquica Simple . . . . . . . . . . . . . . . . . . . . . . . . . 28

ix

Page 11: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.7.3. Distancia Jerárquica Numérica . . . . . . . . . . . . . . . . . . . . . . . 292.7.4. Fase de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3. Metodología 333.1. Creación de una base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2. Arquitectura del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.1. La clase nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.2. La clase punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.3. La clase distancia jerárquica . . . . . . . . . . . . . . . . . . . . . . . . . 363.2.4. La clase neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.5. La clase GSOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4. Pruebas y resultados 414.1. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5. Conclusiones y Trabajo futuro 455.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Bibliografía 49

Glosario de términos 51

Siglas 53

Page 12: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Índice de figuras

1.1. Triada epidemilógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1. El proceso de KDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2. Neurona biológica vs artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3. Red Neuronal Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4. Córtex cerebral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5. Mapa Auto-Organizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.6. Parámetros de los Mapas Auto-Organizados . . . . . . . . . . . . . . . . . . . . 232.7. Overall caption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.8. Primer caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.9. Segundo caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.10. Tercer caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.11. Tercer caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1. Clase nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2. Diagrama de la clase Punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3. Nodo raíz y Jerarquía de distancia . . . . . . . . . . . . . . . . . . . . . . . . . 373.4. Clase neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.5. La clase GSOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1. Hit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

xi

Page 13: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado
Page 14: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Capítulo 1

Introducción

El hardware y software como los sistemas gestores de bases de datos SGBD actuales

permiten acceder, recopilar y almacenar datos de forma confiable, sin embargo, el valor de

almacenar volúmenes masivos de datos depende de la capacidad de extraer información útil de

ellos. Por lo tanto, es necesario desarrollar sistemas que nos permitan aumentar la capacidad

para extraer, analizar y comprender la información subyacente en los datos.

Las unidades hospitalarias generan una gran cantidad de datos sobre la atención prestada

a los pacientes, debido a que en el cuerpo humano están contenidas bacterias benéficas que

ayudan a la absorción de nutrientes o en la síntesis de determinados compuestos, como la

vitamina K y algunas del complejo B, sin embargo, existen algunas bacterias que son nocivas

para la salud y ocasionan infecciones, estas son conocidas como patógenos, que son aislados

por medio de cultivos microbiológicos en distintos momentos, por ejemplo, al ingreso de los

pacientes a la unidad para verificar que no tenga o esté incubando algún microorganismo, a los

cinco días después de su ingreso o si presenta picos febriles. Si el cultivo es positivo (se ha

aislado algún microorganismo patógeno) se realiza un informe por parte del laboratorio

llamado antibiograma para conocer la susceptibilidad del microorganismo a una batería de

antibióticos, catalogando cada prueba según sea el caso como sensible, intermedio o resistente.

1

Page 15: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2 CAPÍTULO 1. INTRODUCCIÓN

Los antibiogramas son utilizados por los médicos para brindar opciones terapéuticas a los

pacientes, ya que una vez conocido el resultado del mismo pueden decidir que fármaco utilizar

para lograr la remisión de alguna posible infección.

Las bacterias tienen la capacidad de resistir la acción antibiótica de los medicamentos

(también conocida como farmacorresistencia) mediante la selección natural, a través de

mutaciones producidas por azar, sin embargo, cuando los antibióticos entran en contacto con

la población bacteriana generan presión selectiva, debido a que matan tanto a las buenas que

protegen el cuerpo, como a las malas. Solo las bacterias que cuentan con alguna mutación que

las hace más resistentes al tratamiento sobreviven, y se reproducen creando generaciones más

difíciles de tratar, además, una vez disponible esta información genética las bacterias son

capaces transmitir a otras los nuevos génes, a través de diversos mecanismos. Cuando una

bacteria porta varios génes de resistencia se le denomina multirresistente.

Las Infecciones Asociadas a la Atención de la Salud (IAAS), también denominadas

infecciones nosocomiales u hospitalarias, son un evento adverso durante la prestación de

atención sanitaria que se presenta cuando el paciente contrae una infección durante su

tratamiento en un hospital u otro centro sanitario. Las IAAS causan estancias más

prolongadas en los hospitales, lo cual también es un factor de riesgo ya que aumenta la

posibilidad de ser infectado por otros microorganismos, de infectar a otros pacientes o al

personal de salud. Las IAAS dañan la salud del paciente y también impactan negativamente la

economía de las unidades hospitalarias al ocasionar diferimiento en los servicios hospitalarios.

La farmacorresistencia en unidades hospitalarias es un tema que ya ha sido investigado

adoptando enfoques estadísticos, sin embargo, la falta de consenso y estructura hacen que se

trate de un tópico poco formalizado, por lo que se abordó esta investigación utilizando un

enfoque distinto, el Descubrimiento de Conocimiento en Bases de datos (KDD por las siglas de

Page 16: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

3

Knowledge Discovery in Databases) mediante una técnica de aprendizaje no supervisado para

analizar los datos que no se encuentran previamente etiquetados y generar un modelo de

distribución y densidad.

Una vez que un problema ha sido identificado es necesario tomar decisiones dirigidas a

solucionarlo, estas intervenciones deben de estar diseñadas para maximizar la eficiencia, es

decir la correcta utilización de los recursos disponibles y la eficacia que se cumplan los

objetivos, para alcanzar estos fines es necesario conocer el tamaño y distribución del problema,

por lo que se desarrollo un software para analizar automáticamente la información de los

antibiogramas con la finalidad de encontrar patrones que puedan ser útiles en el posterior

análisis epidemiológico.

El minado de datos es un paso importante en el proceso de KDD donde se selecciona el

algoritmo y la tarea a realizar, que en este caso es el agrupamiento de datos por similaridad, se

utilizó el algoritmo de aprendizaje no supervisado llamado Mapa Auto-Organizado SOM

debido a su capacidad para generar una representación discreta de baja dimensión

(típicamente R2) del espacio de las muestras de entrada de alta dimensión (Rn), llamado

mapa, que es creado durante la fase de entrenamiento. Los SOM utilizan una función de

vecindad para preservar las propiedades topológicas de los datos originales [1], sin embargo,

debido a que los datos de las observaciones contienen en su mayoría variables categóricas el

SOM falla en preservar la topología de los datos originales. Encontramos que el problema no

puede ser resuelto por los algoritmos más comunes para esta tarea, ya que que la similaridad

entre dos patrones está dada por la distancia que existre entre las observaciones (por ejemplo

la distancia Euclidiana) dando como resultado un valor numérico que no está definido para

variables categóricas, por lo que el algoritmo seleccionado es una variante del SOM llamado

Mapa Auto-Organizado Generalizado (GSOM por las siglas en inglés de Generalized

Self-Organizing Map) donde se utiliza una métrica de distancia llamada distancia jerárquica

Page 17: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

4 CAPÍTULO 1. INTRODUCCIÓN

capaz de asignar un valor numérico a la distancia de variables categóricas y numéricas. Esta

generalización preserva la topología de los datos originales aún cuando las observaciones

contienen datos mixtos [2].

Page 18: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

1.1. ANTECEDENTES 5

1.1. Antecedentes

1.1.1. Epidemiología

La Epidemiología es el área de la medicina que estudia la distribución, frecuencia,

determinantes, predicciones y control de los factores relacionados con la salud y las

enfermedades existentes en poblaciones humanas definidas [3].

Los estudios epidemiológicos se utilizan para estimar la magnitud con la que dos

fenómenos se relacionan entre sí, al establecer medidas de asociación, como se muestra en la

figura 1.1, según las variables epidemiológicas de tiempo, lugar y persona con la finalidad de

utilizar dichos estudios en el control sanitario de enfermedades.

Huésped

Agente Ambiente

Figura 1.1: La triada epidemilógica.

La vigilancia epidemilógica es de observancia obligatoria en los establecimientos de salud

dentro del territorio nacional y está reglamentada en el Diario Oficial de la Federación en las

normas: “Para la Vigilancia Epidemiológica”[4] y “Prevención y Control de las Infecciones

Nosocomiales”[5].

Page 19: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

6 CAPÍTULO 1. INTRODUCCIÓN

En materia de investigación en salud pública existen diversos estudios de

farmacorresistencia en enfermedades como la Tuberculosis o el VIH, entre otras.

El Instituto Nacional de Salud Pública (INSP) cuenta con una línea de investigación en

Medicamentos en salud pública: acceso, uso y resistencia antimicrobiana, sin embargo, a pesar

de la importancia de establecer mecanismos para la vigilancia de la farmacorresistencia en las

unidades hospitalarias la falta de consenso y estructura en el tema hacen que se trate de un

tópico poco formalizado.

Page 20: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

1.2. PLANTEAMIENTO DEL PROBLEMA 7

1.2. Planteamiento del problema

El problema consiste en encontrar una manera de correlacionar las observaciones de los

aislamientos de los microorganismos, para generar un modelo de magnitud y distribución de la

resistencia de los microorganismos en las unidades hospitalarias.

Los campos de los antibiogramas pueden ser utilizados para establecer relaciones entre las

observaciones, sin embargo, esto presenta algunas dificultades al utilizar los métodos

estadísticos tradicionales por la cantidad, la dimensión y el tipo de datos contenidos en los

registros.

La cantidad de registros en una base de datos puede dificultar su análisis utilizando medios

tradicionales, sobre todo si esta es de rápido crecimiento, se encuentra distribuida o proviene

de fuentes heterogéneas.

Si dos observaciones son cercanas en el espacio se dice que son similares, los problemas

como la clasificación se basan en la detección de las áreas donde los registros forman grupos

con propiedades similares, sin embargo, en los registros con muchos campos (alta

dimensionalidad) se produce el efecto Hughes [6] (coloquialmente llamado maldición de

dimensión) debido a que con cada dimensión agregada al problema se produce un aumento

exponencial en el espacio haciendo que los datos disponibles se vuelvan dispersos, lo que

impide que las estrategias de organización de datos comunes sean eficientes.

A pesar de que existen diversos algoritmos de agrupamiento, estos se basan en el concepto

de distancia (tradicionalmente la euclidiana) lo cual funciona correctamente cuando los datos

son cuantitativos (como peso o estatura), pero no funcionan cuando dichos datos son

categóricos (como antibiótico o microorganimo) como es el caso de los antibiogramas donde los

datos son mixtos (los registros de la base de datos tienen componentes tanto numéricos como

Page 21: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

8 CAPÍTULO 1. INTRODUCCIÓN

categóricos).

El análisis de grupos es una de las principales tareas en la minería de datos, consiste en

agrupar las observaciones en clases, donde las observaciones que pertenecen a una clase son

similares, mientras que las clases son distintas entre sí, dicho agrupamiento se puede dividir en

tres problemas (i) definir una medida de similitud (o distancia) entre observaciones diferentes

(ii) implementar un algoritmo eficiente para descubrir los grupos de elementos más similares

de una manera no supervisada y (iii) derivar una descripción que pueda caracterizar los

elementos de un grupo de manera concisa.

Para el análisis exploratorio de los datos se debe encontrar una forma de visualizar las

relaciones entre ellos, por lo cual es necesario crear un modelo que nos permita representar

correctamente la densidad y distribución de los mismos.

1.3. Objetivos

1.3.1. General

Crear un software que use técnicas de aprendizaje automático no supervisado para identificar

los patrones de ocurrencia en los antibiogramas.

1.3.2. Específicos

Identificar los campos necesarios para llevar a cabo la investigación.

Crear una base de datos normalizada.

Encontrar una medida de distancia para los datos categóricos.

Page 22: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

1.4. JUSTIFICACIÓN 9

Implementar un algoritmo eficiente para agrupar las observaciones.

Generar un modelo de distribución y densidad a partir de los patrones de entrada.

Mostrar los resultados obtenidos para su análisis.

1.4. Justificación

El desarrollo de este software abonará al fortalecimiento de los sistemas de salud, con

metodologías y herramientas que permitan conocer el comportamiento de los microorganismos

dentro de las unidades hospitalarias.

Contar con un software para analizar automáticamente la información de los antibiogramas

que permitirá encontrar patrones que puedan ser útiles en el posterior análisis epidemiológico.

1.5. Alcance y limitaciones

1.5.1. Alcance

Se analizarán 3,373 antibiogramas realizados en el laboratorio de análisis clínico del

Hospital Juan María de Salvatierra de La Paz Baja California Sur, durante el periodo

comprendido entre los años 2012 a 2015 (correspondientes a 10,465 observaciones de 7

características).

1.5.2. Limitaciones

El sistema generará información de soporte para la toma de decisiones de casos

epidemiológicos, la interpretación final deberá realizarse por un experto en la rama.

Page 23: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

10 CAPÍTULO 1. INTRODUCCIÓN

Page 24: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Capítulo 2

Marco teórico

Cuando la escala de manipulación de datos, exploración e inferencia crece más allá de las

capacidades humanas, las personas recurren a la tecnología informática para automatizar su

análisis.

Aunque el problema de extraer el conocimiento de los datos (u observaciones) no es nuevo,

la automatización en el contexto de grandes bases de datos abre muchos problemas nuevos no

resueltos.

2.1. Descubrimiento de conocimiento en Bases de datos

Figura 2.1: Descripción general de los pasos que constituyen el proceso de KDD

11

Page 25: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

12 CAPÍTULO 2. MARCO TEÓRICO

El problema de la extracción de conocimientos de grandes bases de datos implica muchos

pasos, desde la manipulación, recuperación de datos hasta la inferencia matemática,

estadística, la búsqueda y el razonamiento.

El hardware actual y la tecnología de base de datos permiten un acceso y almacenamiento

de datos confiable, eficiente y económico. Sin embargo, ya sea que el contexto sea negocio,

medicina, ciencia o gobierno, los conjuntos de datos en sí (en forma cruda) tienen poco valor

directo. Lo que tiene valor es el conocimiento que se puede inferir de los datos y ponerlo en

uso.

Actualmente la capacidad para analizar y comprender conjuntos de datos masivos está

muy por detrás de nuestra habilidad para recopilar y almacenar datos.

El valor de almacenar volúmenes de datos depende de nuestra capacidad para extraer

informes útiles, detectar eventos y tendencias interesantes, apoyar decisiones y políticas

basadas en análisis estadísticos e inferencias, y explotar los datos para lograr objetivos

comerciales, operativos o científicos.

Se requieren nuevas generaciones de técnicas y herramientas computacionales para

respaldar la extracción de conocimientos utilizables de volúmenes de datos en rápido

crecimiento [7].

2.1.1. Selección

Se selecciona la información más importante, si esta se encuentra disponible solamente en

medios físicos debe de ser digitalizada, previo a iniciar las actividades de KDD

Page 26: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.1. DESCUBRIMIENTO DE CONOCIMIENTO EN BASES DE DATOS 13

En este paso es cuando reconocemos las fuentes de información más importantes y quienes

tienen control sobre ellas. También es relevante incluir todos los metadatos relacionados,

dimensionar la cantidad de datos, y formatos.

2.1.2. Preprocesamiento

Se integran los datos objetivo provenientes de fuentes múltiples y heterogéneas y se crea

una fuente homogénea para que los datos sean más fáciles de procesar y analizar.

2.1.3. Transformación

Esta etapa involucra los siguientes pasos:

Eliminación de ruido y datos aislados u outliers.

Uso del conocimiento previo para eliminar las inconsistencias y los duplicados.

Uso de estrategias para manejar la información faltante en los datasets.

2.1.4. Minado de datos

Es una de las partes más importantes en el proceso KDD e involucra la elección de la tarea

que se pretende realizar así como la selección y ejecución del algoritmo a utilizar para buscar

patrones de interés en una forma de representación particular o un conjunto de tales

representaciones.

Entre las tareas del minado de datos se encuentran:

Predictivas

Page 27: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

14 CAPÍTULO 2. MARCO TEÓRICO

• Clasificación

• Regresión

Descriptivas

• Agrupamiento

• Asociación

• Correlación

Existen gran variedad de algoritmos que se pueden utilizar para cada una de estas tareas

que resultan en un modelo de los datos originales.

2.1.5. Interpretación y evaluación

El modelo generado sirve para interpretar los resultados y mejorar la calidad de las decisiones

al diseñar intervenciones que maximicen la eficiencia (la correcta utilización de los recursos

disponibles) y la eficacia (que se cumplan los objetivos).

2.2. Aprendizaje automático

El aprendizaje automático es una rama de la inteligencia artificial, mediante la cual se

crean programas que mediante técnicas algorítmicas son capaces de generalizar

comportamientos a partir de información suministrada en forma de ejemplos entrenantes.

Se puede definir al aprendizaje como el proceso de utilizar la experiencia para adquirir

habilidad, los problemas basados en experiencia son tratados utilizando diversos paradigmas

de aprendizaje, dos de los más utilizados son los tipos: supervisado y el no supervisado.

Page 28: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.3. LA NEURONA ARTIFICIAL 15

2.2.1. Aprendizaje supervisado

En este tipo de aprendizaje el algoritmo es entrenado utilizando un conjunto de datos,

donde cada observación incluye la salida deseada o target, por lo que se dice que el conjunto

está etiquetado. El algoritmo generaliza la salida a partir del conjunto de datos para responder

correctamente a todas las posibles entradas[8].

2.2.2. Aprendizaje no supervisado

A diferencia del aprendizaje supervisado, en este caso, no se proporcionan las salidas deseadas

o target, en su lugar, el algoritmo intenta identificar semejanzas entre las entradas para que las

similares sean clasificadas juntas. El enfoque estadístico del aprendizaje no supervisado se conoce

como estimación de densidad[8].

2.3. La neurona artificial

En los seres vivos la neuronas biológicas son células especializadas del sistema nervioso, su

principal función es recibir, procesar y transmitir información, se caracterizan por poseer una

cantidad indefinida de canales de entrada llamados dendritas y un canal de salida llamado

axón (ver figura 2.2a). Las dendritas operan como sensores que recogen información de la

región donde se hallan y la derivan hacia el cuerpo de la neurona, que reacciona mediante una

sinapsis que envía una respuesta hacia el cerebro.

La neuroplasticidad es la forma como el cerebro adecúa su estructura a los cambios del

entorno, esto ocurre debido a que cuando las sinapsis son disparadas se refuerzan. La

contraparte de la neuroplasticidad es conocida como poda cerebral que ocurre cuando las

sinapsis no son utilizadas de forma repetida u ocurre de forma insuficiente.

Page 29: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

16 CAPÍTULO 2. MARCO TEÓRICO

Dendritas

Soma

Núcleo

Axón

AxónTerminal

(a)

x2 w2 Σ f

Activatefunction

y

Output

x1 w1

x3 w3

Weights

Biasb

(b)

Figura 2.2: (a) Partes de la neurona biológica. (b) Partes de la neurona artificial.

Neurona Biológica Neurona Artificial

Dendritas Vector de entradaSoma Sumatoria ponderadaAxón Función de activaciónAxón Terminal Salida

Tabla 2.1: Comparación entre la neurona biológica y la artificial

La neurona artificial (ver fig 2.2b) es un modelo matemático simplificado (2.1) de su

homónima biológica, que funciona como un discriminador lineal, las acciones llevadas a cabo

por esta última se corresponden como se puede observar en la tabla 2.1.

En este caso la neurona artificial recibe un patrón de entrada n-dimensional que se

multiplica por un vector de pesos sinápticos denominado w que representa la intensidad de la

conexión y por tanto tiene la misma dimensión que el patrón de entrada, opcionalmente se

añade a la suma un término bias denominado b (tendencia o sesgo) que le permite a la

neurona mover la frontera de decisión de la función de activación hacia la derecha o izquierda

y que también es ajustado con el paso del tiempo como una conexión extra a la neurona,

posteriormente se realiza una suma ponderada que es la entrada de la función de activación

que deforma la salida para que no sea completamente lineal y finalmente se obtiene la salida

de la neurona.

Page 30: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.3. LA NEURONA ARTIFICIAL 17

y = f

(b+

n∑i=1

(wi · xi)

)(2.1)

Los pesos sinápticos son adaptables (2.2) estos se van adecuando según los patrones de

entrada que actúan como estímulos, la función de activación define si la respuesta de la

neurona es excitatoria o inhibitoria y a partir de estas reglas genera un criterio para

seleccionar un subgrupo a partir de un grupo de componentes más grande.

wt+1 = wt + α(o− y) (2.2)

Donde t es la época actual, α es la tasa de aprendizaje (una constante real positiva) y o es

la salida deseada.

La principal desventaja de las neuronas artificiales como el perceptrón simple, es que no

pueden resolver problemas que no sean linealmente separables.

Page 31: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

18 CAPÍTULO 2. MARCO TEÓRICO

2.4. Redes Neuronales Artificiales

Una red neuronal se puede definir como un procesador masivamente paralelo y distribuido,

creado con unidades de procesamiento simple, que tienen una propensión natural para

almacenar el conocimiento adquirido mediante experiencia y ponerlo a disposición para su uso.

El conocimiento es adquirido por la red proveniente del entorno a partir de un proceso de

aprendizaje, donde las conexiones entre las neuronas conocidas como pesos sinápticos son

utilizadas para guardar el conocimiento adquirido. [9]

En la arquitectura de la red neuronal (ver fig 2.3), las neuronas se encuentran alineadas en

columnas llamadas capas. Existen tres tipos de capas, El primer tipo es denominado capa de

entrada que recibe los estímulos externos en forma de vectores de entrada denominados

patrones, la última capa es la capa de salida que puede tener una o más neuronas de salida y

las capas ocultas que se son las que se encuentran entre ellas.

Page 32: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.4. REDES NEURONALES ARTIFICIALES 19

Capa deentrada

Capaoculta

Capa desalida

x1

x2

x3

x4

x5

y

Figura 2.3: Arquitectura de una Red Neuronal Artificial

Para obtener la salida de la red neuronal se presenta un patrón de entrada y se propaga

por la red utilizando un mecanismo denominado forward propagation donde cada neurona

recibe como estímulos de entrada la salida resultante de los cálculos de la capa anterior y los

cálculos realizados por la capa actual son enviados a la siguiente capa hasta la capa de salida.

Una vez obtenida la salida de la red neuronal se realiza un proceso de aprendizaje donde se

busca minimizar el error de clasificación ajustando los pesos sinápticos de la red.

Page 33: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

20 CAPÍTULO 2. MARCO TEÓRICO

2.5. Mapas Auto-Organizados

2.5.1. Inspiración biológica de los mapas auto-organizados

Los mapas auto-organizados son un tipo de red neuronal artificial que está inspirada en la

forma que el cerebro procesa la información, específicamente en la formación de respuestas

localizadas por la retroalimentación lateral existente entre las sinapsis neuronales.

La representación simplificada de los datos con todas sus interrelaciones es uno de los

problemas centrales en las ciencias de la información. El cerebro humano posee la capacidad

para operar con grandes conjuntos de datos, creando representaciones simplificadas de hechos

relevantes sin que ello implique pérdida de información en los datos y sus relaciones. [10]

Se sabe que las diversas áreas del cerebro, especialmente de la corteza cerebral, están

organizadas de acuerdo a diferentes modalidades sensoriales (ver fig 2.4), también hay áreas

que realizan tareas especializadas, por ejemplo, control del habla y análisis de señales

sensoriales (visual, auditivo, somatosensorial, etc.).

El propósito del procesamiento inteligente de la información parece ser, en general, la

creación de imágenes simplificadas del mundo observable en varios niveles de abstracción, en

relación con un subconjunto particular de datos recibidos.

2.5.2. Los mapas auto-organizados como una red neuronal artificial

Son un tipo red neuronal monocapa que utiliza el aprendizaje competitivo no supervisado

que proyecta datos de una alta dimensionalidad en una cuadrícula de baja dimensionalidad

(típicamente de dos dimensiones) que visualmente revela el orden topológico de los datos

originales (ver fig 2.5).

Page 34: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.5. MAPAS AUTO-ORGANIZADOS 21

Lobulo frontalMotor, Creatividad,Reacciones Emocionales

Lobulo temporalOıdo, Musica, Entendi-mento del lenguaje,Memoria para eventosno verbales

Lobulo parietalOrientacion, PercepcionEspacial, Percepcion Vi-sual

Lobulo occipitalVision

Area de LenguajeArea de Lenguaje

JuicioAbstaccion

Habla

LecturaEscrituraNumeros

Figura 2.4: Relación de las regiones del córtex cerebral con las experiencias sensoriales.

......

x1

x2

xi−1

xi

Figura 2.5: Mapa Auto-Organizado representado por un grid hexagonal en la capa de salida.

Page 35: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

22 CAPÍTULO 2. MARCO TEÓRICO

En el proceso de auto-organización, apuntamos a mapeos que transforman un patrón de

señal de dimensionalidad arbitraria en una matriz de una o dos dimensiones, al obtener en las

neuronas de salida una disposición geométrica que representa un mapa topológico de las

características en los datos de entrada, de tal forma que si se presentan a la red patrones

similares, siempre serán afectadas neuronas de salidas próximas entre sí, en la misma zona del

mapa.

Cada neurona de la capa de salida tiene su propio vector de pesos sinápticos, que se adapta

mediante entrenamiento e implementa la auto-organización, utilizando una función de

vecindad (ver fig 2.6b), de esta forma se dice que el mapeo está ordenado si las relaciones

topológicas de los patrones y la imagen son similares.

Para implementar la auto-organización el SOM recibe dos parámetros de entrada, σ que es

el radio de vecindad inicial y α que representa la tasa de aprendizaje inicial, ambos

parámetros son decrementados mediante funciones monótonas decrecientes.

Page 36: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.5. MAPAS AUTO-ORGANIZADOS 23

(a) (b)

Figura 2.6: (a) Distancia topológica d(n5, n11) = 4.47, que es obtenida mediante la distanciaeuclidiana. (b) Radio de vecidad σ = 5 denotado por el círculo punteado (imágenes tomadasde [11]).

Page 37: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

24 CAPÍTULO 2. MARCO TEÓRICO

Algorithm 1 Algoritmo de entrenamiento de Mapa auto-organizadoRequire: D, σ0, α0

Ensure: Mapa topológico con pesos adaptados

1: Hacer un mapa de neuronas con vectores de pesos aleatorios

2: for s← 1 to λ do

3: for t← 1 to size(D) do

4: u ← bmu(neurons,D(t))

5: for v ← 1 to size(neurons) do

6: d ← distance(neuronu, neuronv)

7: if d ≤ σt then

8: Wv(s+ 1) = Wv(s) + Θ(d, σs)αs(D(t)−Wv)

9: end if

10: end for

11: end for

12: σs ← radiusDecayFunction(σ0, s, λ)

13: αs ← learningRateDecayFunction(α0, s, λ)

14: end for

Donde s es la iteración actual, λ es la cantidad total de iteraciones, D(t) es un vector de

entrada de índice t del conjunto de datos de entrada D, v es el índice de una neurona en el

mapa, u es el índice del BMU en el mapa, Wv es el vector de pesos de la neurona v, d es la

distancia de la neuronau a la neuronav, σs es el radio de vecindad en la iteración s, αs es un

restrictor de aprendizaje debido al progreso de las iteraciones y Θ(d, σs) es la función de

vecindad.

Cuando los vectores de entrada contienen datos mixtos (es decir categóricos y numéricos),

el cómputo de la función de distancia que se hace entre el vector de entrada y las neuronas se

hace por medio de una definición de distancia numérica (como la distancia euclidiana), como

Page 38: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.6. MAPAS AUTO-ORGANIZADOS GENERALIZADOS 25

esto no es aplicable para los datos cualitativos el SOM falla en preservar correctamente la

topología de los datos originales [2].

2.6. Mapas Auto-Organizados Generalizados

Al utilizar datos categóricos SOM falla en preservar correctamente la topología de los

datos originales, por lo que en 2006 un nuevo algoritmo GSOM [2] utiliza una nueva métrica

de distancia llamada distancia jerárquica, compuesta por árboles de jerarquías donde las

aristas contienen un valor o peso y los nodos representan conceptos ordenados de lo más

general en la raíz, hasta los más particulares en los nodos hojas.

Estas estructuras jerárquicas permiten manejar los distintos tipos de datos: categóricos,

numéricos e incluso codificación binaria para coincidencias simples de forma unificada.

Utilizando la distancia jerárquica es posible preservar la topología original de los datos,

cuando las variables son cualitativas pero también cuando son cuantitativos haciendo posible

representarlos correctamente en un mapa auto-organizado [2].

El uso de la distancia jerárquica para calcular la similaridad entre las observaciones agrega

mayor carga de procesamiento computacional, debido a que en la versión original del algoritmo

SOM el cálculo de la distancia se realiza mediante operaciones aritméticas, mientras que por

otro lado, la distancia jerárquica agrega operaciones de búsqueda y selección sobre estructuras

dinámicas tipo árbol.

Page 39: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

26 CAPÍTULO 2. MARCO TEÓRICO

2.7. Distancia Jerárquica

Cada punto está compuesto por un ancla (un nodo hoja) y una ganancia (un valor real que

representa la distancia desde el punto a la raíz) por ejemplo los puntos S = (S. aureus, 0.3),

M = (S. hemolyticus, 0.3), T = (S. hemolyticus, 1.3) y X = (S. aureus, 2),

Bacteria

Firmicutes

S. aureusX

1

S. hemolyticus

1

T

SM

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(a)

Servicio

G/O.

0.5

Pediatría

0.5

Med. Interna

0.5

Cirugía

0.5

(b)

MIN

MAX

MX w

(c)

Figura 2.7: Overall caption

El mapeo consiste en convertir un patrón de entrada en un vector de puntos en la distancia

jerárquica, por ejemplo: dado el patrón de entrada “S.aureus, 7” y teniendo los árboles de

jerarquías mostrados en la Fig2.7(a) y Fig2.7(c) darán como resultado un vector de puntos

llamado mapa: m = [(S.aureus, 2), (MAX, 7)], estos sustituyen los patrones de entrada y los

pesos de las neuronas del algoritmo de SOM original.

La distancia entre dos mapas x e y es calculada utilizando la siguiente fórmula:

d (x, y) =

(n∑

i=1

wi |dhi(xi)− dhi(yi)|L)1/L

(2.3)

Donde L es una constante entera, cuando es establecida en 1, la distancia resultante es

similar a la distancia Manahatan, cuando L ≥ 2 la distancia es similar a la distancia

Euclidiana [2]

Page 40: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.7. DISTANCIA JERÁRQUICA 27

De esta forma cada componente del patrón de entrada es mapeado y asociado a un árbol

de distancia jerárquica dh correspondiente.

En la implementación se crean tres operaciones polimórficas para delegar la

responsabilidad de mapear, calcular la distancia y ajustar los pesos a sus respectivas

estructuras.

2.7.1. Distancia Jerárquica Categórica

Para poder operar con la distancia jerárquica del tipo categórico se deben de establecer

algunos axiomas:

Dos puntos en distancia jerárquica son equivalentes si se encuentran en la misma posición

aunque no tengan la misma ancla, por ejemplo, en la figura 2.7a los puntos M y S son

equivalentes.

Un nodo X es ancestro de otro Y si X se encuentra en el camino de Y a la raíz.

El ancestro menos común de dos nodos X e Y denotado como LCA(X,Y ) por las siglas

en inglés de Least Common Ancester es el nodo del árbol más profundo que es ancestro

de X e Y.

LCA(X,Y ) = Nodo más profundo ancestro de X e Y (2.4)

El punto menos común de dos nodos X e Y denotado como LCP (X,Y ) por las siglas en

Page 41: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

28 CAPÍTULO 2. MARCO TEÓRICO

inglés de Least Common Point se define según las siguientes condiciones:

LCP (X,Y ) =

X o Y, si X ≡ Y

Y, si Y es ancestro de X

X, si X es ancestro de Y

LCA(X,Y ), de otro modo

(2.5)

La distancia entre dos puntos es calculada de acuerdo a (2.6):

|X − Y | = dx + dy − 2LCP (X,Y ) (2.6)

Por ejemplo en la figura 2.7a sean los puntos:

M = (S. aureus, 0.3)

S = (S. hemolyticus, 0.3)

T = (S. hemolyticus, 1.3)

X = (S. aureus, 2.0)

La distancia entre los puntos M y S es cero ya que son equivalentes.

La distancia entre los puntos T y M es (1.3 + 0.3− 2 ∗ 0.3) = 1.

La distancia entre los puntos X y T es (2.0 + 1.3 − 2 ∗ 1.0) = 1.3, ya que el LCP (X,T )

es Firmicutes que tiene una distancia de 1.

2.7.2. Distancia Jerárquica Simple

Este tipo de distancia jerárquica (ver fig 2.7b) opera de forma similar a la homónima

categórica, pero difiere en dos aspectos: no necesita la operación Least Common Point y el

Page 42: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.7. DISTANCIA JERÁRQUICA 29

calculo de la distancia es 1 si tienen las misma ancla y 0 en caso contrario.

2.7.3. Distancia Jerárquica Numérica

En esta distancia el mapeo del patrón siempre retorna un punto donde el ancla siempre es

MAX y el valor del offset es la distancia de X a la raíz MIN (ver fig 2.7c) entonces la

distancia entre dos puntos es calculada restando los dos valores de offset.

2.7.4. Fase de ajuste

Dado un valor real δ de ajuste, un punto A es ajustado utilizando como ancla otro punto

B situado en algún nodo hoja del árbol de distancia jerárquica categórica, se selecciona un

caso según la localización del punto A respecto al punto N , el ancestro menos común de los

puntos A y B según el caso que corresponda:

Primer caso de ajuste de la distancia jerárquica categórica

Si M es ancestro de N y M no cruza el punto N después del ajuste entonces dM = dM + δ

Bacteria

Firmicutes

S. aureus

X

1

S. hemolyticus

1

M

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(a)

Bacteria

Firmicutes

S. aureus

X

1

S. hemolyticus

1

M

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(b)

Figura 2.8: Primer caso de ajuste

Page 43: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

30 CAPÍTULO 2. MARCO TEÓRICO

Ejemplo: Si δ = 0.2, M = [S.hemolyticus, 0.3], X = [S.aureus, 2.0] ∴ N = LCA(M,X) =

[Firmicutes, 1] y se verifican las dos condiciones 1) M es ancestro de N y 2) M no cruza N

despues del ajuste ya que (dM + δ) < dN = 0.5 < 1.0 quedando M = [S.hemolyticus, 0.5]

después del ajuste.

Segundo caso de ajuste de la distancia jerárquica categórica

Si M es ancestro de N y M cruza N después del ajuste entonces anchorM = anchorX y

dM = dM + δ

Bacteria

Firmicutes

S. aureus

X

1

S. hemolyticus

1

M

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(a)

Bacteria

Firmicutes

S. aureus

M

X

1

S. hemolyticus

1

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(b)

Figura 2.9: Segundo caso de ajuste

Ejemplo: Si δ = 0.9, M = [S.hemolyticus, 0.3], X = [S.aureus, 2.0] ∴ N = LCA(M,X) =

[Firmicutes, 1] y se verifican las dos condiciones 1) M es ancestro de N y 2) M si cruza N

después del ajuste ya que (dM + δ) > dN = 1.2 > 1.0, por lo tanto cambia el ancla de M por la

de X quedando M = [S.aureus, 1.2] después del ajuste.

Tercer caso de ajuste de la distancia jerárquica categórica

Si N es ancestro de M y cruza N después del ajuste entonces dM = dM − δ

Page 44: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

2.7. DISTANCIA JERÁRQUICA 31

Bacteria

Firmicutes

S. aureus

X

1

S. hemolyticus

1

T

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(a)

Bacteria

Firmicutes

S. aureus

X

1

S. hemolyticus

1

T

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(b)

Figura 2.10: Tercer caso de ajuste

Ejemplo: Si δ = 0.2, T = [S.hemolyticus, 1.3], X = [S.aureus, 2.0] ∴ N = LCA(M,T ) =

[Firmicutes, 1] y se verifican las dos condiciones 1) N es ancestro de T y 2) T no cruza N

despues del ajuste ya que (dT − δ) > dN = 1.1 > 1.0 por lo tanto T = [S.hemolyticus, 1.1]

despues del ajuste.

Cuarto caso de ajuste de la distancia jerárquica categórica

Si N es ancestro de M y cruza N después del ajuste entonces anchorM = anchorX y

dM = 2dNLCA− dM + δ

Bacteria

Firmicutes

S. aureus

X

1

S. hemolyticus

1

T

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(a)

Bacteria

Firmicutes

S. aureus

XT

1

S. hemolyticus

1

1

Proteobacteria

E. coli

1

K. pneomoniae

1

1

(b)

Figura 2.11: Tercer caso de ajuste

Ejemplo: Si δ = 0.9, T = [S.hemolyticus, 1.3], X = [S.aureus, 2.0] ∴ N = LCA(M,T ) =

[Firmicutes, 1] y se verifican las dos condiciones 1) N es ancestro de T y 2) T si cruza N después

Page 45: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

32 CAPÍTULO 2. MARCO TEÓRICO

del ajuste ya que (dT − δ) < dN = 0.3 < 1.0 por lo tanto T es ajustado utilizando 2dNLCA−dT+δ

quedando T = [S.aureus, 1.6] después del ajuste.

Page 46: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Capítulo 3

Metodología

La solución se desarrollo utilizando análisis y diseño orientado a objetos, un paradigma

de programación ampliamente utilizado por su habilidad de adaptación a los cambios en los

requerimientos de software, por este motivo se seleccionó C++, un lenguaje multiparadigma de

nivel intermedio en la codifación de la solución.

Se utilizó el marco de desarrollo Qt para realizar la conexión al Sistema Gestor de Base de

Datos (SGBD) del sistema, misma que se implemento utilizando MariaDB.

3.1. Creación de una base de datos

Con la finalidad de crear una fuente homogénea para procesar y analizar los antibiogramas,

se diseño y creó una base de datos relacional utilizando el sistema gestor de base de datos

MariaDB, se sometió al proceso de normalización para evitar la redundancia en los datos y se

capturaron 3,373 cultivos de laboratorio a los cuales se les realizó la prueba de antibiograma.

33

Page 47: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

34 CAPÍTULO 3. METODOLOGÍA

3.2. Arquitectura del software

3.2.1. La clase nodo

La clase nodo representa un vertice en los grafos de tipo árbol de los distintos tipos de

distancias jerárquicas, su modelo es representado mediante una clase contenedora

autorreferenciada, llamada así por que mantiene una referencia a un miembro de datos de su

mismo tipo, en este caso la clase nodo mantiene una referencia al nodo padre (ver fig. 3.1) y a

la vez tiene un vector de referencias a sus nodos hijos. A diferencia de los árboles binarios cuyo

factor de ramificación es dos, en este caso particular dicho factor es arbitrario.

Node

- id- level- children

+ Node()+ ~Node()+ isLeaf()+ getId()+ getLevel()+ getParent()+ getChildren()+ setId()+ toQString()

-parent

Figura 3.1: Diagrama de la clase nodo

Una vez creados los árboles jerárquicos los nodos son estáticos y no se modifican durante la

ejecución del programa.

Page 48: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

3.2. ARQUITECTURA DEL SOFTWARE 35

3.2.2. La clase punto

La clase point representa un punto en la distancia jerárquica, por lo tanto está compuesto

por una referncia al nodo ancla (ver fig.3.2) denominado anchor y la distancia del punto a la

raíz denotado por un valor real llamado offset.

Point

- offset

+ Point()+ Point()+ Point()+ toQString()+ getAnchor()+ getOffset()+ setAnchor()+ setOffset()+ ~Point()

Node

- id- level- children

+ Node()+ ~Node()+ isLeaf()+ getId()+ getLevel()+ getParent()+ getChildren()+ setId()+ toQString()

-anchor

-parent

Figura 3.2: Diagrama de la clase Punto

Page 49: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

36 CAPÍTULO 3. METODOLOGÍA

Los puntos son creados de forma aleatoria (tanto su ancla como el offset) y se van

ajustando sus valores en tiempo de ejecución, la cantidad de puntos creados es el resultado de

multiplicar el número de neuronas creadas por el número de árboles jerárquicos.

3.2.3. La clase distancia jerárquica

La clase DistanceHierarchy es una clase abstracta (ver fig. 3.3a) es decir, una clase que no

puede ser instanciada, su principal función es proveer una interfaz que heredan las clases hijas,

pero que debe de implementar cada una de forma distinta para permitir utilizar los

mecanismos polimórficos. Las clases Numerical y Simple heredan esta interfaz y a su vez,

Categorical es una especialización de la clase simple que también la hereda (ver fig. 3.3b).

Existen cuatro funciones implementadas de forma polimórfica: getRandomPoint, distance,

map y adjust que son utilizadas durante el entrenamiento del GSOM y permiten utilizar la

misma llamada a la función, pero implementarla según sea el tipo de árbol de distancia

jerárquica.

Page 50: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

3.2. ARQUITECTURA DEL SOFTWARE 37

DistanceHierarchy

# leaves- min- max

+ DistanceHierarchy()+ ~DistanceHierarchy()+ distance()+ map()+ adjust()+ getRandomPoint()+ findNode()+ makeLeavesVector()+ findLeaf()+ getMin()+ getMax()+ getRoot()- trim()

Node

- id- level- children

+ Node()+ ~Node()+ isLeaf()+ getId()+ getLevel()+ getParent()+ getChildren()+ setId()+ toQString()

-root

-parent

(a)

DistanceHierarchy

# leaves- root- min- max

+ DistanceHierarchy()+ ~DistanceHierarchy()+ distance()+ map()+ adjust()+ getRandomPoint()+ findNode()+ makeLeavesVector()+ findLeaf()+ getMin()+ getMax()+ getRoot()- trim()

Numerical

+ Numerical()+ ~Numerical()+ distance()+ map()+ adjust()+ getRandomPoint()

Simple

+ Simple()+ ~Simple()+ distance()+ map()+ LCA()+ isEquivalent()+ isAncestor()+ adjust()+ getRandomPoint()

Categorical

+ Categorical()+ ~Categorical()+ LCP()+ distance()+ map()+ getRandomPoint()

(b)

Figura 3.3: (a) La clase Distancia Jerárquica, tiene un nodos especial llamado raíz. (b) Jerarquíade clase Distancia Jerárquica.

3.2.4. La clase neurona

Típicamente los mapas auto-organizados son representados utilizando una malla

bidimensional donde cada vértice corresponde a una neurona, por lo tanto cada neurona tiene

Page 51: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

38 CAPÍTULO 3. METODOLOGÍA

una posición (x, y) en el plano que nos ayuda a identificarla.

A diferencia de un SOM el GSOM no tiene un vector de pesos asociado a un valor

numérico, en su lugar tiene un vector de puntos de distancia jerárquica asociado al árbol

correspondiente al que llamamos map.

Neuron

- x- y- map

+ Neuron()+ Neuron()+ ~Neuron()+ getX()+ getY()+ getMap()+ setMap()+ toQString()

Figura 3.4: La clase neurona

3.2.5. La clase GSOM

El funcionamiento del GSOM es muy similar al de un SOM normal, la principal diferencia

es que no depende de la relación numérica de la distancia entre dos vectores, en su lugar

generaliza este concepto al incluir distancias jerárquicas, binarias y numéricas para preservar

las propiedades topológicas del conjunto original, para lograrlo añade un vector de distancias

jerárquicas llamado dh (por las siglas de Distance Hierarchy) que se corresponde con la

dimensión del espacio de entrada, también se utilizó una función de normalización para

Page 52: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

3.2. ARQUITECTURA DEL SOFTWARE 39

retornar los valores de distancia en el intervalo [0, 1], la funcion de vecindad elegida fue

gaussiana, el radio inicial es la diagonal de la matriz de neuronas y un valor de 0.9 para la tasa

de aprendizaje.

Page 53: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

40 CAPÍTULO 3. METODOLOGÍA

GSOM

+ neurons- dh- sigma_zero- eta_zero- t_max- t- width- height- normalized- w

+ GSOM()+ ~GSOM()+ GSOM()+ GSOM()+ getTMAX()+ setT()+ setTMAX()+ setSigmaZero()+ setEtaZero()+ setNormalization()+ setAttributesWeights()+ map()+ distance()+ isNeighbor()+ findBMU()+ getNeurons()+ distance()+ updateNeuron()+ step()+ initialize()+ train()+ displayDistanceMatrix()+ neigboursDistanceMatrix()- eta()- sigma()- h()

Figura 3.5: La clase GSOM

Page 54: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Capítulo 4

Pruebas y resultados

4.1. Pruebas

Las pruebas se realizaron en una Laptop DELL Inspiron 5559 con 8GB de memoria RAM

con sistema operativo Arch Linux x86_64 Kernel: 5.0.0-arch1-1-ARCH

Se creó un mapa auto-organizado generalizado de 10 filas por 10 columnas que se entrenó

durante 100 épocas con 608 patrones de pares microorganismo-antibiótico sin duplicados, se

utilizó una tasa de aprendizaje inicial de 0.9, la función de vecindad utilizada fue gaussiana

con un radio inicial de 15.

Se crearon dos árboles jerárquicos del tipo categórico uno de microorganismos con un tamaño

de profundidad de 7 y una anchura de 46 y otro árbol para los antbióticos con una profundidadad

de 3 y un ancho de 48.

4.2. Resultados

El tiempo de entrenamiento y ejecución fue de 47.18 segundos, los resultados se muestran en

41

Page 55: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

42 CAPÍTULO 4. PRUEBAS Y RESULTADOS

la figura 4.1, utilizando una representación conocida como Hit map, donde los números dentro

de las casillas representan el número de patrones coincidentes con la neurona en la posición x, y

y el color es asignado de acuerdo a dicho número.

-2

0

2

4

6

8

10

-2 0 2 4 6 8 10

7 2 20 13 31 3 6 17

4 9 9 7 11

14 10 2 20 4 18

12 9 11 7

16 11 9 19 14

14 12 13 8 11

21 10 17 12 11

11 6 7 8

3 12 1 6 16 11 23

12 16 2 12 7 9 2

Figura 4.1: Hit Map de GSOM

Para verificar la preservación topológica de los datos veremos en detalle el grupo formado

por las neuronas (6, 0), (7, 0), (8, 0), (9, 0), (7, 1) y (8, 1).

La neurona (6, 0) tiene 31 coincidencias y su vector prototipo es:

{ Acinetobacter iwoffii, 6.00452 }, { Levofloxacina, 2.00839 }

La neurona (7, 0) tiene 3 coincidencias y su vector prototipo es:

{ Acinetobacter iwoffii, 6.00498 }, { Levofloxacina, 0.768032 }

La neurona (8, 0) tiene 6 coincidencias y su vector prototipo es:

{ Acinetobacter haemolyticus, 6.01374 }, { Ampicilina, 1.05609 }

La neurona (9, 0) tiene 17 coincidencias y su vector prototipo es:

{ Acinetobacter haemolyticus, 6.00209 }, { Ampicilina, 1.99333 }

Page 56: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

4.2. RESULTADOS 43

La neurona (7, 1) tiene 7 coincidencias y su vector prototipo es:

{ Acinetobacter baumannii, 6.02939 }, { Cefotaxima, 2.00268 }

La neurona (8, 1) tiene 11 coincidencias y su vector prototipo es:

{ Acinetobacter baumannii, 6.00723 }, { Cefotaxima, 1.99926 }

Estas seis neuronas agrupan 75 de las 608 observaciones, todas estas corresponden a

microorganismos del género Acinetobacter en contraposición por ejemplo con la neurona (0, 6)

en donde las 21 observaciones corresponden al género de los Enterococos.

En el caso de las neuronas (7, 0) y (8, 0) las observaciones coincidentes son las siguientes:

Neurona(7, 0):

1. Acinetobacter baumannii, Moxifloxacino

2. Acinetobacter calcoaceticus, Moxifloxacino

3. Acinetobacter haemolyticus, Moxifloxacino

Neurona(8, 0):

1. Acinetobacter baumannii, Imipenem y Cilastatina

2. Acinetobacter baumannii, Meropenem

3. Acinetobacter calcoaceticus, Imipenem y Cilastatina

4. Acinetobacter haemolyticus, Meropenem

5. Acinetobacter iwoffii, Imipenem y Cilastatina

6. Acinetobacter iwoffii, Meropenem

En estos casos Moxifloxacino pertenece al subgrupo de los Monobactamicos mientras que

Imipenem y Cilastatina y Meropenem pertenecen al subgrupo de las Quinolonas.

Page 57: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

44 CAPÍTULO 4. PRUEBAS Y RESULTADOS

Page 58: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Capítulo 5

Conclusiones y Trabajo futuro

5.1. Conclusiones

Con la metodología utilizada es posible agregar campos en los patrones de entrada,

siempre y cuando se cree su respectivo árbol de distancia jerárquica según sea el caso que

corresponda: categórico, numérico o simple.

La distancia jerárquica es una opción viable para tratar con bases de datos que contienen

datos mixtos

El remplazo en la métrica de la distancia numérica del SOM por una distancia

generalizada resulta en el algoritmo llamado GSOM que permite agrupar datos mixtos.

Como resultado de la ejecución del GSOM, se obtiene un modelo de los datos que son

representados en un mapa que preserva las propiedades topológicas de los datos originales, de

tal forma que agrupa las observaciones por la similaridad que existe entre ellas al extraeyendo

los patrones de similiaridad a partir de los datos subministrados en forma de ejemplos

entrenantes.

45

Page 59: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

46 CAPÍTULO 5. CONCLUSIONES Y TRABAJO FUTURO

Para poder visualizar el resultado del sistema se optó por utilizar un Hit-Map y una tabla

con los resultado coincidentes en cada neurona así como el vector de pesos asociado al patron

de la neurona.

En las pruebas realizadas la implementación preserva correctamente la topología de los

datos aún cuando se incluyen campos categóricos.

La metodología empleada es dinámica ya que permite incluir más campos en los vectores

de entrada para el análisis posterior al entrenamiento del GSOM.

El parámetro w en (2.3) permite asignar una prioridad a los campos de entrada

permitendo asignar un mayor peso a un determinado campo, esto puede ser útil al

investigador al dar mayor importancia a alguna relación determinada.

5.2. Trabajo futuro

En el presente trabajo se utilizaron 608 patrones correspondientes a los campos categóricos

de Microorganismos y Antibióticos, para probar la implementación de los algoritmos con la

distancia jerárquica, sin embargo, la base de datos está compuesta por 10,465 observaciones

donde cada vector está compuesto por los campos de Fecha, Género, Servicio, Cultivo,

Microorganismo, Antibiótico y Susceptibilidad por lo que se implementará una solución que

incluya dichos campos.

Se está trabajando en una interfaz gráfica de usuario para poder variar los parámetros de

entrenamiento y mostrar los resultados de forma que proporcionen mayor información y

Page 60: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

significancia.

Los mapas auto-organizados también pueden ser representados utilizando “matrices U”

(matrices de distancia unificada), que son creadas utilizando la distancia promedio entre la

neurona y sus vecinos más cercanos.

Page 61: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

48 CAPÍTULO 5. CONCLUSIONES Y TRABAJO FUTURO

Page 62: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Bibliografía

[1] T. Kohonen, “Self-organized formation of topologically correct feature maps,” Biological

Cybernetics, vol. 43, no. 1, pp. 59–69, 1982.

[2] C.-C. Hsu, “Generalizing Self-Organizing Map for Categorical Data,” IEEE Transactions

on Neural Networks, vol. 17, pp. 294–304, mar 2006.

[3] L. Gordis, Epidemiología. Barselona, España: Elsevier, 5 ed., 2015.

[4] D. O. de la Federación, “Norma oficial mexicana nom-017-ssa2-2012, para la vigilancia

epidemiológica,” México: Diario Oficial de la Federación, 2013.

[5] D. O. de la Federación, “Norma oficial mexicana nom-045-ssa2-2005, para la vigilancia

epidemiológica, prevención y control de las infecciones nosocomiales [actualizado 20 nov

2009; consultado 01 mar 2013],” México: Diario Oficial de la Federación, 2013.

[6] T. Oommen, D. Misra, N. K. C. Twarakavi, A. Prakash, B. Sahoo, and S. Bandopadhyay,

“An Objective Analysis of Support Vector Machine Based Classification for Remote

Sensing,” Mathematical Geosciences, vol. 40, pp. 409–424, may 2008.

[7] U. Fayyad, G. Piatetsky-Shapiro, and P. Smyth, “The KDD process for extracting useful

knowledge from volumes of data,” Communications of the ACM, vol. 39, no. 11, pp. 27–34,

1996.

[8] S. Marsland, MACHINE LEARNING An Algorithmic Perspective Second Edition. 2015.

49

Page 63: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

50 BIBLIOGRAFÍA

[9] S. Haykin, Neural networks: a comprehensive foundation by Simon Haykin, Macmillan,

1994, ISBN 0-02-352781-7., vol. 13. 1999.

[10] T. Kohonen, Self-Organization and Associative Memory, vol. 8. 1988.

[11] C. Brauer, “An Introduction to Self-Organizing Maps,” Proseminar Artificial Intelligence,

no. 6280610, 2012.

Page 64: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Glosario de términos

A

antibiograma Prueba microbiológica para saber la susceptibilidad de un microorganimo a los

antibióticos plural. 1, 2

D

dataset Conjunto de datos que corresponde a los contenidos de una tabla de base de datos o

una única matriz de datos, donde cada columna de la tabla representa una variable en

particular, y cada fila representa a un miembro determinado del conjunto de datos en

cuestión. plural. 13

F

farmacorresistencia Resistencia de los microorganismos a la acción antibiótica de los

medicamentos plural. 2

M

MariaDB Sistema de Gestión de Bases de Datos derivado de MySQL con licencia GPL

(General Public License).. 33

O

51

Page 65: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

52 Glosario de términos

outlier Un valor más extremo (outlier) es un valor en un conjunto de datos que es muy diferente

de los otros valores plural. 13

P

patógeno que puedan producir enfermedades o dañar al paciente plural. 1

Page 66: IDENTIFICACIÓN DE PATRONES EN ANTIBIOGRAMAS MEDIANTE ...posgrado.lapaz.tecnm.mx/uploads/archivos/González... · instituto tecnolÓgico de la paz divisiÓn de estudios de posgrado

Siglas

I

IAAS Infecciones Asociadas a la Atención de la Salud. 2

INSP Instituto Nacional de Salud Pública. 6

K

KDD Knowledge Discovery in Databases. 2, 3, 12, 13

S

SGBD Sistema Gestor de Base de Datos. 1, 33

SOM Self Organizing Map. 3, 22, 25, 26

53