Logo Studenta

Sistema-para-deteccion-de-intrusos-en-lnea-basado-en-anomalas-de-red-usando-redes-de-memoria-temporal-jerarquica

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO 
 
 
 
POSGRADO EN CIENCIA E INGENIERÍA DE LA COMPUTACIÓN 
 
 
 
SISTEMA PARA DETECCIÓN DE 
INTRUSOS EN LÍNEA BASADO EN 
ANOMALÍAS DE RED, USANDO REDES 
DE MEMORIA TEMPORAL JERÁRQUICA 
 
T E S I S 
 
 
QUE PARA OBTENER EL GRADO 
 
 
Maestro en Ingeniería de la Computación 
 
 
 
P R E S E N T A 
 
 
NAIM DE LUNA MENDOZA 
 
 
 
DIRECTOR DE TESIS 
 
DR. ENRIQUE DALTABUIT GODAS 
 
 
 
MÉXICO, D. F. 2011 
 
 
UNAM – Dirección General de Bibliotecas 
Tesis Digitales 
Restricciones de uso 
 
DERECHOS RESERVADOS © 
PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL 
 
Todo el material contenido en esta tesis esta protegido por la Ley Federal 
del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). 
El uso de imágenes, fragmentos de videos, y demás material que sea 
objeto de protección de los derechos de autor, será exclusivamente para 
fines educativos e informativos y deberá citar la fuente donde la obtuvo 
mencionando el autor o autores. Cualquier uso distinto como el lucro, 
reproducción, edición o modificación, será perseguido y sancionado por el 
respectivo titular de los Derechos de Autor. 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 ii 
 
 
RESUMEN 
 
 
 La búsqueda por encontrar mecanismos y dispositivos que ayuden a 
mantener la seguridad informática en cualquier empresa, se ha vuelto compleja 
y costosa. En estos días para apoyar a la seguridad informática hay que pensar 
en cómo hacer un sistema que permita modelar el medio ambiente de una red 
de comunicaciones de una manera que el beneficio sea no costear licencias, sino 
promover solo su mantenimiento. 
 
 Dentro de los dispositivos de la seguridad informática existe el sistema 
detector de intrusos (IDS), los cuales sirven para tomar acciones ante el tráfico 
malicioso generado dentro de una red de comunicaciones. Existen dos 
modalidades para los IDS, la más comercial es basada en firmas (identificación 
de eventos ya conocidos y registrados para su identificación) y la inusual la cual 
se basada en anomalías, donde los datos con que se alimenta el sistema 
proporcionan información, creando comportamientos anormales e 
identificando anomalías. 
 
 La búsqueda de esta tesis es la elaboración de una de las 
características centrales de un IDS. Generando un sistema capaz de aprender 
patrones de tráfico de red, mediante la lectura, proceso y reconocimiento 
patrones no identificados en los paquetes que conforman el tráfico de la red de 
comunicaciones, es decir realizar la base de un IDS basado en anomalías. 
 
 Se toman en cuenta las técnicas de la Inteligencia Artificial que pueden 
ayudar a crear el sistema detector, describiendo cada una de las técnicas y 
descartando y eligiendo una de las plataformas que más se acopla para resolver 
el objetivo. La plataforma NuPIC implementa las redes memoria temporal 
jerárquica (HTM), que son capaces de aprender, crear patrones y detectar 
nuevos patrones de comportamiento. 
 
 La tesis expone dos tipos de sistemas detectores basados en 
anomalías. El primero Pasivo, usando lotes de archivos para realizar el 
entrenamiento con información creada en un proyecto para la detección de 
intrusos, simulando una red en producción. El segundo En línea, usando un 
equipo instalado en la red de comunicaciones de una empresa, la red de 
comunicaciones que es utilizada es una red en producción no simulada. 
 
 El análisis muestra el rendimiento, eficiencia y limitantes del sistema 
detector de intrusos, así como la tecnología utilizada acota los resultados 
esperados. 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 iii 
 
 
 
 
 
 
A mis padres y hermanos, a quienes debo lo que soy. 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 iv 
 
 
CONTENIDO 
 
 Página 
Resumen ..................................... ii 
Agradecimientos................................ iii 
Lista de abreviaturas ............................. vi 
Lista de Figuras................................. vii 
Lista de tablas.................................. viii 
 
Capitulado 
 
 Página 
 
1. Introducción............................................. 
1.1. Seguridad Informática.................................... 
1.2. Modelo de las 4 D ’s de la seguridad.......................... 
1.2.1. Medio Ambiente y políticas de seguridad .................. 
1.3. Sistemas Detectores de Intrusos (IDS)......................... 
1.3.1. Funciones de los IDS................................. 
1.3.2. Arquitectura de un IDS............................... 
1.3.3. Objetivos de los IDS................................. 
1.4. Objetivos de la tesis..................................... 
 
2. Inteligencia Artificial....................................... 
2.1. Técnicas de la Inteligencia Artificial .......................... 
2.1.1. Lógica difusa (Fuzzy Logic)........................... 
2.1.2. Redes neuronales artificiales (Artificial Neural Networks)..... 
2.1.3. Sistemas Expertos (Expert Systems)..................... 
2.1.4. Sistemas de razonamiento basado en casos 
(Case-based Reasoning Systems)....................... 
2.1.5. Minería de datos (Data Mining)........................ 
2.1.6. Redes Bayesianas (Bayesian Networks).................. 
2.1.7. Redes y modelos ocultos de Márkov 
(Hidden Márkov .Models and Networks).................. 
2.1.8. Redes de memoria temporal jerárquica 
(Hierarchical Temporal Memory Networks)............... 
 
3. Redes Bayesianas......................................... 
3.1. Método de Inferencia.................................... 
3.1.1. Algoritmo de propagación de probabilidad para arboles........ 
10 
11 
11 
13 
14 
15 
16 
17 
18 
 
20 
21 
21 
23 
25 
 
26 
28 
29 
 
29 
 
31 
 
33 
35 
36 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 v 
 
3.2. Método de Aprendizaje .................................. 
3.2.1. Aprendizaje paramétrico.............................. 
3.2.2. Aprendizaje Estructural .............................. 
3.2.3. Aprendizaje en poli-árboles............................ 
3.2.4. Aprendizaje de redes................................ 
3.3. Redes bayesianas dinámicas ............................... 
3.4. Clasificadores bayesianos ................................. 
 
4. Plataforma de Numenta..................................... 
4.1. Teoría de la Memoria temporal jerárquica...................... 
4.1.1. Redes HTM vs Redes bayesianas........................ 
4.1.2. Redes HTM y procesamiento de datos sensoriales............ 
4.1.3. Funciones de las Redes HTM........................... 
4.2. Descubrimiento e Inferencia de causas........................ 
4.3. Diseño de la redes HTM.................................. 
4.3.1. Patrones......................................... 
4.3.2. Memoria y tiempo.................................. 
 
5. Implementación de un sistema Detector de Intrusos ................. 
5.1. El problema.......................................... 
5.1.1. Hipótesis........................................ 
5.1.2. Mapeando el problema y usando una red HTM .............. 
5.1.3. Formato de los datos................................ 
5.2. Sistema Pasivo......................................... 
5.2.1. Datos y Sensor de Monitoreo........................... 
5.2.2. Entrenamiento del sistema pasivo........................ 
5.2.3. Pruebas en el sistema pasivo........................... 
5.2.4. Resultados y conclusiones............................. 
 
6. Sistema en Línea.......................................... 
6.1. Datos y Sensor de Monitoreo............................... 
6.2. Entrenamiento del sistema pasivo........................... 
6.3. Pruebas en el sistema pasivo............................... 
6.4. Resultados y conclusiones................................. 
 
 
38 
38 
38 
39 
40 
40 
41 
 
45 
46 
4647 
47 
49 
51 
51 
52 
 
54 
54 
55 
56 
57 
58 
58 
59 
64 
67 
 
71 
71 
72 
75 
79 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 vi 
 
 
 
Lista de abreviaturas 
 
DARPA Oficina de investigación y desarrollo para el Departamento de Defensa de 
Estados Unidos 
CERT Equipo de respuesta rápida de DARPA 
TCP Protocolo de control de transmisión 
TCP/IP Familia del protocolo de Internet con TCP 
IDS Sistema Detector de Intrusos 
RNA Red Neuronal Artificial 
CBR Razonamiento basado en casos 
RB Red bayesiana 
NuPIC Plataforma Numenta de Computación Inteligente 
HTM Red de Memoria Temporal Jerárquica 
TPC Tabla de probabilidad condicional 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 vii 
 
 
 
Lista de Figuras 
 
Figura Página 
 
1.1 Modelo de las 4 D ’s para una seguridad adecuada............. 11 
1.2 Ubicación de un IDS, controlado centralizadamente............ 17 
2.1 Elementos básicos para la lógica difusa de control............. 22 
2.2 Neurona Artificial................................... 24 
2.3 Estructura general de una Red Neuronal Artificial............. 24 
2.4 Sistema experto..................................... 26 
2.5 Ciclo del razonamiento basado en casos.................... 27 
2.6 Modelo oculto de Márkov.............................. 30 
3.1 Red Bayesiana dinámica............................... 40 
4.1 Red de Memorial Temporal jerárquica..................... 49 
4.2 Nodo de una Red de Memorial Temporal jerárquica............ 50 
5.1 Frame Ethernet..................................... 56 
5.2 Red de Memoria Temporal Jerárquica implementada........... 57 
5.3 Analizador Wireshark................................. 58 
5.4 Extracción de información de los protocolos TCP e IP........... 59 
5.5 Información para que ser leída por la red HTM............... 59 
5.6 Generación de paquetes TCP/IP en la semana 1............... 60 
5.7 Tiempos de procesamiento de 500,000 y 600,000 paquetes...... 61 
5.8 Extrapolación en el tiempo de procesamiento................ 68 
6.1 Ubicación del Sistema Detector de Intrusos en Línea........... 71 
6.2 Vista del interior del IDS en Línea........................ 72 
6.3 Grafica de la generación de paquetes en la red de Liconsa S.A. de C.V. 
y graficas de comparación de tiempo de generación contra tiempo 
de procesamiento ................................... 
 
 
75 
6.4 Proceso de recolección, filtrado, transformación para entrada de la 
red HTM y salida de la red HTM.......................... 
 
