Logo Studenta

Identificação de Padrões em Antibióticos

¡Este material tiene más páginas!

Vista previa del material en texto

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.
Dedicatoria
No importa cuales sean nuestros logros alguien nos ayudó a llegar allí y no puedo
agradecer lo suficiente a todas las personas que han creído en mí, en primer lugar mis padres y
hermanos que han estado allí desde el principio motivándome a dar lo mejor de mí con sus
vidas ejemplares.
A mi esposa, la persona que me sigue eligiendo todos los días para pasar el resto de sus
dí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 mi
todos los días, con tu amor das tanto que todos los sacrificios valen la pena para hacerte feliz.
iv
Agradecimientos
Se agradece al Tecnológico Nacional de México, a la División de Estudios de Posgrado e
Investigación del Instituto Tecnológico de La Paz y al Consejo Nacional de Ciencia y
Tecnología (CONACyT), por el apoyo recibido y las facilidades otorgadas para el desarrollo de
este trabajo.
Se agradece al comité tutorial por todas sus valiosas observaciones y aportaciones para que
este trabajo fuera posible.
Se agradece al Benemérito Hospital General con Especialidades Juan María de Salvatierra
que 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 antibiogramas
hospitalarios.
Se agradece a la Unidad de Vigilancia Epidemiológica Hospitalaria y al Laboratorio de
Análisis Clínicos del Hospital Salvatierra por haber fomentado en mí la investigación en salud
y la conciencia sobre la importancia de la farmacorresistencia.
v
Resumen
Se detalla la creación de una solución informática para facilitar la descripción y
visualización de los patrones subyacentes en los datos mixtos multidimensionales de los
antibiogramas.
El enfoque de desarrollo utilizado es conocido como descubrimiento de conocimiento en
bases de datos, cuyo objetivo es identificar patrones válidos y novedosos a partir de datos
existentes, mismos que son suministrados en forma de ejemplos entrenantes al algoritmo de
mapa auto-organizado generalizado, utilizado durante la etapa de minado de datos para
obtener un modelo que mapea datos de alta dimensión en una malla bidimensional que
preserva las propiedades topológicas de los datos originales.
vi
Abstract
The creation of a computer solution to facilitate the description and visualization of the
underlying patterns in the multidimensional mixed data of the antibiograms is detailed.
The development approach used is known as knowledge discovery in databases, whose
objective is to identify valid and novel patterns from existing data, which are supplied in the
form of training examples to the generalized self-organized map algorithm, used during the
data mining stage to obtain a model that maps high-dimensional data in a two-dimensional
grid that preserves the topological properties of the original data.
vii
Índice general
1. Introducción 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1. Epidemiología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1. General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2. Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5. Alcance y limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2. Marco teórico 11
2.1. Descubrimiento de conocimiento en Bases de datos . . . . . . . . . . . . . . . . 11
2.1.1. Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3. Transformación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4. Minado de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.5. Interpretación y evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2. Aprendizaje automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1. Aprendizaje supervisado . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.2. Aprendizaje no supervisado . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. La neurona artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4. Redes Neuronales Artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5. Mapas Auto-Organizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.1. Inspiración biológica de los mapas auto-organizados . . . . . . . . . . . . 20
2.5.2. Los mapas auto-organizados como una red neuronal artificial . . . . . . . 20
2.6. Mapas Auto-Organizados Generalizados . . . . . . . . . . . . . . . . . . . . . . 25
2.7. Distancia Jerárquica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7.1. Distancia Jerárquica Categórica . . . . . . . . . . . . . . . . . . . . . . . 27
2.7.2. Distancia Jerárquica Simple . . . . . . . . . . . . . . . . . . . . . . . . . 28
ix
2.7.3. Distancia Jerárquica Numérica . . . . . . . . . . . . . . . . . . . . . . . 29
2.7.4. Fase de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3. Metodología 33
3.1. Creación de una base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2. Arquitectura del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.1. La clase nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.2. La clase punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.3. La clase distancia jerárquica . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.4. La clase neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.5. La clase GSOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4. Pruebas y resultados 41
4.1. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5. Conclusiones y Trabajo futuro 45
5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Bibliografía 49
Glosario de términos 51
Siglas 53
Índice de figuras
1.1. Triada epidemilógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. El proceso de KDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Neurona biológica vs artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Red Neuronal Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4. Córtex cerebral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5. Mapa Auto-Organizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6. Parámetros delos Mapas Auto-Organizados . . . . . . . . . . . . . . . . . . . . 23
2.7. Overall caption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8. Primer caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9. Segundo caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.10. Tercer caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.11. Tercer caso de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1. Clase nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2. Diagrama de la clase Punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3. Nodo raíz y Jerarquía de distancia . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4. Clase neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5. La clase GSOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1. Hit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
xi
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
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
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
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].
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 laFederación en las
normas: “Para la Vigilancia Epidemiológica”[4] y “Prevención y Control de las Infecciones
Nosocomiales”[5].
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.
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
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.
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.
10 CAPÍTULO 1. INTRODUCCIÓN
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
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
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 utilizarpara 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
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.
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.
16 CAPÍTULO 2. MARCO TEÓRICO
Dendritas
Soma
Núcleo
Axón
Axón
Terminal
(a)
x2 w2 Σ f
Activate
function
y
Output
x1 w1
x3 w3
Weights
Bias
b
(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 entrada
Soma Sumatoria ponderada
Axón Función de activación
Axó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.
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.
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.
2.4. REDES NEURONALES ARTIFICIALES 19
Capa de
entrada
Capa
oculta
Capa de
salida
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.
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 mundoobservable 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).
2.5. MAPAS AUTO-ORGANIZADOS 21
Lóbulo frontal
Motor, Creatividad,
Reacciones Emocionales
Lóbulo temporal
Oı́do, Música, Entendi-
mento del lenguaje,
Memoria para eventos
no verbales
Lóbulo parietal
Orientación, Percepción
Espacial, Percepción Vi-
sual
Lóbulo occipital
Visión
Área de LenguajeÁrea de Lenguaje
Juicio
Abstacción
Habla
Lectura
Escritura
Números
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.
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.
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 distancia
euclidiana. (b) Radio de vecidad σ = 5 denotado por el círculo punteado (imágenes tomadas
de [11]).
24 CAPÍTULO 2. MARCO TEÓRICO
Algorithm 1 Algoritmo de entrenamiento de Mapa auto-organizado
Require: 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
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.
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. aureus
X
1
S. hemolyticus
1
T
S
M
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
M
X 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]
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
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
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
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 − δ
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
X
T
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
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.
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
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.
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
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.
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ía
de 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
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
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.
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
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
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 }
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.
44 CAPÍTULO 4. PRUEBAS Y RESULTADOS
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
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ónde 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
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.
48 CAPÍTULO 5. CONCLUSIONES Y TRABAJO FUTURO
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
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.
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
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
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
	Introducción
	Antecedentes
	Epidemiología
	Planteamiento del problema
	Objetivos
	General
	Específicos
	Justificación
	Alcance y limitaciones
	Alcance
	Limitaciones
	Marco teórico
	Descubrimiento de conocimiento en Bases de datos
	Selección
	Preprocesamiento
	Transformación
	Minado de datos
	Interpretación y evaluación
	Aprendizaje automático
	Aprendizaje supervisado
	Aprendizaje no supervisado
	La neurona artificial
	Redes Neuronales Artificiales
	Mapas Auto-Organizados
	Inspiración biológica de los mapas auto-organizados
	Los mapas auto-organizados como una red neuronal artificial
	Mapas Auto-Organizados Generalizados
	Distancia Jerárquica
	Distancia Jerárquica Categórica
	Distancia Jerárquica Simple
	Distancia Jerárquica Numérica
	Fase de ajuste
	Metodología
	Creación de una base de datos
	Arquitectura del software
	La clase nodo
	La clase punto
	La clase distancia jerárquica
	La clase neurona
	La clase GSOM
	Pruebas y resultados
	Pruebas
	Resultados
	Conclusiones y Trabajo futuro
	Conclusiones
	Trabajo futuro
	Bibliografía
	Glosario de términos
	Siglas

Continuar navegando