79 
 
 
 
 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 viii 
 
 
 
 
 
 
 
Lista de Tablas 
 
Tabla Página 
 
3.1 Funciones de probabilidad para variables discretas............. 34 
5.1 Elementos básicos del vector que alimenta de la red HTM......... 56 
5.2 Cantidad de paquetes y tiempos utilizados en el entrenamiento de la 
tres redes HTM...................................... 
 
62 
5.3 Lista de ataque registrados en la semana 1 y 3................. 63 
5.4 Lista de ataques registrados en los días jueves y viernes de la semana 
5................................................ 
 
64 
5.5 Cantidad de paquetes y tiempos registrados en la fase de pruebas de 
las tres redes HTM.................................... 
 
63 
5.6 Porcentajes obtenidos en la detección de ataques en la fase de prueba 
de las tres redes HTM.................................. 
 
66 
5.7 Extrapolación en los tiempos de procesamiento............... 68 
6.1 Paquetes, tiempos y porcentaje utilizados para el procesamiento en la 
red HTM........................................... 
73 
6.2 Ejemplo de Categorías................................. 78 
 
 
 
 
 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 
Capitulo 1 
 
Introducción 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 10 
 
Introducción 
 
En el siglo XVI, Francois Bacon dijo “El conocimiento es poder”, esta frase dice algo 
que puede aplicarse a al surgimiento de la informática, ya que además de ser un fenómeno 
tecnológico con aplicaciones positivas, ha permitido por medio de las computadoras el 
manejo de manera rápida y eficiente el manejo de grandes cantidades de información, se 
facilita la concentración de datos referentes a las personas, lo cual representa poder para 
quien posea esta información. 
 
A finales de la década de 1940 surgen las primeras computadoras, a mediados de la 
década de 1960 surge la comunicación entre computadoras, en 1970 ya trabaja la primer red 
de comunicaciones, en 1974 Cerf y Kahn propone un protocolo para interconexión de redes 
de paquetes, a detalle es el diseño del protocolo de control de transmisión (TCP) y en 1983 la 
familia de protocolos TCP/IP es la utilizada para unir redes. 
 
A partir de la década de 1970 existe un gran crecimiento en el numero de archivos de 
información personal y todos ellos con distintos fines, publicitarios, comerciales, fiscales, 
políticos, etc. Para 1987 la Internet consta de más de 10,000 terminales y en ese momento 
todo era progreso en las redes, sin embargo en 1988 aparece el primer virus de tipo gusano y 
contamina un 10% de los servidores conectados a Internet. Ese fue el suceso parte aguas que 
alerto sobre la falta de mecanismos de seguridad. Por lo que la Oficina de investigación y 
desarrollo para el Departamento de Defensa de Estados Unidos (DARPA) crea un equipo de 
respuesta rápida (CERT) para mantener datos sobre las incidencias en red y las amenazas. 
 
Un sinnúmero de personas y/o situaciones han y siguen alterando los derechos de la 
sociedad mediante eventos maliciosos cibernéticos. Para entender esto y poder remediar 
estos eventos es necesario tener en cuenta que se debe tener control absoluto sobre el lugar 
donde se tienen los datos. 
 
Se debe tener claro el concepto de seguridad informática y el conjunto de factores que 
ayudan a tener control sobre los eventos que pueden suceder o que ocurren en un momento 
dado. Todo comienza con tener Políticas de seguridad adecuadas y así marcar las cosas que 
son prohibidas en el entorno de trabajo, se continua con el monitoreo el cual realiza un 
análisis del funcionamiento interno de lo que sucede, sin embargo también es vigilada la 
entrada y salida del entorno, por ultimo tenemos que tener un buen control jurídico 
adecuado, para hacer pagar las consecuencias de violar de lo que uno es responsable. 
 
En las secciones siguientes se detallará sobre las Políticas de seguridad, el Monitoreo, 
las responsabilidades y un modelo para la seguridad informática. Sin embargo el enfoque de 
esta tesis está orientado a un mecanismo de Monitoreo mediante una técnica de aprendizaje 
del trafico de red. 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 11 
 
1.1 Seguridad Informática 
 
La Seguridad informática se define como un conjunto de procesos, procedimientos, 
medidas y controles de protección implementados en sistemas de cómputo, dispositivos de 
cómputo y telecomunicaciones, para mantener la integridad, confidencialidad, disponibilidad, 
autenticidad y fiabilidad de los recursos de los sistemas (incluye hardware, software, datos, 
telecomunicaciones, etc.), y protegerse o controlar amenazas [1, 2]. 
Como objetivos de la seguridad informática tenemos: 
1. Integridad: Es conservar la información, de manera oportuna, precisa, completa y 
coherente (sin embargo se habla de integridad en los datos cuando solo se cambian de 
manera establecida y autorizada, y de integridad en los sistemas, cuando los sistemas 
trabajan de manera incorruptible, es decir, libre de funciones de manipulación de datos 
no autorizadas). 
2. Confidencialidad: Es la necesidad de mantener la información privada o confidencial para 
no ser mostrada a usuarios no autorizados. 
3. Disponibilidad:Es la garantía de que el trabajo y servicios del sistema de información 
sean eficientes al no negar la autorización a usuarios permitidos. 
4. Autenticidad: Es la garantía que se le otorga al usuario al recibir un autenticador, que es 
un dato que se relaciona con el usuario y se ocupa como evidencia incuestionable de 
quien lo exhibe es quien aparece en el registro y en caso contrario se lleva a la 
denegación del uso de los servicios. 
5. Fiabilidad: Es el grupo de medidas de seguridad que se requieren en las operaciones 
realizadas por los componentes de hardware, software, equipos de comunicaciones, etc. 
 
1.2 Modelo de las 4 D ’s de la seguridad. 
 
Figura 1.1 Modelo de las 4 D ’s para una seguridad adecuada 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 12 
 
 La definición de Seguridad Informática dice que se compone de procedimientos y 
controles para hacer medidas de protección y evitar eventos maliciosos que afectan a la red o 
sus elementos, la figura 1.1 indica que se debe contar con elementos que nos ayuden a 
detectar cualquier evento sospechoso mediante señales de anormalidad. La detección se 
realiza mediante técnicas de monitoreo en las actividades de la red, es decir el punto donde 
se observa es donde es analizando el comportamiento en el trafico de red. De esta manera se 
cuenta con tres posibilidades para solventar las anormalidades: 
 
 Disuadir: Esto es mediante procedimientos de advertencia, que hace del conocimiento 
de quien este infringiendo que desista de su intento de violar la seguridad, por 
ejemplo con un mensaje en el monitor. 
 Diferir: Es mediante procedimientos de retraso, para que un evento ocurra en un 
periodo más largo de lo previsto y evitar que se infrinja la seguridad o se realicen 
eventos no permitidos, por ejemplo limitar el acceso a un puerto de red. 
 Detener: Es mediante procedimientos para evitar y/o ponerle remedio para algún 
evento que pueda vulnerar la seguridad, por ejemplo cerrar completamente un 
puerto o dar de baja la dirección IP de la maquina. 
 
El último pasó esta fuera del análisis y de las políticas de seguridad, pero que toda 
entidad debe tener, este se refiere a que se deben tomar medidas sobre la responsabilidad 
que tiene el ejecutor de los eventos maliciosos. En consecuencia se debe contar con un 
control jurídico adecuado, para hacer pagar las consecuencias por actos que afectan la 
información, sistemas e infraestructura informática. 
 
Julio Téllez Valdés en su libro define al Derecho informático como la rama de las 
ciencias jurídicas que contempla a la informática como instrumento (Informática jurídica) y 
como objeto de estudio (Derecho de la Informática) [3]. En México para la legislación 
informática a nivel federal contamos con la Constitución política federal, la ley de información 
estadística y geográfica, el código penal federal, la ley contra la delincuencia organizada, el 
código civil federal, el código de comercio, la ley federal del derecho de autor, la ley de 
propiedad industrial, la ley federal de trabajo, la ley de transparencia y acceso a la 
información pública gubernamental y algunas otras. La otra parte que ayuda es la 
Legislación Informática que contempla los siguientes rubros: Regulación de la información, 
Protección de los datos personales, Regulación del Internet, Protección intelectual, Delitos 
informáticos, Contratos informáticos, Comercio electrónico, aspectos laborales y Valor 
probatorio. 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 13 
 
Bibliografía: 
 
1. NIST Special Publication on Intrusion Detection Systems, Rebecca Bace y Peter Mell, 
National Institute of Standards and Technology, web: http://www.dtic.mil/cgi-
bin/GetTRDoc?AD=ADA393326&Location=U2&doc=GetTRDoc.pdf 
2. Complete Guide to Security and Privacy Metrics: Measuring Regulatory Compliance, 
Operational Resilience, and ROI, Debra S. Herrmann, Estados Unidos, 2007. 
3. Derecho Informático, Julio Téllez Valdés, Mc Graw Hill, México, 2003, ISBN 968-36-
1928-2, web: http://www.bibliojuridica.org/libros/1/322/24.pdf 
 
1.2.1 Medio Ambiente y políticas de seguridad 
El medio ambiente es la especificación de los atributos técnicos del entorno del 
sistema. En el medio ambiente se encuentran desde los diagramas de red y mapas de 
especificación del número y ubicación de host, hasta el sistema operativo de cada host. Se 
incluye el número y tipos de dispositivos de red como routers, bridges y switches, el número 
y tipo de servidores de telefonía y la descripción de los servidores de red, sus configuraciones 
y software de aplicación, así como las versiones que se ejecutan en cada uno. [1] 
En un medio ambiente seguro se especifica el número, tipos y ubicación de los 
firewalls de red, servidores de identificación y autenticación, codificadores de datos y enlace, 
anti-virus, productos de control de acceso, redes privadas virtuales, etc. 
Se habla de contingencia cuando ocurre un evento potencial que interrumpe las 
operaciones de un sistema o daña el medio ambiente, obstaculizando procesos críticos y 
funciones de negocio. Cuando el evento es muy grande se llama desastre. 
Los objetivos de la seguridad en las entidades se definen a partir de un conjunto de 
normas, reglas y principios que deben de regirse irrefutablemente, en donde cada regla 
define una acción, mecanismo o procedimiento para lograr el orden y buen uso de los 
sistemas informáticos, ha esto se le llama Políticas de Seguridad. 
Las Políticas de Seguridad ayudan a prevenir la pérdida de la información, tener un 
uso adecuado y eficiente de los sistemas de cómputo y de telecomunicaciones, así como una 
forma de poder ir a la par con la tecnología. Las políticas son aplicadas para todo el personal 
que utilicen recursos informáticos de cualquier empresa, las políticas deberán basarse en los 
siguientes quehaceres: [2] 
 
 Acceso a la información: por parte de los usuarios, se debe tener acceso sólo a la 
información necesaria para el desarrollo de sus actividades, esto es regulado mediante 
normas y procedimientos definidos. 
 Administración de cambios: todos los cambios que afectan a los recursos informáticos 
deben ser solicitas, aprobados y documentados. 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 14 
 
 Seguridad de la información: Todo usuario que utilice los recursos informáticos, es 
responsable de cuidar la integridad, confidencialidad, disponibilidad y confiabilidad de la 
información que maneje. 
 Seguridad para los servicios informáticos: El correo electrónico, chat y otras utilidades 
existen solamente para funciones de la empresa. La empresa tiene el derecho a acceder a 
los mensajes. 
 Seguridad en recursos informáticos: Se habla de administración de usuarios, rol de 
usuarios, planes de auditoría, ambientes de desarrollo de sistemas, control de acceso y 
autenticidad. 
 Seguridad en comunicaciones: La topología de red, direcciones, configuraciones y diseño 
de sistemas de red, seguridad y comunicaciones son confidenciales. Además se debe 
contar con servicios de cifrado, verificación de datos, detección de ataques, detección 
intrusos y autenticación de usuarios. 
 Otras de igual importancia son: Seguridad para usuarios terceros, Software utilizado, 
Actualización de hardware, Almacenamiento y respaldo, Contingencia, Auditoria y 
Seguridad física. 
 
Bibliografía: 
 
1. NIST Special Publication on Intrusion Detection Systems, Rebecca Bace y Peter Mell, 
National Institute of Standards and Technology, web: http://www.dtic.mil/cgi-
bin/GetTRDoc?AD=ADA393326&Location=U2&doc=GetTRDoc.pdf 
2. Complete Guide to Security and Privacy Metrics: Measuring Regulatory Compliance, 
Operational Resilience, and ROI, Debra S. Herrmann, Estados Unidos, 2007. 
 
 
1.3 Sistemas Detectores de Intrusos (IDS) 
 
El concepto de seguridad informática esmuy amplio al proponer un método, 
mecanismo o herramienta que ayude a reducir los eventos maliciosos, cabe señalar que tener 
un sistema o dispositivo que abarque todos los rubros de la seguridad es muy complejo. En 
esta tesis se aborda la parte de monitoreo y la parte de análisis, dejando para trabajos 
posteriores las acciones que se tomen cuando se detecto un evento no cotidiano en el trafico 
de la red. 
 
 
Será implementado un Sistema Detector de Intrusos, que analizará el flujo de tráfico con 
ayuda de una técnica de Inteligencia Artificial para detectar anormalidades. 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 15 
 
Antes de decir que es un Sistema Detector de Intrusos, esta la pregunta ¿Qué es la 
detección de intrusos? La detección de intrusiones es el proceso de seguimiento de 
acontecimientos que ocurren en un sistema de PC o red, y analizarlas para detectar signos de 
intrusiones, es decir, un intento de comprometer la confidencialidad, integridad, 
disponibilidad, o pasar por alto la seguridad mecanismos de una computadora o red. [1] 
Las intrusiones son causadas por los atacantes al intentar tener acceso a los sistemas 
de Internet o bien usuarios autorizados de los sistemas que intentan obtener privilegios 
adicionales para los que no están autorizados y los usuarios autorizados que hacen uso 
indebido de los privilegios que se les ha asignado. Los Sistemas de Detección de Intrusos son 
programas informáticos o productos de hardware que automatizan este proceso de 
seguimiento y análisis antes descrito. 
 
1.3.1 Funciones de los IDS 
 
En general las funciones de los IDS son: [2] 
 
La Fuente de Información de eventos, es usada para examinarla y determinar si una 
intrusión ha existido, de aquí se pueden extraer a diferentes niveles, del sistema, de la red, de 
los host y del control de aplicaciones comunes. 
Existen tres tipos de información de origen para un IDS: 
a) Basado en Red, consisten en un conjunto de sensores colocados en varios puntos de una 
red, que monitorean el tráfico de red que afectan a varios hosts que están conectados al 
segmento de red. 
b) Basado en Host, la información es recogida desde dentro de un sistema informático 
individual, mediante pistas de auditoría y registros del sistema operativo. 
c) Basado en Aplicaciones, la fuente de la información proviene de los registros generados 
por las transacciones de cada aplicación. 
 
El Análisis, es la parte de los IDS donde se organiza y da sentido a los eventos 
derivados de la fuente de información, a partir de ese momento se decide si los eventos 
indican que las intrusiones se están produciendo o ya se han producido. 
Existen dos tipos de análisis: 
a) Detección de firmas, en este análisis se sabe que existen actividades "malas", a partir 
de un conjunto de eventos que coinciden con patrones predefinidos (ataque). Los 
patrones corresponden a ataques conocidos como firmas y es la técnica utilizada por 
la mayoría los IDS comerciales. 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 16 
 
b) Detección de anomalías, en este análisis se buscan patrones anormales de actividad 
en un host o red. Funciona por medio de la elaboración de perfiles que representan el 
comportamiento normal de usuarios, hosts u conexiones de red. Los perfiles se 
construyen a partir de datos recogidos durante un período de funcionamiento 
normal. Los sensores colectan todos los datos, ahí van inmersos los eventos. Sigue con 
el uso de varias mediciones para determinar cuándo una actividad se desvía de lo 
normal. 
Las medidas principales son el Umbral de detección (es la expresión de los atributos 
de los usuarios y el comportamiento del sistema) y Medidas estadísticas paramétricas 
(mediante la distribución de los atributos de perfil y su comparación y semejanza con 
un patrón particular) y no paramétricas (mediante la distribución de los atributos de 
perfil, aprendida de un conjunto de valores observados en el tiempo). 
 
La Respuesta, es el conjunto de acciones que el sistema toma una vez que se detecta 
intrusiones. Las acciones pueden ser: 
a) Activas por parte del sistema, es la recopilación de información del ataque, el cambio 
del medio ambiente para evitar nuevamente el ataque y para detener el ataque en 
curso y bloquear a la vez el acceso posterior del atacante. 
b) Pasivas por parte del administrador, su misión es proporcionar información a los 
usuarios del sistema, confiando en el administrador para tomar medidas posteriores. 
Emiten alarmas y notificaciones por mensajes, por correo de red o por la 
presentación de informes y archivos de historial. 
 
1.3.2 Arquitectura de un IDS 
 
La arquitectura de un Sistema Detector de Intrusos esta en base a las funciones 
generales de un IDS, constando de tres componentes: Sensor de monitoreo, el subsistema de 
análisis (en donde corre el software detector de intrusos) y el Tomador de acciones que es el 
sistema que da seguimiento a los eventos registrados en el software detector de intrusos. 
 
Hay dos maneras de implementación: 
a) Mismo sitio, aquí el software detector de intrusos se encuentra en el mismo 
dispositivo que el Sensor de monitoreo y el Tomador de acciones. 
b) Distinto sitio, se encuentra separado el subsistema de sensor de monitoreo, del de 
análisis para detección de intrusos y del tomador de acciones. 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 17 
 
El control, es un conjunto de elementos del IDS que vigilan, verifican la gestión de entradas y 
salidas y son controladas por un sistema central, para ello hay tres modalidades: 
a) Centralizado, toda la supervisión, detección y presentación de informes es controlado 
directamente desde una ubicación central. En la figura 1.2 se muestra. 
 
Figura 1.2 Ubicación de un IDS, controlado centralizadamente. [2] 
b) Parcialmente distribuido, aquí se controla el monitoreo y la detección desde un nodo 
de control local, con una presentación de informes jerárquica de una o más 
localizaciones centrales. 
c) Completamente Distribuida, aquí el monitoreo y la detección se realiza mediante un 
enfoque basado en agentes, donde las decisiones de respuesta se llevan a cabo en el 
lugar de análisis. 
La Sincronización es el tiempo transcurrido entre el análisis de los acontecimientos y los 
eventos de control. Existen dos maneras, por lotes y continúo. 
a) Por lotes o pasivo, el intervalo de tiempo está divido en porciones de tiempo, es decir, 
no es continuo. Se puede decir que los datos se almacenan y se envían los datos para 
el análisis. 
b) Tiempo Real o Continuo, el IDS se alimenta directamente de las fuentes de 
información, aquí la detección realizada por el IDS es en tiempo real y produce 
resultados en un tiempo razonable para permitir que el IDS tome medidas contra el 
ataque detectado. 
 
1.3.3 Objetivos de los IDS 
 
Existe varios objetivos para la detección de intrusos, pero principales son dos: 
 
a) Responsabilidad, es la capacidad de vincular un evento con su origen, esto es esencial 
en los casos en que una desea presentar cargos penales contra un atacante. 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 1. Introducción 18 
 
b) Respuesta, es la capacidad de reconocer un evento como un ataque y tomar acción 
para bloquearlo y evitar que afecte a sus objetivos. 
 Para cubrir los objetivos, es necesario tomar en cuenta algunos aspectos, como el 
control sobre los elementos de un IDS, la sincronización entre la detección del evento, el 
reporte del evento y las acciones pasivas o activas. [2] 
Bibliografía: 
1. An Introduction to Computer Security: The NIST Handbook, National Institute of 
Standards and Technology, Octubre 1995 
Web: http://csrc.nist.gov/publications/nistpubs/800-12/handbook.pdf 
2. NIST Special Publication on Intrusion Detection Systems, Rebecca Bace y Peter Mell,National Institute of Standards and Technology, web: http://www.dtic.mil/cgi-
bin/GetTRDoc?AD=ADA393326&Location=U2&doc=GetTRDoc.pdf 
 
 
1.4 Objetivos de la tesis 
 
 Encontrar una metodología idónea para llevar a cabo la detección de intrusos, 
teniendo en cuenta que existen: métodos estadísticos, las redes neuronales artificiales y la 
minería de datos. Se recurre a estos métodos de inteligencia artificial ya que cada uno de ellos 
nos permite hacer un modelo de comportamiento de la información con que se alimentan. 
 
 Desarrollar una herramienta utilizando la metodología elegida para detectar la 
detección de intrusos, hay que hacer notar que debe ser software libre preferentemente y así 
realizar una aplicación libre de licencias. 
 
 Se implementará el subsistema para el Sensor de monitoreo, buscando 
herramientas que permitan monitorear y procesar de manera eficiente. 
 
 Se implementará el subsistema para detección de intrusos, efectuando la técnica 
de detección de anomalías, que no requiere tener registros o historiales realizar la detección 
de anomalías. 
 
 Dos modelos serán puestos a prueba, el primero de manera pasiva, es decir con 
datos previamente almacenados; el segundo en línea. 
 
 Como observación, no se propondrán algoritmos o se analizaran los algoritmos que se 
ocupen en los procedimientos para la detección de intrusos o el sensor. Y tampoco será 
tocado el tema del subsistema Tomador de acciones. 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 
 
Capitulo 2 
 
Inteligencia Artificial 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 20 
 
2. Inteligencia Artificial 
 En 1937 se pública un articulo llamado “Números Calculables” y en octubre de 1950 
se pública otro artículo llamado “Maquinas de computación e inteligencia”; un inglés 
matemático de nombre Alan Mathison Turing (1912-1964), presenta el primer artículo, 
considerado el origen oficial de la Informática Teórica y un segundo en donde propone un 
experimento llamado Prueba de Turing. 
Existe un campo de investigación con muchos retos en las ciencias de la Computación, 
específicamente en el área de ciencia Cognoscitiva. La inquietud del hombre por imitar la 
naturaleza del mundo o así mismo genera el estudio de la inteligencia humana, Alan M. 
Turing dio el primer paso y hoy en día no sea logrado aun, de ahí surge la Inteligencia 
Artificial en busca de imitar la inteligencia humana. 
Mucha gente ha aportado conocimiento en este campo, pero no hay una definición 
concreta, la idea básica de la Inteligencia Artificial es que estudia la manera en que se puede 
modelar la inteligencia humana por medio de sistemas computacionales. Algunas 
características humanas que asemeja son el aprendizaje, la adaptación, el razonamiento, la 
autocorrección, la predicción, el mejoramiento implícito de conocimiento y la percepción 
para modelar el mundo, así que sus objetivos están más allá de la inteligencia y dependerán 
del problema o del punto de vista para resolver problemas. 
Por otro lado el área de la Probabilidad ha aportado grandes avances en la 
Inteligencia Artificial. Por medio de este punto de vista se han creado sistemas de 
reconocimiento de voz, de imágenes, de patrones, etc. Noah Goodman es un científico del 
Instituto de Tecnología de Massachusetts trabaja en el laboratorio de Ciencias de la 
Computación e Inteligencia Artificial en el departamento de Ciencias Cognoscitivas y del 
Cerebro, opina que combinando los sistemas antiguos basados en reglas con sistemas 
probabilísticos actuales se puede desarrollar una manera de modelar mejor al mundo. Esto 
puede ayudar a las ciencias cognitivas, sin embargo para fines de esta tesis no será utilizado 
un sistema basado en firmas, sino en creencias aprendidas y predicción. 
Una rama de la Inteligencia Artificial tradicional está basada en el análisis formal y 
estadístico del comportamiento humano, es conocida como Inteligencia Artificial Simbólico-
deductiva. Algunos problemas que resuelve son: Razonamiento basado en casos, soluciona 
nuevos problemas basándose en las soluciones de problemas anteriores. Por otro lado los 
sistemas expertos, infieren una solución a través del conocimiento previo y las Redes 
bayesianas proponen soluciones mediante inferencia estadística. [2] 
La Inteligencia Artificial sub simbólica-inductiva o Inteligencia Computacional, es el 
aprendizaje interactivo que se realiza basándose en datos empíricos. Combina elementos de 
aprendizaje, adaptación, evolución y Lógica difusa para crear programas que de alguna 
manera son inteligentes. Las técnicas más comunes son las Redes Neuronales Artificiales, 
Computación Evolutiva, Sistemas difusos, etc. [2] 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 21 
 
A continuación se mencionan algunos campos y técnicas más comunes para la 
Inteligencia Artificial, sin embargo no son los únicos, pero si los más importantes para el 
interés de esta tesis: 
 
 Redes de lógica difusa 
 Redes neuronales artificiales 
 Sistemas Expertos 
 Sistemas de razonamiento basado en casos 
 Minería de datos 
 Redes Bayesianas 
 Redes y modelos de ocultos de Márkov 
 Redes jerárquicas de memoria temporal 
 
En las siguientes secciones se da una descripción general de estas técnicas, sin 
embargo las redes bayesianas tienen dedicado el capítulo 3 para más detalles en su 
metodología y el capítulo 4 es dedicado a las redes jerárquicas de memoria temporal, por su 
relevancia y contribución. 
 
 
Bibliografía: 
 
1. Computing Machinery and Intelligence, A. M. Turing, Mind, New Series, Vol. 59, No. 
236., Universidad de Oxford, Octubre de 1950, web: http://blog.santafe.edu/wp-
content/uploads/2009/05/turing1950.pdf 
2. Inteligencia Artificial, Camilo Duque, 2010, web: 
http://www.slideshare.net/camilorene/inteligencia-artificial-clase-1 
 
 
 
2.1 Técnicas de la Inteligencia Artificial 
 
 
2.1.1 Lógica difusa (Fuzzy Logic) 
 
El “Principio de Incompatibilidad”, dice que conforme aumenta la complejidad de un 
sistema, nuestra capacidad para ser precisos y construir instrucciones sobre su 
comportamiento disminuye hasta el umbral más allá del cual, la precisión y el significado son 
características excluyentes [2]. Fue en 1965, en la Universidad de Berkeley, en California, 
Estados Unidos, donde el ingeniero Lotfy A. Zadeh introduce el concepto de conjunto difuso y 
los elementos los describe como pares ordenados que indican el valor de un elemento y su 
grado de permanencia. 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 22 
 
La lógica difusa está asociada a la estructura del conjunto difuso, y como todo 
conjunto tiene las operaciones: Inclusión, Unión, Intersección, Complemento y algunas más 
especiales como el Producto cartesiano y la Relación difusa; también contiene propiedades 
que se aplican en el conjunto: Soporte, Altura, Núcleo, Conjunto difuso normal (el conjunto es 
constante) y Conjunto difuso convexo (el conjunto difuso es creciente, decreciente o con 
forma de campana) [2]. 
 
Hay modelos basados en lógica difusa: 
 
1. Modelo difuso para control. Publicado en 1990 por Chuen Chien Lee en un artículo 
llamado “Fuzzy Logic in Control Systems: Fuzzy Logic Controller, se basa en un conjunto 
de reglas heurísticas donde las variables lingüísticas de las entradas y salidas se 
representan por conjuntos difusos. [1] 
 
Los componentes de un modelo difuso de control son: 
a) Interface de Fuzzificación, donde se 
transforman las variables de entrada 
del modelo (variables difusas). 
b) Base de conocimiento, que contiene 
las reglas lingüísticas del control y la 
información referente a las funciones 
de pertenencia de los conjuntos 
difusos. 
c) Lógica de toma de Decisiones (Motor 
de inferencia), calcula las variables de 
salida a partir de lasvariables de 
entrada, mediante las reglas del 
controlador y la inferencia difusa, 
entregando conjuntos difusos de 
salida. 
d) Interface de Defuzzificación, provee 
salidas discretas y determinísticas a 
partir de los conjuntos difusos 
obtenidos como resultado de la inferencia. 
 
2. Modelo de Takagi y Sugeno. En el año 1985, en el Instituto de Tecnología de Tokio en 
Japón, Tomohiro TAKAGI y Michio Sugeno proponen el modelo Takaji-Sugeno que se 
define por medio de relaciones basadas en reglas difusas, donde las premisas de cada 
regla representan subespacios difusos y las consecuencias son una relación lineal de 
entrada-salida. Las variables de entrada en las premisas de cada regla son relacionadas 
por operadores "and", mientras que la variable de salida es una combinación lineal de las 
variables de estado, es decir, la salida de cada regla se obtiene por su respectivo grado de 
cumplimiento.[1] 
Figura 2.1 Elementos básicos para la lógica difusa 
de control [2] 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 23 
 
 
Por último algunas de las aplicaciones de la lógica difusa son en el área de medicina 
diagnósticos, acupuntura, análisis de ritmos cardiacos, etc., en el área de control donde a 
partir de expresiones de lógica borrosa se formulan reglas orientadas al control de sistemas, 
en el área de control de sistemas en tiempo real para el control mediante órdenes por medio 
de voz del usuario en el sistema y en el sector automovilístico para sistemas de freno, y así se 
puede mencionar más ejemplos. 
Bibliografía: 
 
1. Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part I, Chuen Chien Lee, IEEE 
Transactions on systems, man, and cybernetics, Vol. 20, No. 2, marzo - abril de 1990, 
web: http://www.gpa.etsmtl.ca/cours/sys843/pdf/Lee90_I.pdf 
 
2. Lógica difusa, Tamara Benito Matías y María Isabel Durán Vicente, Universidad Carlos 
III de Madrid, España, 2009, web: http://www.it.uc3m.es/jvillena/irc/practicas/08-
09/10.pdf 
 
 
2.1.2 Redes neuronales artificiales (Artificial Neural Networks) 
 
 
En 1945 Warren McCulloch y Walter Pitts, propusieron la estructura y 
funcionamiento base de una red conexionista llamada neurona de McCulloch-Pitts. En 1949 
Donald Hebb propuso lo que ahora es la base de las reglas de aprendizaje, es la ‘regla de 
Hebb’ que es un mecanismo de regulación de las conexiones neuronales. En 1958 Frank 
Rosenblatt desarrollo la red neuronal más antigua, que es utilizada como identificador de 
patrones, llamada el ‘Perceptron’. [1] 
 
El Perceptron contenía tres tipos de neuronas: sensoriales (adquieren sus entradas 
del exterior de la red), asociativas (unidades ocultas) y de respuesta (propagan señales al 
exterior de la red). El principal rasgo del Perceptron fue el clasificar sus entradas. Años 
después en 1974 Paul Werbos, desarrolló la idea del algoritmo de aprendizaje de propagación 
hacia atrás (backpropagation). 
 
Las redes neuronales artificiales (RNA) son un modelo matemático o modelo 
computacional inspirado por los aspectos funcionales de las redes neuronales biológicas, las 
RNA consisten de un grupo de neuronas artificiales interconectadas y agrupadas en capas que 
trabajan en conjunto para producir una salida deseada bajo un estimulo en su entrada. 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 24 
 
Sus elementos son: 
 
 Neurona: son los nodos de la red, algunos 
los llaman elemento de proceso. 
 Conexiones: son las conexiones 
unidireccionales e inmediatas entre nodos, 
es decir solo hay conexiones entre niveles 
subsecuentes. 
 
 
 
Algunas observaciones son: 
 
 Las neuronas pueden tener múltiples 
conexiones de entradas. 
 Una sola señal de salida puede 
separarse en diferentes conexiones de 
salida. 
 Las neuronas pueden tener su propia 
memoria local. 
 Las neuronas tiene una función de 
transferencia que al recibir una señal 
de entrada, la modifica y produce una 
señal de salida. 
 
 
Las Redes Neuronales usan un proceso de aprendizaje que consiste en una adaptación 
progresiva de los valores de las conexiones para permitir a la red un comportamiento 
deseado. Mediante la entrada de los datos de entrenamiento, se compara la salida de la red 
con la salida de los datos de entrenamiento y la diferencia se usa para calcular el error de la 
respuesta de la red. Si se cuenta con un algoritmo apropiado (por ejemplo el 
Backpropagation) es posible reducir el error. Además son capaces de aprender de acuerdo a 
la experiencia (Aprendizaje Adaptativo), de generalizar de casos previos a nuevos casos 
(Auto-organización), de conceptualizar a partir de información irrelevante (Tolerancia a 
fallos), y de trabajar en tiempo real, etc. [1]. 
 
Las RNA son utilizadas para realizar predicciones, minería de datos, reconocimiento 
de patrones y control adaptativo. Pertenecen al área de la inteligencia artificial y de la vida 
artificial, y son combinadas con otras técnicas como la lógica difusa, los sistemas expertos, las 
estadísticas, etc. Sus aplicaciones son inmensas, algunas son: Control de la eficiencia de una 
máquina (área de control), Reconocimiento de firmas de personas, Reconocimiento de 
blancos mediante sonares marinos, Predicción en la bolsa de valores para los mercados 
financieros, etc. 
Figura 2.2. Neurona Artificial [3] 
Figura 2.3 Estructura general de una Red Neuronal 
Artificial (RNA) [3] 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 25 
 
 
Bibliografía 
1. Redes Neuronales: Conceptos Básicos y Aplicaciones, Damián Jorge Matich, 
Universidad Tecnológica Nacional, Argentina, Marzo de 2001, web: 
ftp://decsai.ugr.es/pub/usuarios/castro/Material-Redes-Neuronales/Libros/matich-
redesneuronales.pdf 
2. Redes Neuronales , Jorge Granados, Universidad de la Republica, Uruguay, Agosto 
1996, web: 
http://www.ccee.edu.uy/ensenian/catcomp/ICAC/redes_neuronales.pdf 
3. Aplicación de Técnicas de redes Neuronales Artificiales al diagnostico de procesos 
industriales, Antonio Muños San Roque, Tesis Doctoral, Madrid, España, 1996, web: 
https://www.iit.upcomillas.es/docs/TesisAntonioMuNoz.pdf 
 
 
2.1.3 Sistemas Expertos (Expert Systems) 
Un sistema experto puede definirse como un sistema informático que simula a los 
humanos que son expertos en un área de especialización dada [1]. Edward Feigenbaum en la 
Universidad de Stanford los define como programas de computación inteligente que usan el 
conocimiento y los procedimientos de inferencia para resolver problemas que son difíciles 
como para requerir experiencia humana para su solución [2]. 
Tipos de Sistemas Expertos 
a) Problemas esencialmente deterministas o sistemas basados en reglas. Estos sistemas 
sacan sus conclusiones con el razonamiento algorítmico con ayuda de modelos como el de 
factores de Certeza, la Lógica difusa y la teoría de evidencia. Las conclusiones son 
asociadas a las medidas de propagación que tienen una incertidumbre baja, por ejemplo 
se resuelven problemas como transacciones bancarias y control de tráfico. [1] 
b) Problemas esencialmente estocásticos o sistemas probabilísticos. Como lo dice su nombre 
ocupan el conocimiento probabilístico y la distribución conjunta como un conjunto de 
variables para describir las relaciones de dependencia entre ellas. Se ocupan métodos 
como las redes de Márkov o las redes bayesianas, que permiten hacer la propagación y 
tener conclusiones con medidas de probabilidad, las cuales pueden tener más alto el nivel 
de incertidumbre. Algunos ejemplos de problemas de solución son la planificación, el 
diagnostico médico, agentes secretos. [1] 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 26 
 
 Las características típicas de un sistema experto son: Alto desempeño en la calidad de 
sus respuestas; Tiemposde respuesta adecuados en periodo pequeños de tiempo, 
Confiabilidad de ejecución e invulnerabilidad a caídas, Comprensible al poder explicarse los 
pasos de razonamiento que se están ejecutando y Flexible para añadir, modificar y eliminar 
conocimiento. 
Las características más avanzadas son: Enumerar, las razones en contra y a favor de una 
hipótesis; Explicar las consecuencias de una hipótesis; Predecir, dar predicciones si la 
hipótesis es cierta; Justificar preguntas y conocimiento del sistema. Las razones de las que las 
personas dependen son dadas principalmente por que proporcionan una explicación del 
razonamiento compresible para los hombres y porque mientras están en desarrollo, confirma 
el conocimiento aprendido y que se utilizará. 
 
 Las áreas en que los sistemas 
expertos se han desarrollado son el 
control, el pronóstico, la planeación, la 
supervisión, el diagnostico, etc. Las 
ciencias en donde existen sistemas 
expertos son por ejemplo la Química, 
la Electrónica, la Medicina, la 
Ingeniería, la Geología, etc. 
 
 
 
Bibliografía: 
1. Sistemas Expertos y Modelos de Redes Probabilísticas, Enrique Castillo, José Manuel 
Gutiérrez, Universidad de Cantabria, España, web: 
http://personales.unican.es/gutierjm/papers/BookCGH.pdf 
2. Expert Systems Principles and Programming, Joseph C. Giarratano y Gary D. Riley, 
ISBN: 0534950531 
 
 
 
2.1.4 Sistemas de razonamiento basado en casos (Case-based Reasoning Systems) 
El Razonamiento basado en casos (CBR) ayuda a tomar decisiones mientras se 
resuelven ciertos problemas concretos, recordando situaciones pasadas similares y 
utilizando la información y el conocimiento de esas situaciones ya experimentadas. Se le 
llama ‘caso’ a una situación problemática [1]. 
Figura 2.4 Sistema experto 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 27 
 
El CBR comprende una gama de métodos diferentes para organizar, recuperar, utilizar 
e indexar conocimientos almacenados de casos anteriores, sin embargo es difícil apreciar cuál 
de ellos puede emplearse directamente en un 
problema concreto. Los métodos son: 
Recuperación de casos (encuentra uno o más 
casos que tengan una solución útil aplicable al 
problema actual), Reutilización de casos 
(recupera y sugiere una solución tentativa que 
reutiliza y aplica al problema actual), Revisión 
de casos (si la reutilización falla, entonces 
ratifica la solución, si es válida el sistema 
aprende y continua, en caso contrario repara 
la solución con ayuda de la información 
proporcionada por el usuario) y Retención de 
casos nuevos (permite actualizar y almacenar 
nuevo conocimiento de las nuevas 
soluciones). [2] 
En 1994 Agnar Aamodt y Enric Plaza crean el ciclo CBR que sus componentes se 
describen en el párrafo anterior. 
Los elementos básicos de RBC son: Representación del Conocimiento: (el conocimiento 
se representa en forma de ‘Casos’, que describen experiencias concretas), Medida de Similitud 
(es la capacidad de encontrar un caso relevante para el problema real), Adaptación (adaptar 
situaciones anteriores que son recuperadas y verificadas para que satisfagan la situación 
actual), y Aprendizaje (el sistema se mantiene actualizado y en constante desarrollo al 
resolver nuevos problemas). [1] 
Algunas aplicación del razonamiento basado en casos es el diagnóstico de 
generadores eléctricos, en el análisis de imágenes naturales (determinan de manera 
automática la cantidad de mala hierba a partir de fotos del cultivo), en la clasificación de 
fallos en sistemas dinámicos, en la Arquitectura de un sistema para la educación a distancia. 
Bibliografía: 
 
1. Más allá del razonamiento basado en casos y una aproximación al modelado de 
sociedades utilizando minería de datos, Alberto Ochoa, José Alberto Hernández, 
Francisco J. Álvarez, Universidad Autónoma de Zacatecas, 2006, web: 
http://campusv.uaem.mx/cicos/memorias/5tocic2006/Articulos/articulo11.pdf 
 
2. Case-Based Reasoning: Foundational Issues, Methodological Variations, and System 
Approaches, A. Aamodt y E. Plaza, AICom - Artificial Intelligence Communications, 
1994, web: http://www.idi.ntnu.no/~agnar/publications/aicom-94.pdf 
 
 
Figura 2.5 Ciclo del razonamiento basado en casos 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 28 
 
 
2.1.5 Minería de datos (Data Mining) 
 
 El término Descubrimiento de Conocimiento en Bases de Datos (KDD) surge a 
principios de la década de 1990, debido a la gran cantidad de información disponible en las 
bases de datos y el manejo, análisis y la extracción de alguna información relevante. 
 
La Minería de datos (Data Mining) se define como una etapa dentro del proceso de 
descubrimiento de conocimiento en base de datos, que extrae y descubre hechos contenidos 
en las bases. Sin embargo el termino Data Mining es aceptado ya que reúne ventajas de áreas 
como la Estadística, la Inteligencia Artificial, la Computación Gráfica, las propias Bases de 
Datos y el Procesamiento Masivo, y su materia prima que son las bases de datos. 
 
La Minería de datos tiene como objetivos la exploración de los datos que se 
encuentran en las bases de datos, o en almacenes de datos (en ocasiones se tiene información 
almacenada durante años) y la consolidación de datos en almacenes y mercado de datos (más 
recientemente en servidores de Internet e Intranet). [2] 
 
 En general los pasos que lleva a cabo la minería de datos son: Selección de un grupo de 
datos (variables a calcular y de las que se parte para la búsqueda de las primeras), Análisis de 
los datos (dispersión de la información, datos raros o faltantes son observados), 
Transformación de los datos (diferentes técnicas de procesamiento son aplicadas a los datos), 
Selección y técnicas de minería de datos para extraer el conocimiento (para construir un 
modelo predictivo, de clasificación o segmentación) e Interpretación y evaluación de datos 
(validación de conclusiones).[1] 
 
Algunas de las áreas donde la minería de datos es aplicada son la detección de fraudes 
y análisis de riesgos en créditos (en ambas como técnica de clasificación); clasificación de 
cuerpos celestes (como técnica de reconocimiento de patrones de imágenes), en el marketing 
apuntado a objetivos (como técnica de predicción automatizada de tendencias y 
comportamientos), etc. 
 
Bibliografía: 
 
1. http://www.answermath.com/mineria_de_datos.htm 
2. Minería de Datos, Sofía J. Vallejos, Universidad Nacional del Nordeste, Argentina, 
2006, 
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/Mineria_Datos
_Vallejos.pdf 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 29 
 
2.1.6 Redes Bayesianas (Bayesian Networks) 
Las Redes bayesianas (RB) proponen soluciones mediante inferencia estadística. 
Dentro de las aplicaciones están por ejemplo: OLAE (Off-Line Assessment of Expertise) para 
la evaluación en la resolución de problemas de física, SIETTE (Sistema Inteligente de 
Evaluación mediante Test para la Teleeducación) basado en la Teoría de Respuesta al Ítem 
como herramientas básicas para desarrollar sistemas de Tutorización inteligente [1], 
HYDRIVE desarrollado por la Fuerza Aérea de Estados Unidos para simular el funcionamiento 
del avión de combate, etc. 
En el siguiente capítulo se detalla más a fondo las ideas que hay atrás de las redes 
bayesianas, conceptos estadísticos, métodos y casos especiales, así como su funcionamiento. 
Bibliografía: 
1. Sistemas de Tutorización Inteligente Basados en Redes Bayesianas, Jorge López Puga 
y Juan García García de la Universidad de Almería, España, Revista Electrónica de 
Metodología Aplicada, 2008, Vol. 13, web: http://www.psico.uniovi.es/REMA/v13n1/ 
vol13n1a2.pdf 
 
 
 
 
2.1.7 Redes y modelos ocultos de Márkov (Hidden Márkov Models and Networks) 
 
El matemático ruso Andréi AndréyevichMárkov (1856 - 1922) basa sus trabajos en la 
teoría de los números y la teoría de probabilidades. Específicamente en el campo de los 
procesos estocásticos en los que se implican componentes aleatorios, los más renombrados 
son: Desigualdad de Márkov, Teorema de Gauss-Márkov, Propiedad de Márkov (característica 
de un proceso estocástico), Modelo oculto de Márkov y Red de Márkov o Campo al azar de 
Márkov. [1] 
 
Un proceso estocástico tiene la propiedad de Márkov, cuando la distribución de 
probabilidad condicional de los estados siguientes depende únicamente del estado actual. 
Una red de Márkov o un Campo al azar de Márkov es un modelo grafico en el cual el conjunto 
de sus variables tienen la propiedad de Márkov y definen una grafica no dirigida. 
 
Son similares a las redes bayesianas en donde los nodos representan variables 
aleatorias y las aristas representan la dependencia estadística entre los nodos, con la ventaja 
de que atiende las dependencias cíclicas y con la desventaja de que no atiende las 
dependencias inducidas. La independencia en un conjunto de nodos S se da si un nodo X es 
condicionalmente independiente de otro nodo Y en la red de Márkov, esto ocurre si todos los 
caminos de X a Y pasa a través de un nodo S. 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 30 
 
 
 
 
Los modelos de Márkov 
son una extensión de las cadenas 
de Márkov (las cadenas de 
Márkov son señales observables, 
representadas en un proceso 
aleatorio paramétrico, que 
pueden ser determinadas con 
gran precisión) con la diferencia 
de que las señales no son 
observables. El objetivo de los 
modelos de Márkov es 
determinar los parámetros 
ocultos de una cadena a partir de 
los parámetros observables. 
 
Algunas aplicaciones de los modelos de Márkov son el reconocimiento de patrones, el 
análisis criptográfico, reconocimiento del habla y de sonidos, y en la medicina para análisis 
farmacéutico de algunas enfermedades [2], modelado de grupo de secuencias de proteínas en 
el ADN, etc. 
 
Algunas aplicaciones de desarrollo son Hidden Márkov Model (HMM) Toolbox de 
Matlab, Hidden Márkov Model Toolkit (HTK) de Microsoft, Jahmm Java Library es una 
biblioteca de Java, el General Hidden Márkov Model library (GHMM) del Algorithmics group 
del Max Planck Institute for Molecular Genetics, etc. 
 
 
Bibliografía: 
1. Márkov Random Fields and Their Applications, Ross Kindermann y J. Laurie Snell, 
Publicado por AMS, ISBN: 0-8218-3381-2, 1980, web: 
http://www.ams.org/publications/online-books/conm1-index 
2. Pharmacoeconomics, Spanish research articles, 2006, Vol. 3, publicado por Adis Data 
Information BV., web: 
http://www.healthvalue.org/pdfs/Pharmacoeconomics%20SRA%22006d.pdf 
 
 
 
 
 
 
Figura 2.6 Modelo oculto de Márkov, donde ‘X’ es una variable 
aleatoria que va en la secuencia de estados. ‘Y’ es una variable 
aleatoria que van sobre la salida de cada estado. 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 2. Inteligencia Artificial 31 
 
2.1.8 Redes de memoria temporal jerárquica (Hierarchical Temporal Memory 
Networks) 
 
En 2005 Jeff Hawkins, Dileep George y Donna Dubinsky crean la empresa Numenta en 
California y con ella la Plataforma Numenta de Computación Inteligente (NuPIC) que 
pretende asemejar el funcionamiento de la neocorteza del cerebro por medio de las redes de 
memoria temporal jerárquica (HTM). Permite a las computadoras aprender, reconocer 
imágenes, comprender una lengua, verificar el tráfico de la red de telecomunicaciones, 
moverse con facilidad en un entorno complejo e interpretar los datos adquiridos de la misma 
forma que lo hace el cerebro humano en el proceso de pensamiento. 
 
 El nombre proviene de: ‘H’ hierarchical, por su estructura en forma de árbol de 
nodos, cada uno de ellos implementa algoritmos de aprendizaje y memoria; ‘T’ temporal por 
requerir la presentación de los objetos a la red por medio de variaciones en el tiempo; ‘M’ 
memoria por que la memoria es ocupada para aprender patrones en las entradas e inferencia 
y determinar la probabilidad de que un objeto es uno de los ya conocidos. [1] 
 
Las funciones básicas que realizan son cuatro: Descubrimiento de causas, donde se van 
estableciendo creencias que son una distribución de probabilidades, que son representación 
de las causas que se van aprendiendo con el tiempo; Inferencia de causas mediante datos 
nuevos, esto asemeja, pero se logra con la sucesión de patrones no relacionados y la persista 
de la causa en la entrada; Predicciones, se realiza al combinar la memoria con nuevas 
secuencias de entrada y tratar de pronosticar los patrones siguientes y; Comportamiento, se 
realizar después de que la red HTM descubre las causas, entonces la red aprende 
comportamientos de los objetos modelados y aprende a predecir su actividad. 
 
Algunas aplicaciones desarrolladas por este entorno de programación son: el reconocimiento 
de caligrafía escrita a mano; el tratamiento de imágenes y sistemas de recuperación de 
imágenes; la identificación de canciones, el reconocimiento de mano, incluso con variaciones 
en el giro de la rotación de la mano; etc. 
 
Bibliografía: 
1. Jeff Hawkins y Dileep George, Numenta Inc., web: http://www.numenta.com 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
 
 
 
Capitulo 3 
 
Redes Bayesianas 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 33 
 
3. Redes Bayesianas (RB) 
 
Las redes bayesianas son una representación grafica de dependencias para 
razonamiento probabilístico y de conocimiento incierto, que permite establecer 
razonamientos basados en la teoría de la probabilidad, es decir las dependencia e 
independencias entre variables. Cada nodo de una red bayesiana está asociado a una variable 
aleatoria, que puede tomar valores dentro de un rango discreto o continuo y representa una 
entidad del mundo real. Dichos valores son exclusivos y exhaustivos para cada variable de la 
red. 
La información cuantitativa en una red bayesiana está dada por: la probabilidad a 
priori de los nodos que no tiene padres y la probabilidad condicionada de los nodos con 
padre. 
 
Formalmente una red Bayesiana para un conjunto de variables aleatorias X = {X1,…, 
Xn} es un par B = <G, T> [1] 
 
 G es una gráfica acíclica dirigida, cuyos nodos se encuentran en correspondencia uno a 
uno con las variables en X y cada arco representa las relaciones de dependencia entre las 
variables, donde la dirección representa la dependencia del origen al destino 
 T es un conjunto de funciones de probabilidad PB (xi|πxi) para cada variable de xi en Xi y 
cada posible valor πxi de Пxi, donde Пxi representa al conjunto de los padres de Xi en G 
 
 
De esta manera la red bayesiana B define una distribución de probabilidad sobre X de 
la siguiente manera (Teorema de la Factorización): 
 
P(X) = PB(X1, X2,…, Xn) = PB (xi|πxi). 
 
 
Dicha representación es importante porque nos permite describir una red bayesiana a 
partir de la probabilidad condicionada de cada nodo, en vez de una probabilidad conjunta que 
requiere un número exponencial en los parámetros para cada nodo, además sirve para 
verificar la separación direccional en la red. En general las funciones condicionadas tienen un 
número menor de variables que la función de probabilidad conjunta, es decir, el proceso de 
definición del modelo probabilístico es más sencillo. 
 
La discretización consiste en transformar los valores de una variable continua en un 
conjunto de valores discretos, donde se divide el dominio de la variable continua en un 
número finito de intervalos disjuntos que cubran completamente el dominio y luego se asigna 
a cada observación de la variable continua el valor correspondiente al intervalo que lo 
contiene. 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 34Para realizar la discretización pueden emplearse alguno de los siguientes métodos [2]: 
 
 Métodos Globales o Locales (los globales utilizan todas las observaciones para el proceso 
y los locales que sólo utilizan un subconjunto de las mismas). 
 Métodos Supervisados o No Supervisados (los supervisados utilizan la información de la 
clase a la que pertenece cada observación para mejorar la calidad de la discretización en 
tomar en consideración esta información y los no supervisados lo contrario). 
 Métodos Estáticos o Dinámicos (los estáticos son aquellos que discretizan cada variable 
independientemente de las demás y los dinámicos son aquellos que discretizan todas las 
variables simultáneamente tratando de utilizar las dependencias existentes entre ellas). 
 Métodos “top-down” o “bottom-up” (los top-down –separación- comienzan con una lista 
vacía de puntos de corte, después estos se van agregando dividiendo los intervalos 
conforme el proceso de discretización se realiza y los métodos bottom-up -
agrupamiento- comienzan con una lista completa de todos los valores continuos de la 
variable como puntos de corte, después estos se van eliminando juntando los intervalos 
conforme el proceso de discretización se realiza). 
 
Una distribución de probabilidad indica el rango de valores que pueden representarse 
para una variable y la probabilidad para cada uno de ellos, es similar a la distribución de 
frecuencias relativas, solo que en vez de describir el pasado, describe la probabilidad que un 
evento se realice en el futuro. La distribución de probabilidad es una función que asigna a 
cada valor de la variable (x) la probabilidad de que ocurra: Fx(x) = P(X ≤ x). 
 
Las funciones de probabilidad “Fx(x) = P(X ≤ x) = ” más comunes e 
importantes para variables discretas son presentadas en la siguiente tabla: 
 
Distribución binomial Distribución binomial negativa Distribución de Poisson 
F(x) = px(1-p)n 
X = {0, 1, 2, …, n} 
b*(x; k, θ) = θk (1-θ)x-k 
para x ≥k, x entero 
 
F (k; λ) = e-λλk / k! 
 
 
Tabla 3.1 Funciones de probabilidad para variables discretas 
 
Existen otras como la distribución geométrica, la distribución hipergeométrica y la 
distribución de Bernoulli. También existen distribuciones de probabilidad para variables 
continuas como la distribución χ, la distribución exponencial, la distribución normal, la 
distribución gamma, la distribución Beta y la distribución F. 
 
Debido a que la probabilidad conjunta es especificada por el producto d las 
probabilidades de cada variable dados sus padres, el tamaño de la tabla de probabilidad 
condicional crece exponencialmente con el número de padres de un nodo. Para realizar la 
reducción de las tablas se utilizan los métodos canónicos [1]: 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 35 
 
 
 Los Modelo de interacción disyuntiva (Noisy OR) 
 Los Modelo de interacción conjuntiva (Noisy AND) 
 La Compuerta Max (Noisy Max gate) y 
 La Compuerta Min (Noisy Min gate). 
 
 
Bibliografía: 
 
1. Luis Enrique Sucar, Chapter1. Redes Bayesianas. Santa María Tonanzintla, Puebla, 
México, web: http://ccc.inaoep.mx/~esucar/Clases-mgp/caprb.pdf 
2. Carlos López de Castilla Vásquez, Clasificadores por redes bayesianas. Universidad de 
Puerto Rico, Campus Mayagüez, Estado Libre, Puerto Rico, 2005, web: 
http://grad.uprm.edu/tesis/lopezdecastilla.pdf 
 
 
 
3.1 Método de Inferencia 
 
La inferencia estadística es un proceso que consiste en poder hacer afirmaciones 
sobre las características de una población con base en información observada únicamente en 
un pequeño subconjunto de la población. La inferencia se presenta cuando tenemos una red 
ya construida y valores concretos de algunas variables de una instancia y se trata de estimar 
los valores de otras variables de la misma instancia aplicando razonamiento probabilístico. 
La inferencia trata principalmente la estimación y la contrastación de hipótesis [1]. 
 
El proceso de inferencia en redes Bayesianas es de complejidad NP-duro, esto se debe 
a la presencia de ciclos no dirigidos en la red. En general los algoritmos se consideran 
manejables cuando el tiempo necesario para ejecutar el algoritmo es polinomial en el número 
de parámetros, es decir, el número de nodos en la red. 
 
El razonamiento probabilístico o propagación de probabilidades consiste en propagar 
los efectos de la evidencia a través de la red para conocer la probabilidad a posteriori de las 
variables, en otras palabras es, la evidencia es cuando se dan valores a ciertas variables y se 
obtiene la probabilidad posterior de las demás variables, dadas las variables conocidas 
(puede ser vacío u obtener las probabilidades a priori). 
 
Existen diferentes algoritmos para calcular las probabilidades posteriores, que 
dependen del tipo de estructura de la grafica y de la cantidad de probabilidades obtenidas, 
además son computacionalmente menos complejos. El teorema de factorización proporciona 
un primer método de actualización de las probabilidades dada la evidencia disponible. Los 
principales tipos de algoritmos de inferencia son [3]: 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 36 
 
 Algoritmo de eliminación para una variable en cualquier estructura. 
 Algoritmo de propagación de Pearl para cualquier variable en estructuras 
sencillamente conectadas. 
 Cualquier variable en cualquier estructura: Agrupamiento (junction tree), Simulación 
estocástica y Condicionamiento. 
 
Los algoritmos de propagación dependen de la estructura de la red como: Árboles, 
poliárboles y Redes multiconectadas. 
 
3.1.1 Algoritmo de propagación de probabilidad para arboles 
 
El algoritmo de propagación de probabilidades para redes con forma de árbol consta 
de dos fases: 
 
 Fase de inicialización: en esta fase se obtienen las probabilidades a priori de todos los 
nodos de la red, obteniendo un estado inicial de la red (S0). 
 Fase de actualización: Cuando una variable se instancia, se actualiza el estado de la red, 
obteniéndose las probabilidades a posteriori de las variables de la red basadas en la 
evidencia considerada, adoptando la red un estado (S1). 
 
Este paso se repite cada vez que una variable se instancia, obteniéndose los sucesivos 
estados de la red. 
 
La idea principal del algoritmo es que, cada vez que una variable se instancia o bien 
cuando actualiza su probabilidad, informa a sus nodos vecinos mediante el paso de mensajes, 
de la siguiente forma [2]: 
 
• El nodo hijo B envía a su padre A un λ-mensaje para informarle de que ha cambiado su 
valor/probabilidad. 
 
λB (Ai) = (Bj | Ai) λ(Bj) 
 
• El nodo B envía a todos sus hijos SK un mensaje πK (Bi) para informarlos de que ha 
cambiado su valor/probabilidad. 
 
πK(Bi) = α π(Bj) (Bj) 
 
Así, la información se va propagando por la red tanto en sentido descendente hasta 
llegar las hojas como ascendente hasta llegar a la raíz o un nodo instanciado, al finalizar cada 
nodo tiene un vector λ y un vector π y entonces se obtiene la probabilidad simplemente 
multiplicando ambos P*(Bi)=αλ(Bi)π(Bi). La propagación se realiza una sola vez en cada 
sentido (hacia la raíz y hacia las hojas). 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 37 
 
El algoritmo de propagación de probabilidades para redes con forma de red 
milticonectadas, se aplica a grafos en el que hay múltiples trayectorias entre nodos. Para 
realizar el algoritmo de propagación existen diversas técnicas, pues no aplican las de los 
árboles, siendo estas: Condicionamiento, Simulación estocástica y Agrupamiento, siendo este 
último el más común. 
 
El método de agrupamiento consiste en transformar la estructura de la red para 
obtener un árbol, mediante agrupación de nodos usando la teoría de grafos. Para ello, se hace 
una transformación de la red a un árbol de uniones (gruposde nodos) mediante el siguiente 
procedimiento: 
 
 
 Eliminar la direccionalidad de los arcos y ordenar de los nodos por máxima cardinalidad. 
 Moralizar el grafo (arco entre nodos con hijos comunes) y triangular el grafo. 
 Obtener los cliques, ordenar y construir un árbol de cliques (es un subconjunto de nodos 
completamente conectados máximo, de forma que hay un arco entre cada par de nodos y 
no existe un conjunto completamente conectado del que éste sea subconjunto). 
 
 
Para la propagación de probabilidades en este árbol de cliques se realiza obteniendo 
la probabilidad conjunta de cada clique. A partir de esta se puede obtener la probabilidad 
individual de cada variable en el clique, sin embargo hay que notar que la propagación en una 
red probabilística con una estructura compleja es un problema de complejidad NP-duro. 
 
 
Bibliografía: 
 
1. Luis Enrique Sucar, Chapter1. Redes Bayesianas. Santa María Tonanzintla, Puebla, 
México, web: http://ccc.inaoep.mx/~esucar/Clases-mgp/caprb.pdf 
 
2. Eva Millán Valldeperas, Redes Bayesianas. Málaga, España, web: 
http://www.lcc.uma.es/~eva/aic/Redes%20Bayesianas.pdf 
 
3. David A. Velasco Villanueva redes Bayesianas, Valladolid, España, mayo de 2007, 
web:http://www.infor.uva.es/~calonso/IAII/Aprendizaje/TrabajoAlumnos/ 
RBmemoria.pdf 
 
 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 38 
 
3.2 Método de Aprendizaje 
 
El problema del aprendizaje bayesiano es que dado un conjunto de entrenamiento D = 
{x1, x2,..., xn} de instancias de U, se encuentre la red bayesiana que se ajuste mejor a D., es 
decir, se induce un modelo, estructura y parámetros asociados, a partir de un conjunto de 
datos. Los tipos de aprendizaje que hay son: 
 
 Aprendizaje estructural, se obtiene la estructura o topología de la red. 
 Aprendizaje paramétrico, dada la estructura, se obtienen las probabilidades asociadas 
correspondientes a cada nodo. 
 
3.2.1 Aprendizaje paramétrico 
Cuando se tienen datos completos y suficientes para todas las variables en el modelo, 
es relativamente fácil obtener los parámetros, asumiendo que la estructura está dada. El 
método más común es el llamado estimador de máxima verosimilitud, bajo el cual se estiman 
las probabilidades en base a las frecuencias de los datos. Para una red bayesiana se tienen dos 
casos [1]: 
 
 Nodos raíz. Se estima la probabilidad marginal. 
 Nodos hoja. Se estima la probabilidad condicional de la variable dados sus padres. 
 
Dado que normalmente no se tienen suficientes datos, se tiene incertidumbre en las 
probabilidades estimadas. Esta incertidumbre se puede representar mediante una 
distribución de probabilidad, para el caso de variables binarias se modela con una 
distribución Beta y para variables multivaluadas mediante la distribución Dirichlet. Cuando 
los datos de entrenamiento no están completos se pueden plantear dos tipos de información 
incompleta: Valores faltantes (faltan algunos valores de uno o varias variables) y de Nodo 
oculto (en donde faltan todos los valores de una variable). Para tratar el primer problema se 
ocupan los métodos de considerar un nuevo valor adicional para la variable, considerar el 
valor más probable a partir de los datos de la misma en las demás instancias y considerar el 
valor más probable en base a las demás variables. Para tratar el segundo problema 
usualmente se ocupa el algoritmo “Expectation Maximization”, para asignar valores 
aleatorios, completar el conjunto de datos con valores estimados y recalcular las 
probabilidades de la red. 
 
 
3.2.2 Aprendizaje Estructural 
 
Consiste en encontrar las relaciones de dependencia entre las variables, de forma que 
se pueda determinar la topología o estructura de la red bayesiana. De acuerdo al tipo de 
estructura, podemos dividir los métodos de aprendizaje estructural en árboles, poliárboles y 
e redes multiconectadas, para este ultimo están los métodos basados en medidas y búsqueda, 
y basados en relaciones de dependencia [1]. 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 39 
 
 
La tarea de explorar un espacio de grafos es muy compleja, ya que cuando poco a poco 
se incrementa el número de variables, el número de posibles grafos a construir con ellas se 
incrementa. 
 
El aprendizaje de árboles se basa en un algoritmo para aproximar una distribución de 
probabilidad por un producto de probabilidades de segundo orden (Chow y Liu). La 
probabilidad conjunta de n variables es: P(X1, X2,…, Xn) = (Xi | Xj (i)) donde Xj (i) es el 
padre de Xi. 
Podemos entonces encontrar el árbol óptimo mediante el siguiente algoritmo 
(equivale al problema del maximum weight spanning tree): 
 
 Calcular la información mutua entre todos los pares de variables (si hay n variables, 
tenemos n(n-1)/2) 
 Ordenar las informaciones mutuas de mayor a menor 
 Seleccionar la rama de mayor valor como árbol inicial. 
 Agregar la siguiente rama mientras no forme un ciclo, en caso contario desechar. 
 Repetir el paso anterior hasta que se cubran todas las variables (n-1 ramas del árbol). 
 
 
3.2.3 Aprendizaje en poliárboles 
 
Es una extensión del algoritmo de Chow y Li, realizado por Rebane y Pearl, y aplicado 
para poliárboles. Este algoritmo se basa en probar las relaciones de dependencia entre todas 
las tripletas de variables en el esqueleto. Dadas 3 variables, existen tres casos posibles: Arcos 
divergentes, Arcos secuenciales y Arcos convergentes. La probabilidad conjunta es: P(x) = 
(Xi | Xj1 (i), Xj2 (i),…, Xjm (i)), en donde {Xj1 (i), Xj2 (i),…, Xjm (i)} es el conjunto de padres de la 
variable [1].El algoritmo consiste en: 
 
 
 Obtener el esqueleto utilizando el algoritmo de Chow y Liu. 
 Recorrer la red hasta encontrar una tripleta de nodos que sean convergentes (tercer 
caso) -nodo multipadre-. 
 A partir de un nodo multipadre determinar las direcciones de los arcos utilizando la 
prueba de tripletas hasta donde sea posible (base causal). 
 Repetir 2-3 hasta que ya no se puedan descubrir más direcciones. 
 Si quedan arcos sin direccionar utilizar semántica externa para obtener su dirección. 
 
 
 
 
 
MAESTRÍA EN INGENIERÍA DE LA COMPUTACIÓN 
Capitulo 3. Redes Bayesianas 40 
 
3.2.4 Aprendizaje de redes 
 
Existen dos métodos para el aprendizaje genérico de redes bayesianas (también para 
redes milticonectadas) los cuales son: medidas de ajuste y búsqueda, y pruebas de 
independencia. El método de aprendizaje basado en medidas globales hace una evaluación 
global de la estructura respecto a los datos. Existen algunas variantes: 1. Basado en medida de 
ajuste de la estructura a los datos (medida bayesiana y la medida basada en el principio de 
longitud de mínima, y 2. Basado en la búsqueda de la mejor estructura. El método de 
aprendizaje basado en pruebas de independencia considera una medida global, es decir se 
centra en medidas de dependencia local entre subconjuntos de variables. 
 
Bibliografía: 
 
1. David A. Velasco Villanueva redes Bayesianas, Valladolid, España, mayo de 2007, 
web: http://www.infor.uva.es/~calonso/IAII/Aprendizaje/TrabajoAlumnos/ 
RBmemoria.pdf 
 
3.3 Redes bayesianas dinámicas 
 
Las redes bayesianas representan el estado de las variables en un cierto momento en 
el tiempo, pero al representar procesos dinámicos existe una extensión a estos modelos 
llamada red bayesiana dinámica. La cual consiste en una representación de los estados del 
proceso en un tiempo (red estática) y en las relaciones temporales entre dichos procesos (red 
de transición). Algo parecido a una generalización de las cadenas ocultas de Márkov [1]. Esta 
tiene las siguientes suposiciones: 
 
 Proceso markoviano, el estado actual sólo depende del estado anterior, en caso si hay 
arcos entre tiempos consecutivos. 
 Proceso estacionario en el tiempo, las probabilidades condicionales en

Continuar navegando