157
OPTIMIZACIÓN DE REDES BAYESIANAS BASADO EN TÉCNICAS DE APRENDIZAJE POR INDUCCIÓN TESIS DE GRADO EN INGENIERÍA INFORMÁTICA FACULTAD DE INGENIERÍ A UNIVERSIDAD DE BUENOS AIRES TESISTA: Sr. Pablo Ezequiel FELGAER DIRECTORES: Prof. Dr. Ramón GARCÍA-MARTÍNEZ Prof. M. Ing. Paola BRITOS Laboratorio de Sistemas Inteligentes FEBRERO 2005

OPTIMIZACIÓN DE REDES BAYESIANAS BASADO EN TÉCNICAS …laboratorios.fi.uba.ar/lsi/felgaer-tesisingenieriainform... · 2005-06-08 · Resumen Una red bayesiana es un grafo acíclico

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

OPTIMIZACIÓN DE REDES BAYESIANAS BASADO

EN TÉCNICAS DE APRENDIZAJE POR INDUCCIÓN

TESIS DE GRADO EN INGENIERÍA INFORMÁTICA

FACULTAD DE INGENIERÍA

UNIVERSIDAD DE BUENOS AIRES

TESISTA: Sr. Pablo Ezequiel FELGAER

DIRECTORES: Prof. Dr. Ramón GARCÍA-MARTÍNEZ

Prof. M. Ing. Paola BRITOS

Laboratorio de Sistemas Inteligentes

FEBRERO 2005

OPTIMIZACIÓN DE REDES BAYESIANAS BASADO EN TÉCNICAS

DE APRENDIZAJE POR INDUCCIÓN

TESIS DE GRADO EN INGENIERÍA INFORMÁTICA

Laboratorio de Sistemas Inteligentes

FACULTAD DE INGENIERÍA

UNIVERSIDAD DE BUENOS AIRES

Sr. Pablo Ezequiel Felgaer Prof. Dr. Ramón García-Martínez

Tesista Director

FEBRERO 2005

Resumen

Una red bayesiana es un grafo acíclico dirigido en el que cada nodo representa una

variable y cada arco una dependencia probabilística; son utilizadas para proveer : una forma

compacta de representar el conocimiento y métodos flexibles de razonamiento. El obtener

una red bayesiana a partir de datos es un proceso de aprendizaje que se divide en dos

etapas: el aprendizaje estructural y el aprendizaje paramétrico. En este trabajo se define un

método de aprendizaje automático que optimiza las redes bayesianas aplicadas a

clasificación mediante la utilización de un método de aprendizaje híbrido que combina las

ventajas de las técnicas de inducción de los árboles de decisión (TDIDT - C4.5) con las de

las redes bayesianas.

Palabras clave : Redes bayesianas. Aprendizaje por inducción. Clasificación. Sistemas

inteligentes híbridos.

Abstract

A bayesian network is a directed acyclic graph in which each node represents a

variable and each arc a probabilistic dependency; they are used to provide: a compact form

to represent the knowledge and flexible methods of reasoning. Obtaining a bayesian

network from data is a learning process that is divided in two steps: structural learning and

parametric learning. In this paper we define an automatic learning method that optimizes

the bayesian networks applied to classification using a hybrid method of learning that

combines the advantages of the induction techniques of the decision trees (TDIDT - C4.5)

with those of the bayesian networks.

Keywords : Bayesian networks. Induction learning. Classification. Hybrid intelligent

systems.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Índice Pablo Felgaer i

Índice

1. Introducción.................................................................................................................... 1

2. Estado del arte................................................................................................................. 5

2.1. Introducción............................................................................................................ 5

2.2. Redes bayesianas .................................................................................................... 7

2.2.1. Definición formal de las redes bayesianas...................................................... 8

2.2.2. Representación del conocimiento .................................................................11

2.2.3. Independencia condicional ...........................................................................12

2.2.4. Inferencia ......................................................................................................15

2.2.5. El aprendizaje en las redes bayesianas .........................................................28

2.2.6. Ventajas de las redes bayesianas ..................................................................36

2.3. Árboles de decisión – TDIDT...............................................................................39

2.3.1. Características de los árboles de decisión.....................................................39

2.3.2. Construcción de los árboles de decisión.......................................................39

2.3.3. Descripción general de los algoritmos..........................................................44

2.3.4. Presentación de los resultados ......................................................................53

2.4. Marco de la tesis ........................................................................................................54

3. Descripción del problema .............................................................................................55

4. Solución propuesta........................................................................................................57

4.1. Datos de entrada ...................................................................................................57

4.2. Sistema integrador ................................................................................................58

4.3. Otros abordajes .....................................................................................................60

5. Prueba experimental .....................................................................................................61

5.1. Descripción de los dominios.................................................................................61

5.1.1. Cáncer ...........................................................................................................62

5.1.2. Cardiología ...................................................................................................63

5.1.3. Dengue ..........................................................................................................64

5.1.4. Hongos ..........................................................................................................66

5.2. Metodología utilizada ...........................................................................................67

5.3. Análisis estadístico de los resultados....................................................................69

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

ii Pablo Felgaer Índice

5.3.1. Prueba de hipótesis estadísticas ....................................................................69

5.3.2. El test de Wilcoxon para la comparación de muestras apareadas ................71

5.3.3. Aplicación del test a los resultados...............................................................74

5.4. Resultados .............................................................................................................75

5.4.1. Cáncer ...........................................................................................................75

5.4.2. Cardiología ...................................................................................................77

5.4.3. Dengue ..........................................................................................................80

5.4.4. Hongos ..........................................................................................................82

6. Conclusiones .................................................................................................................85

Referencias ...........................................................................................................................87

A. Casos de uso .................................................................................................................95

A.1. Menú Archivo.......................................................................................................95

A.2. Menú Red..............................................................................................................96

A.3. Menú Nodo ...........................................................................................................97

A.4. Menú Herramientas ..............................................................................................98

A.5. Menú Configuración.............................................................................................99

A.6. Menú Ayuda ....................................................................................................... 100

B. Gestión de configuración............................................................................................ 103

B.1. Identificación de la configuración...................................................................... 103

B.2. Control de configuración.................................................................................... 103

B.3. Generación de informes de estado...................................................................... 105

C. Lote de prueba ............................................................................................................ 107

C.1. Plan de pruebas ................................................................................................... 107

C.2. Documento de diseño de la prueba..................................................................... 109

C.3. Especificación de los casos de prueba ................................................................ 110

C.4. Especificación del procedimiento de prueba ...................................................... 112

C.5. Informe de los casos de prueba ejecutados ......................................................... 113

C.6. Informe de la prueba ........................................................................................... 115

C.7. Anexo con documentación de las pruebas realizadas ......................................... 116

D. Manual del usuario ..................................................................................................... 125

D.1. Introducción........................................................................................................ 125

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Índice Pablo Felgaer iii

D.2. Estructuración del sistema .................................................................................. 125

D.2.1. Menú de opciones ....................................................................................... 126

D.2.2. Barra de herramientas ................................................................................. 127

D.2.3. Lista de nodos ............................................................................................. 128

D.2.4. Área de visualización.................................................................................. 128

D.2.5. Barra de estado ........................................................................................... 129

D.3. Abrir una red bayesiana ...................................................................................... 129

D.4. Guardar una red bayesiana .................................................................................. 130

D.5. Minería de datos ................................................................................................. 130

D.6. Trabajar con una red bayesiana .......................................................................... 134

D.6.1. Instanciar nodos .......................................................................................... 134

D.6.2. Información de la red .................................................................................. 135

D.6.3. Visualización de la red................................................................................ 137

D.7. Archivos externos ............................................................................................... 140

D.7.1. Archivos de redes ....................................................................................... 140

D.7.2. Archivos de datos ....................................................................................... 143

Índice de figuras

Figura 2.1: Ejemplo de red bayesiana...................................................................................13

Figura 2.2: Ejemplo de red bayesiana...................................................................................14

Figura 2.3: “The dog barking problem”. ..............................................................................22

Figura 2.4: “The dog barking problem” – Instanciación del nodo d ....................................25

Figura 2.5: “The dog barking problem” – Estado inicial......................................................26

Figura 2.6: “The dog barking problem” – Instanciación del nodo h ....................................26

Figura 2.7: “The dog barking problem” – Instanciación de los nodos h y f.........................27

Figura 2.8 “The dog barking problem” – Instanciación de los nodos h, f y d......................28

Figura 2.9: Tipos de conexiones en un grafo dirigido: (a) divergentes, (b) secuenciales y (c)

convergentes .................................................................................................................33

Figura 4.1: Esquema de obtención de redes bayesianas completas ......................................58

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

iv Pablo Felgaer Índice

Figura 4.2: Esquema de obtención de redes bayesianas C4.5 ..............................................59

Figura 4.3: Esquema del proceso de verificación del poder predictivo. ...............................60

Figura A.1: Casos de uso “Archivo”. ....................................................................................96

Figura A.2: Casos de uso “Red”. ..........................................................................................97

Figura A.3: Casos de uso “Nodo”.........................................................................................98

Figura A.4: Casos de uso “Herramientas”. ..........................................................................98

Figura A.5: Casos de uso “Configuración”. ....................................................................... 100

Figura A.6: Casos de uso “Ayuda”. .................................................................................... 101

Figura C.1: Abrir una red bayesiana (01) ........................................................................... 116

Figura C.2: Ver la tabla de probabilidades totales de una red bayesiana (04) .................... 117

Figura C.3: Ordenar la red bayesiana en la pantalla (05) ................................................... 117

Figura C.4: Instanciar un nodo de una red bayesiana (06) ................................................. 118

Figura C.5: Instanciar un nodo de una red bayesiana (07) ................................................. 118

Figura C.6: Desinstanciar un nodo de una red bayesiana (08) ........................................... 119

Figura C.7: Ver la tabla de probabilidades condicionales de un nodo de una red bayesiana

(09).............................................................................................................................. 119

Figura C.8: Ver la tabla de probabilidades totales de un nodo de una red bayesiana (10) . 120

Figura C.9: Ver las propiedades de un nodo de una red bayesiana (11) ............................ 120

Figura C.10: Proceso de Minería de Datos (12) ................................................................. 121

Figura C.11: Ocultar la barra de estado (13) ...................................................................... 121

Figura C.12: Ocultar la barra de herramientas (15) ............................................................ 122

Figura C.13; Mostrar los nodos de una red bayesiana por nombres (17) ........................... 122

Figura C.14: Mostrar los nodos de una red bayesiana por probabilidades (18) ................. 123

Figura C.15: Mostrar los nodos de una red bayesiana en los diferentes tamaños posibles

(19).............................................................................................................................. 123

Figura C.16: Ver las referencias respecto a los colores y las formas que se visualizan en el

sistema (20)................................................................................................................. 124

Figura D.1: Estructuración del sistema............................................................................... 125

Figura D.2: Abrir una red bayesiana................................................................................... 129

Figura D.3: Minería de datos – Presentación. ..................................................................... 130

Figura D.4: Minería de datos – Seleccionar archivo. ......................................................... 131

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Índice Pablo Felgaer v

Figura D.5: Minería de datos – Seleccionar archivo. ......................................................... 131

Figura D.6: Minería de datos – Seleccionar nodos raíz. ..................................................... 132

Figura D.7: Minería de datos – Seleccionar relaciones y restricciones.............................. 133

Figura D.8: Minería de datos – Realizando minería de datos. ............................................ 133

Figura D.9: Minería de datos – Definir direccionalidad de las relaciones. ........................ 134

Figura D.10: Instanciación de variables ............................................................................. 135

Figura D.11: Probabilidades totales de la red. .................................................................... 135

Figura D.12: Probabilidades condic ionales de un nodo. .................................................... 136

Figura D.13: Probabilidades totales de un nodo. ................................................................ 136

Figura D.14: Propiedades de un nodo................................................................................. 136

Figura D.15: Visualización por Número. ........................................................................... 137

Figura D.16 Visualización por Nombre. ............................................................................. 138

Figura D.17: Visualización por Probabilidad (tamaño grande). ......................................... 138

Figura D.18: Visualización por Probabilidad (tamaño pequeño). ...................................... 139

Figura D.19: Referencias de formas y colores del sistema................................................. 139

Índice de gráficos

Gráfico 5.1: Gráfico del poder predictivo para la base de datos “Cáncer”. ..........................75

Gráfico 5.2: Gráfico del poder predictivo para la base de datos “Cardiología”. ..................78

Gráfico 5.3: Gráfico del poder predic tivo para la base de datos “Dengue”. ........................80

Gráfico 5.4: Gráfico del poder predictivo para la base de datos “Hongos”. ........................83

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Introducción Pablo Felgaer 1

1. Introducción

Una red bayesiana es un grafo acíclico dirigido en el que cada nodo representa una

variable y cada arco una dependencia probabilística; son utilizadas para proveer: una forma

compacta de representar el conocimiento y métodos flexibles de razonamiento. El obtener

una red bayesiana a partir de datos es un proceso de aprendizaje que se divide en dos

etapas: el aprendizaje estructural y el aprendizaje paramétrico. En este trabajo se define un

método de aprendizaje automático que optimiza las redes bayesianas aplicadas a

clasificación mediante la utilización de un método de aprendizaje híbrido que combina las

ventajas de las técnicas de inducción de los árboles de decisión (TDIDT - C4.5) con las de

las redes bayesianas.

Esta tesis se encuentra estructurada a lo largo de 6 capítulos principales y 4 capítulos

anexos.

El capítulo 2 describe el estado actual de los campos de estudio relacionados con esta

tesis. En la sección 2.1 se presenta una introducción general a la minería de datos, la

sección 2.2 presenta los conceptos y teorías importantes relativas a las redes bayesianas y a

lo largo de la sección 2.3 se presentan los árboles de decisión. En la sección 2.4 se presenta

el marco de investigación en el cual se desarrolló la presente tesis.

En el capítulo 3 se presenta el contexto de nuestro problema de interés.

En el capítulo 4 se presentan todos los aspectos relativos de la solución propuesta. En

la sección 4.1 se describen las características que deben cumplir los datos de entrada que

serán analizados y en la sección 4.2 se presenta la estructura del sistema integrador

utilizado. La sección 4.3 presenta antecedentes de otros abordajes para solucionar

problemas similares.

En el capítulo 5 se describen las pruebas que se realizaron para evaluar la efectividad

de la solución propuesta y se presentan los resultados obtenidos. En la sección 5.1 se realiza

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

2 Pablo Felgaer Introducción

una descripción de los dominios analizados, en la sección 5.2 se presenta la metodología

utilizada para llevar a cabo las pruebas experimentales, la sección 5.3 describe la teoría en

la que se basa el análisis estadístico de los resultados y, por último, en la sección 5.4 se

exponen los resultados obtenidos.

En el capítulo 6 se presentan las conclusiones extraídas a partir de la investigación

realizada y de los resultados obtenidos.

El anexo A describe los casos de uso analizados para llevar adelante el desarrollo del

sistema.

El anexo B presenta la gestión de configuración realizada para llevar a cabo el control

de cambios y modificaciones al sistema. La sección B.1 presenta las caracter ísticas

principales relativas al desarrollo del sistema, la sección B.2 indica la metodología utilizada

para llevar a cabo las correcciones de errores y gestión de cambios y, por último, la sección

B.3 muestra la generación de los informes de estado relativos al desarrollo del sistema.

El anexo C describe las pruebas realizadas para validar el correcto funcionamiento

del sistema. En la sección C.1 se presenta el plan de pruebas, la sección C.2 describe el

diseño de las pruebas, en la sección C.3 se presentan la especificación de los casos de

prueba a validar, en la sección C.4 se muestra el procedimiento de prueba para llevar a cabo

dicho control, la sección C.5 indica los resultados obtenidos para cada una de las pruebas

ejecutadas, en la sección C.6 se presenta el informe final con las conclusiones obtenidas

respecto al funcionamiento del sistema y, por último, la sección C.7 presenta

documentación anexa relativa a las pruebas realizadas.

En el anexo D se presenta el manual de usuario correspondiente al sistema de

“Minería de Datos mediante Redes Bayesianas” desarrollado. La sección D.1 presenta una

introducción, la sección D.2 describe la estructura general del sistema, la sección D.3

explica la operatoria para abrir redes bayesianas, la sección D.4 define la forma de guardar

las redes, la sección D.5 presenta la herramienta de minería de datos, la sección D.6 expone

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Introducción Pablo Felgaer 3

la manera de manipular las redes bayesianas a través del sistema y, finalmente, la sección

D.7 presenta los formatos de archivo de entrada y salida con los que el sistema interactúa.

También se presenta como anexo a este trabajo, un CD-ROM conteniendo el código

fuente del sistema desarrollado y las bases de datos de pruebas utilizadas.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 5

2. Estado del arte

2.1. Introducción

El aprendizaje puede ser definido como “cualquier proceso a través del cual un

sistema mejora su eficiencia” [Simon, 1983]. La habilidad de aprender es considerada como

una característica central de los “sistemas inteligentes” [Fritz et al., 1989; García-Martínez

& Borrajo, 2000] y es por esto que se ha invertido esfuerzo y dedicación en la investigación

y el desarrollo de esta área. El desarrollo de los sistemas basados en conocimientos motivó

la investigación en el área del aprendizaje con el fin de automatizar el proceso de

adquisición de conocimientos el cual se considera uno de los problemas principales en la

construcción de estos sistemas.

Un aspecto importante en el aprendizaje inductivo es el de obtener un modelo que

represente el dominio de conocimiento y que sea accesible para el usuario ; en particular

resulta importante obtener la información de dependencia entre las variables involucradas

en el fenómeno en los sistemas donde se desea predecir el comportamiento de algunas

variables desconocidas basados en otras conocidas; una representación del conocimiento

que es capaz de capturar esta información sobre las dependencias entre las variables son las

redes bayesianas [Cowell et al., 1990; Ramoni & Sebastiani, 1999].

Se denomina Minería de Datos al conjunto de técnicas y herr amientas aplicadas al

proceso no trivial de extraer y presentar conocimiento implícito, previamente desconocido,

potencialmente útil y humanamente comprensible, a partir de grandes conjuntos de datos,

con objeto de predecir de forma automatizada tendencias y comportamientos y describir de

forma automatizada modelos previamente desconocidos [Piatetski-Shapiro et al., 1991;

Chen et al., 1996; Mannila, 1997]. El término Minería de Datos Inteligente [Evangelos &

Han, 1996; Michalski et al., 1998] refiere específicamente a la aplicación de métodos de

aprendizaje automático [Michalski et al., 1983; Holsheimer & Siebes, 1991] para descubrir

y enumerar patrones presentes en los datos; para estos se desarrollaron un gran número de

métodos de análisis de datos basados en la estadística [Michalski et al., 1982]. En la medida

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

6 Pablo Felgaer Estado del arte

en que se incrementaba la cantidad de información almacenada en las bases de datos, estos

métodos empezaron a enfrentar problemas de eficiencia y escalabilidad y es aquí donde

aparece el concepto de minería de datos. Una de las diferencias entre al análisis de datos

tradicional y la minería de datos es que el primero supone que las hipótesis ya están

construidas y validadas contra los datos, mientras que el segundo supone que los patrones e

hipótesis son automáticamente extraídos de los datos [Hernández Orallo, 2000]. Las tareas

de la minería de datos se pueden clasificar en dos categorías: minería de datos descriptiva y

minería de datos predictiva [Piatetski-Shapiro et al., 1996; Han, 1999].

Una red bayesiana es un grafo acíclico dirigido en el que cada nodo representa una

variable y cada arco una dependencia probabilística en la cual se especifica la probabilidad

condicional de cada variable dados sus padres; la variable a la que apunta el arco es

dependiente (causa-efecto) de la que está en el origen de éste. La topología o estructura de

la red nos da información sobre las dependencias probabilísticas entre las variables pero

también sobre las independencias condicionales de una variable (o conjunto de variables)

dada otra u otras variables; dichas independencias simplifican la representación del

conocimiento (menos parámetros) y el razonamiento (propagación de las probabilidades).

El obtener una red bayesiana a partir de datos es un proceso de aprendizaje que se divide en

dos etapas: el aprendizaje estructural y el aprendizaje paramétrico [Pearl, 1988]. La primera

de ellas consiste en obtener la estructura de la red bayesiana, es decir, las relaciones de

dependencia e independencia entre las variables involucradas. La segunda etapa tiene como

finalidad obtener las probabilidades a priori y condicionales requeridas a partir de una

estructura dada.

Estas redes [Pearl, 1988] son utilizadas en diversas áreas de aplicación como por

ejemplo en medicina [Beinlinch et al., 1989], ciencia [Bickmore, 1994; Breese & Blake,

1995] y economía [Ezawa & Schuermann, 1995]. Las mismas proveen una forma compacta

de representar el conocimiento y métodos flexibles de razonamiento –basados en las teorías

probabilísticas– capaces de predecir el valor de variables no observadas y explicar las

observadas. Entre las características que poseen las redes bayesianas se puede destacar que

permiten aprender sobre relaciones de dependencia y causalidad, permiten combinar

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 7

conocimiento con datos [Heckerman et al., 1995; Díaz & Corchado, 1999] y pueden

manejar bases de datos incompletas [Heckerman, 1995; Heckerman & Chickering, 1996;

Ramoni & Sebastiani, 1996].

2.2. Redes bayesianas

Las redes bayesianas o probabilísticas se fundamentan en la teoría de la probabilidad

y combinan la potencia del teorema de Bayes con la expresividad semántica de los grafos

dirigidos; las mismas permiten representar un modelo causal por medio de una

representación gráfica de las independencias / dependencias entre las variables que forman

parte del dominio de aplicación [Pearl, 1988].

Una red bayesiana es un grafo acíclico dirigido –las uniones entre los nodos tienen

definidas una dirección– en el que los nodos representan variables aleatorias y las flechas

representan influencias causales; el que un nodo sea padre de otro implica que es causa

directa del mismo.

Se puede interpretar a una red bayesiana de dos formas:

1. Distribución de probabilidad: Representa la distribución de la probabilidad

conjunta de las variables representadas en la red.

2. Base de reglas: Cada arco representa un conjunto de reglas que asocian a las

variables involucradas. Dichas reglas están cuantificadas por las probabilidades

respectivas.

A continuación se describirán los fundamentos teóricos de las redes bayesianas y

distintos algoritmos de propagación.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

8 Pablo Felgaer Estado del arte

2.2.1. Definición formal de las redes bayesianas

Una red bayesiana es un grafo acíclico dirigido en el que los nodos representan

variables aleatorias que pueden ser continuas o discretas; en las siguientes definiciones se

utilizarán letras mayúsculas para denotar los nodos ( X ) y las correspondientes letras

minúsculas para designar sus posibles estados ( ix ).

Los estados que puede tener una variable deben cumplir con dos propiedades:

1. Ser mutuamente excluyentes, es decir, un nodo sólo puede encontrarse en uno de sus

estados en un momento dado.

2. Ser un conjunto exhaustivo, es decir, un nodo no puede tener ningún valor fuera de

ese conjunto.

A continuación se indican algunas definiciones y notaciones propias de la

terminología de las redes bayesianas:

• Nodo

Un nodo X es una variable aleatoria que puede tener varios estados ix . La

probabilidad de que el nodo X este en el estado x se denotará como

)()( xXPxP == .

• Arco

Es la unión entre dos nodos y representa la dependencia entre dos variables del

modelo. Un arco queda definido por un par ordenado de nodos ),( YX .

• Padre

El nodo X es un padre del nodo Y , si existe un arco ),( YX entre los dos nodos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 9

• Hijo

El nodo Y es un hijo del nodo X , si existe un arco ),( YX entre los dos nodos.

• Probabilidad conjunta

Dado un conjunto de variables },,,{ ZYX K , la probabilidad conjunta especifica la

probabilidad de cada combinación posible de estados de cada variable

kjizyxP kji ,,,),,,( KK ∀ , de manera que se cumple que:

1),,,(,,

=∑kji

kji zyxPK

K

• Probabilidad condicional

Dadas dos variables X e Y , la probabilidad de que ocurra jy dado que ocurrió el

evento ix es la probabilidad condicional de Y dado X y se denota como )|( ij xyP .

La probabilidad condicional por definición es:

)(

),()|(

i

ijij xP

xyPxyP = , dado 0)( >ixP

Análogamente, si se intercambia el orden de las variables:

)(

),()|(

j

ijji yP

xyPyxP =

A partir de las dos fórmulas anteriores se obtiene:

)(

)|()()|(

i

jijij xP

yxPyPxyP =

esta expresión se conoce como el Teorema de Bayes que en su forma más general es:

∑=

j jji

jijij yPyxP

yxPyPxyP

)()|(

)|()()|(

al denominador se lo conoce como el Teorema de la Probabilidad Total.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

10 Pablo Felgaer Estado del arte

En las redes bayesianas el conjunto de valores que componen la probabilidad

condicional de un hijo dados sus padres, se representa en las llamadas tablas de

probabilidad condicional.

• Independencia

Dos variables X e Y son independientes si la ocurrencia de una no tiene que ver con

la ocurrencia de la otra. Por definición se cumple que Y es independiente de X si y

sólo si:

jixPyPxyP ijij ,)()(),( ∀=

Esto implica que:

jiyPxyP jij ,)()|( ∀=

jixPyxP iji ,)()|( ∀=

• Observación

Es la determinación del estado de un nodo ( xX = ) a partir de un dato obtenido en el

exterior del modelo.

• Evidencia

Es el conjunto de observaciones },,,{ zZyYxXe ==== K en un momento dado.

• Probabilidad a priori

Es la probabilidad de una variable en ausencia de evidencia.

• Probabilidad a posteriori

Es la probabilidad de una variable condicionada a la existencia de una determinada

evidencia ; la probabilidad a posteriori de X cuando se dispone de la evidencia e se

calcula como )|( eXP .

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 11

2.2.2. Representación del conocimiento

Una red bayesiana representa relaciones causales en el dominio del conocimiento a

través de una estructura gráfica y las tablas de probabilidad condicional entre los nodos, por

lo tanto el conocimiento que representa la red está compuesto por los siguientes elementos:

1. Un conjunto de nodos }{ iX que representan cada una de las variables del modelo.

Cada una de ellas tiene un conjunto exhaustivo de estados }{ ix mutuamente

excluyentes.

2. Un conjunto de enlaces o arcos ),( ji XX entre aquellos nodos que tienen una

relación causal. De esta manera todas las relaciones están explícitamente

representadas en el grafo.

3. Una tabla de probabilidad condicional asociada a cada nodo iX indicando la

probabilidad de sus estados para cada combinación de los estados de sus padres. Si

un nodo no tiene padres se indican sus probabilidades a priori.

La estructura de una red bayesiana se puede determinar de la siguiente manera:

1. Se asigna un vértice o nodo a cada variable ( iX ) y se indica de qué otros vértices es

una causa directa; a ese conjunto de vértices “causa del nodo iX ” se lo denota como

el conjunto iXπ y se lo llamará “padres de iX ”.

2. Se une cada padre con sus hijos con flechas que parten de los padres y llegan a los

hijos.

3. A cada variable iX se le asigna una matriz )|(iXixP π que estima la probabilidad

condicional de un evento ii xX = dada una combinación de valores de los iXπ .

Una vez que se ha diseñado la estructura de la red y se han especificado todas la s

tablas de probabilidad condicional se está en condiciones de conocer la probabilidad de una

determinada variable dependiendo del estado de cualquier combinación del resto de

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

12 Pablo Felgaer Estado del arte

variables de la red; para ello se debe calcular la probabilidad a posteriori de cada variable

condicionada a la evidencia; estas probabilidades a posteriori se podrán obtener de forma

inmediata a partir de la probabilidad conjunta de todas las variables ),,,( 21 ixxxP K . A

continuación se indica cómo este proceso se ve simplificado al aplicar la propiedad de

independencia condicional que permite obtener la probabilidad conjunta a partir de las

probabilidades condicionales de cada nodo en función de sus padres.

2.2.3. Independencia condicional

Como se indicó anteriormente la topología o estructura de una red bayesiana no sólo

representa explícitamente dependencias probabilísticas entre variables, sino que también

describe implícitamente las independencias condicionales existentes entre ellas. La

siguiente definición muestra las condiciones que deben darse para que dos variables sean

condicionalmente independientes:

Una variable X es condicionalmente independiente de otra Y dada una tercer

variable Z , si el conocer Z hace que X e Y sean independientes. Es decir, si

conozco Z , Y no tiene influencia en X . Esto es: )|(),|( ZXPZYXP =

Esta definición se traduce a que cada variable es independiente de todos aquellos

nodos que no son sus “descendientes” una vez que se conocen sus propios nodos padres; a

lo largo de este trabajo se utilizarán las palabras “nodos” y “variables” como sinónimos.

Gráficamente se verifica en los casos en que los nodos X e Y están separados por Z en el

grafo. Esto implica que todos los caminos para ir de X a Y pasarán necesariamente por Z

[Pearl, 1988].

Por ejemplo, en la red bayesiana de la figura 2.1, }{E es condicionalmente

independiente de },,,,{ GFDCA dado }{B ; con lo cual )|(),,,,,|( BEPGFDCBAEP = ;

esto se conoce como Separación-D.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 13

Figura 2.1: Ejemp lo de red bayesiana.

En una red bayesiana todas las relaciones de independencia condicional representadas

en el grafo corresponden a relaciones de independencia en la distribución de probabilidad.

Si enumeramos los nodos de una red bayesiana, iXXX K,, 21 , de manera que se cumpla

que cada nodo aparece en la secuencia antes que cualquiera de sus hijos, dicha red

representa el siguiente aserto de independencia:

Cada variable iX es condicionalmente independiente de las variables del conjunto

},,,{ 121 −iXXX K conocidos los valores de sus padres.

Otra manera de expresarlo es:

Conociendo los padres de iX , éste se hace independiente del resto de sus

predecesores.

La regla de la cadena [Pearl, 1988] sostiene que la probabilidad conjunta puede ser

calculada como:

∏=

−=n

tttn xxxxPxxxP

112121 ),,|(),,,( KK

A B

D C E

G F

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

14 Pablo Felgaer Estado del arte

Los asertos de independencia condicional junto con las tablas de probabilidad

condicional nos permiten obtener la tabla de probabilidad conjunta de todas las variables a

partir de las tablas de probabilidad condicional de cada variable en función de sus padres;

de esta forma, aplicando la regla de la cadena conjuntamente con la propiedad de

independencia condicional se obtiene:

∏∏==

− ==n

txt

n

tttn t

xPxxxxPxxxP11

12121 )|(),,|(),,,( πKK

El siguiente ejemplo muestra el proceso para calcular la probabilidad conjunta de

varias variables conocida la estructura gráfica de la red y sus respectivas probabilidades

condicionales en función de sus padres:

Figura 2.2: Ejemplo de red bayesiana.

La figura 2.2 representa una red bayesiana que contiene el conjunto de nodos

},,,,,,{ gwsrhed ; si se elige una ordenación de los nodos de manera que se cumpla que

todo nodo aparece antes que sus hijos se obtiene, por ejemplo, el conjunto

},,,,,,{ gwdsreh ; aplicando la regla de la cadena y que cada nodo es independiente de sus

predecesores conocidos sus padres se obtiene que:

h e

s

w

r

g d

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 15

)|()|()|(),|()|()()(),,,,,,(

),,,,,|(),,,,,,(),,,,|(),,,|(),,|(),|()|()(),,,,,,(

sgPswPsdPehsPerPePhPgwdsrehP

wdsrehgPgwdsrehPdsrehwPsrehdPrehsPehrPhePhPgwdsrehP

=

==

KK

La expresión anterior calcula la probabilidad conjunta de todos los nodos que

componen la red a partir de las probabilidades condicionales de cada nodo en función de

sus nodos padres. Dichas independencias condicionales son importantes porque simplifican

la representación del conocimiento (menos parámetros) y el proceso de razonamiento o

inferencia (propagación de probabilidades).

2.2.4. Inferencia

2.2.4.1. Introducción

La inferencia es el proceso de introducir nuevas observaciones y calcular las nuevas

probabilidades que tendrán el resto de las variables; por lo tanto dicho proceso consiste en

calcular las probabilidades a posteriori )|( iyYXP = de un conjunto de variables X

después de obtener un conjunto de observaciones iyY = (donde Y es la lista de variables

observadas e iy es la lista correspondiente a los valores observados). El fundamento

matemático en el que se basan las redes probabilísticas para llevar a cabo la inferencia es el

Teorema de Bayes que como se indicó en la sección 2.2.1 se expresa como:

∑==

j jji

jij

i

jijij yPyxP

yxPyP

xP

yxPyPxyP

)()|(

)|()(

)(

)|()()|(

Las probabilidades a posteriori, )|( iyYXP = , se pueden obtener a partir de la

probabilidad marginal )|( YXP que a su vez puede obtenerse de la probabilidad conjunta

),,,( 21 ixxxP K sumando los valores para todas las variables que no pertenezcan al conjunto

YX ∪ . En la práctica, esto no es viable por el tiempo necesario para llevarlo a cabo ya que

incrementar el número de nodos de la red aumentaría exponencialmente el número de

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

16 Pablo Felgaer Estado del arte

sumas necesarias; por este motivo se han desarrollado varios algoritmos de propagación

que se citan a continuación.

2.2.4.2. Algoritmos de propagación

Una de las ventajas de disponer de una estructura gráfica de las relaciones entre las

variables es que se puede utilizar esta información para reducir el número de operaciones

necesarias para obtener las probabilidades a posteriori. Existen varios métodos

computacionales que aprovechan la estructura gráfica para propagar los efectos que las

observaciones del mundo real tienen sobre el resto de las variables de la red; las diferencias

entre ellos se basan principalmente en la precisión de los resultados y en el consumo de

recursos durante el tiempo de ejecución. Los algoritmos de propagación se dividen

inicialmente en “exactos” o “aproximados” según cómo calculen los valores de las

probabilidades. Los métodos exactos calculan los valores por medio del teorema de Bayes

mientras que los métodos aproximados utilizan técnicas iterativas de muestreo en las que

los valores se aproximarán más o menos a los exactos dependiendo del punto en que se

detenga el proceso.

Los algoritmos de propagación dependen de l tipo de estructura de la red bayesiana,

existiendo las siguientes tres topologías de red :

• Árboles (sección 2.2.4.2.1),

• Poliárboles (sección 2.2.4.2.2), y

• Redes multiconectadas (sección 2.2.4.2.3).

2.2.4.2.1. Propagación en árboles

Cada nodo corresponde a una variable discreta },,,{ 21 nAAAA K= con su respectiva

matriz de probabilidad condicional )|()|( ij ABPABP = . Dada cierta evidencia E

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 17

(representada por la instanciación de ciertas variables) la probabilidad posterior de

cualquier variable B es, por el teorema de Bayes:

)()()|(

)|(EP

BPBEPEBP ii

i =

ya que la estructura de la red es un árbol, el nodo B la separa en dos subárboles; de esta

manera podemos dividir la evidencia en dos grupos:

• −E : Datos en el árbol que cuya raíz es B .

• +E : Datos en el resto del árbol.

Entonces:

)()()|,(

)|(EP

BPBEEPEBP ii

i

+−

=

pero dado que ambos son independientes, se aplica nuevamente Bayes y se obtiene :

)|()|()|( iii BEPEBPEBP −+=α

donde α es una constante de normalización.

Esto separa la evidencia para actualizar la probabilidad de B ; además se observa que

no se requiere de la probabilidad a priori excepto en el caso de la raíz donde dado que dicho

nodo no posee padres se tiene que:

)()|( ii APEAP =+

Para simplificar el desarrollo se definen los siguientes términos:

)|()(

)|()(+

=

=

EBPB

BEPB

ii

ii

π

λ

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

18 Pablo Felgaer Estado del arte

Entonces:

)()()|( iii BBEBP λαπ=

Debido a que por la propiedad de independencia condicional (sección 2.2.3) los hijos

son condicionalmente independientes dado el padre:

∏∏ == −

kik

kiki BBEPB )()|()( λλ

donde −KE corresponde a la evidencia que proviene del hijo k de B denotado por kS .

Condicionando cada término en la ecuación anterior respecto de todos los posibles

valores de cada nodo hijo se obtiene:

∏ ∑

= −

k ji

kj

kjiki BSPSBEPB )|(),|()(λ

Dado que B es condicionalmente independiente de la evidencia bajo cada hijo dado

éste y usando la definición de λ :

∏ ∑

=

k

kj

ji

kji SBSPB )()|()( λλ

En forma análoga se obtiene una ecuación para π ; primero se la condiciona sobre

todos los posibles valores del padre:

∑ ++=j

jjii EAPAEBPB )|(),|()(π

Luego podemos eliminar +E del primer término dada independencia condicional. El

segundo término representa la probabilidad posterior de A sin contar la evidencia del

subárbol de B , por lo que podemos expresarla usando la ecuación para )|( EBP j y la

descomposición de λ .

∑ ∏

=

j kjkjjii AAABPB )()()|()( λαππ

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 19

donde k incluye a todos los hijos de A excepto B .

Mediante estas ecuaciones se integra un algoritmo de propagación de probabilidades

en árboles donde cada nodo guarda los valores de los vectores π y λ así como las matrices

de probabilidad P ; la propagación se hace por un mecanismo de paso de mensajes en

donde cada nodo envía los mensajes correspondientes a su padre e hijos:

Mensaje al padre (nodo B a su padre A ):

∑=j

jijiB BABPA )()|()( λλ

Mensaje a los hijos (nodo B a su hijo kS ):

∏≠

=kl

jljik BBB )()()( λαππ

Al instanciarse ciertos nodos, éstos envían mensajes a sus padres e hijos y se

propagan hasta llegar a la raíz u hojas o hasta encontrar un nodo instanciado; así que la

propagación se hace en un solo paso en un tiempo proporcional al diámetro de la red. Esto

se puede hacer en forma iterativa instanciando ciertas variables y propagando su efecto y

luego instanciando otras variables y propagando la nueva información combinando ambas

evidencias.

2.2.4.2.2. Propagación en poliárboles

Un poliárbol es una red en la que un nodo puede tener varios padres pero sin existir

múltiples trayectorias entre nodos (red conectada en forma sencilla – SCG). El algoritmo de

propagación es muy similar al de árboles; la principal diferencia es que se requiere de la

probabilidad conjunta de cada nodo dado todos sus padres:

),,|( 1 ni AABP K

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

20 Pablo Felgaer Estado del arte

En forma análoga al inciso anterior podemos deducir una expresión de la

probabilidad en un nodo cualquiera B en términos de sus padres e hijos:

)|()|(),,|()|( 11 iminii BEPBEPEEBPEBP −−++= LKα

A partir de esta ecuación se puede también obtener un mecanismo de propagación

local similar al de árboles con el mismo orden de complejidad.

2.2.4.2.3. Propagación en redes multiconectadas

Una red multiconectada es un grafo no conectado en forma sencilla, es decir, en el

que hay múltiples trayectorias entre nodos (MCG); en este tipo de red probabilística los

métodos anteriores ya no aplican pero existen otras técnicas alternativas que se detallan a

continuación:

• Condicionamiento : Al instanciar una variable de la red, ésta bloquea las trayectorias

de propagación lo cual implica que si se asumen valores para un grupo seleccionado

de variables, es posible descomponer la gráfica en un conjunto de SCG; este método

consiste en realizar el proceso de propagación de la evidencia para cada valor posible

de dichas variables y luego promediar las probabilidades ponderadas.

• Simulación estocástica: Se asignan valores aleatorios a las variables no instanciadas,

se calcula la distribución de probabilidad y se obtienen valores de cada variable

dando una muestra; se repite el procedimiento para obtener un número apreciable de

muestras y en base al número de ocurrencias de cada valor se determina la

probabilidad de dicha variable.

• Agrupamiento: 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

[Lauritzen, 1988]. Para ello se parte de la gráfica original y se siguen los siguientes

pasos:

1. Se tr iangulariza el grafo agregando los arcos adicionales necesarios.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 21

2. Se identifican todos los conjuntos de nodos totalmente conectados (cliques).

3. Se ordenan los cliques de forma que todos los nodos comunes estén en un

solo clique anterior (su padre).

4. Se construye un nuevo grafo en que cada clique es un nodo formando un

árbol de cliques.

Para la propagación de probabilidades se utiliza este árbol de macro nodos (cliques)

obteniendo la probabilidad conjunta de cada claque, a partir de la cual se puede

obtener la probabilidad individual de cada variable en el clique. En general, la

propagación en una red probabilística con una estructura compleja es un problema de

complejidad NP-duro [Cooper, 1990]; sin embargo en muchas aplicaciones prácticas

la estructura de la red no es tan compleja y los tiempos de propagación son

razonables.

2.2.4.2.4. Ejemplo de propagación

A continuación se procederá a mostrar un ejemplo de aplicación del proceso de

propagación de probabilidades a través del algoritmo de paso de mensajes para redes

simplemente conectadas que de describió anteriormente.

Para ello se utilizará una red llamada “The dog barking problem” (figura 2.3) que

constituye uno de los ejemplos más utilizados al momento de analizar las redes bayesianas;

el mismo fue publicado originalmente por Charniak [Charniak, 1991].

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

22 Pablo Felgaer Estado del arte

Figura 2.3: “The dog barking problem”.

Todas las variables involucradas son binarias y en la siguiente tabla se describen las

probabilidades a priori y condicionales de las variables del dominio :

P(f) P(b) P(l|f) P(l|!f) P(d|f,b) P(d|f,!b) P(d|!f,b) P(d|!f,!b) P(h|d) P(h|!d)

Si 0.15 0.01 0.60 0.05 0.99 0.90 0.97 0.30 0.70 0.01

No 0.85 0.99 0.40 0.95 0.01 0.10 0.03 0.70 0.30 0.99

Tabla 2.1: Probabilidades condicionales de la red “The dog barking problem”

Propagación inicial

1. Todos los mensajes λ y π de cada nodo son inicializados en 1.

2. Las probabilidades de los estados de los nodos raíz son datos (ver tabla 2.1).

3. A continuación se esta en condiciones de calcular las probabilidades de los estados de

cada uno de los nodos que son hijos directos de los nodos raíz a partir de las matrices

de probabilidad condicional. Esto lo logramos propagando los mensajes π .

b f

d

h

l

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 23

La fórmula matemática para el mensaje π es:

Para un padre : mensaje π a c en el estado i con el padre p .

∑j

jji pPpcP )()|(

Para múltiples padres: mensaje π a c en el estado i con los padres na ,,K .

∑zkj

zkjzkji nPbPaPnbacP,,,

)()()(),,,|(K

LK

4. Luego la probabilidad para cada estado de los nodos es simplemente la suma

normalizada de los mensajes π .

En este ejemplo la probabilidad inicial de que el nodo l se encuentre en el estado i :

))()|()()|(()( 2211 fPflPfPflPoNormalizadlP iii +=

La probabilidad inicial de que el nodo d se encuentre en el estado i :

))()(),|()()(),|()()(),|()()(),|(()(

22221212

21211111

bPfPbfdPbPfPbfdPbPfPbfdPbPfPbfdPoNormalizaddP

ii

iii

++++=

5. A continuación se repite el proceso desde el paso (3) propagando hacia abajo por toda

la red de la misma manera hasta que todos los nodos hayan sido calculados

Una vez que se realizó la propagación inicial, la red bayesiana se encuentra en

condiciones de recibir nuevas observaciones y recalcular las probabilidades del resto de las

variables en función de dichos valores.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

24 Pablo Felgaer Estado del arte

Instanciación de nodos

Cuando un nodo es instanciado en alguno de sus valores:

1. A la evidencia lambda para dicho estado se le asigna el valor 1.

2. A la probabilidad para dicho estado se le asigna el valor 1.

3. A la probabilidad para cada uno de los estados restantes se les asigna el valor 0.

4. Los mensajes λ y π son enviados hacia sus padres e hijos respectivamente.

Los mensajes π son análogos a los expuestos en el proceso de propagación inicial.

La fórmula matemática para el mensaje λ es:

Para un padre : mensaje λ a p en el estado k desde el hijo c .

∑j

jkj cpcP )()|( λ

Observar que )( jcλ corresponde a la evidencia λ para el estado j del nodo c . En

los casos en que sean nodos instanciados, el valor será igual a 1 para el estado

instanciado y 0 para el resto de ellos.

Para múltiples padres: mensaje λ a p en el estado k desde el hijo c .

∑ ∑i j

jikjk cnapcPpP )(),,,|()( 1 λK

Observar que )( kpP corresponde a la evidencia π para el estado k del nodo p . En

los casos en que sean nodos instanciados, el valor será igual a 1 para el estado

instanciado y 0 para el resto de ellos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 25

5. La propagación de los mensajes continúa como se indica en el paso (4) de manera

recursiva respetando las siguientes reglas.

Propagación de mensajes

• Los mensajes π no pueden propagarse a través de nodos instanciados.

Figura 2.4: “The dog barking problem” – Instanciación del nodo d

Por ejemplo se tiene la red con el nodo d instanciado (figura 2.4) y luego se

instancia el nodo b . Esta última instanciación propagará un mensaje π hacia el

nodo d pero no hacia h (ni a ninguno de sus otros hijos, si los tuviera).

• Los mensajes λ no son bloqueados por los nodos instanciados como se vio

anteriormente. Sin embargo son bloqueados por nodos convergentes que no

tienen evidencia lambda. Por ejemplo si el nodo d o un hijo de este no

estuvieran instanciados entonces no se enviaría ningún mensaje λ al nodo f .

b f

d

h

l

π π λ

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

26 Pablo Felgaer Estado del arte

Ejemplo de propagación completa

1. Inicialmente se propagan todos los mensajes π para inicializar la red (figura 2.5).

Figura 2.5: “The dog barking problem” – Estado inicial

• No se envían mensajes λ hacia los nodos d , b o f debido a que se encuentran

bloqueados por la falta de evidencia λ .

2. A continuación se procede a instanciar el nodo h (figura 2.6).

Figura 2.6: “The dog barking problem” – Instanciación del nodo h

b f

d

h

l

λ π λ

λ

b f

d

h

l

π π π

π

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 27

• Un mensaje λ es enviado del nodo h al nodo d .

• La probabilidad a posteriori del nodo d es recalculada a partir de la nueva

evidencia.

• Se envían mensaje a todas las relaciones del nodo d excepto de nuevo al nodo

h .

• Los nodos b y f recalculan sus probabilidades.

• El nodo f envía un mensaje π al nodo l pero nada devuelta al nodo d .

• El nodo l recalcula su probabilidad.

3. Ahora se procede a instanciar el nodo f (figura 2.7).

Figura 2.7: “The dog barking problem” – Instanciación de los nodos h y f

• El nodo f envía mensajes π a los nodos d y l .

• Los nodos d y l recalculan sus probabilidades.

• Dado que el nodo d tiene evidencia λ (proveniente del nodo h ) envía un

mensaje λ hacia el nodo b como así también un mensaje π al nodo h .

• Como el nodo h se encuentra instanciado no modifica su estado.

• El nodo b recalcula su probabilidad basado en el mensaje recibido del nodo d .

b f

d

h

l

λ π π

π

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

28 Pablo Felgaer Estado del arte

4. Finalmente se instancia el nodo d (figura 2.8).

Figura 2.8 “The dog barking problem” – Instanciación de los nodos h, f y d

• Mensajes λ son enviados a los nodos b y f mientras que un mensaje π se

envía al nodo h .

• Los nodos f y h se mantienen sin modificaciones pero el nodo b recalcula su

probabilidad.

• Dado que el nodo f se encuentra instanciado, éste no envía ningún mensaje π

al nodo l .

2.2.5. El aprendizaje en las redes bayesianas

El aprendizaje es una de las características que definen a los sistemas basados en

inteligencia artificia l porque siendo estrictos se puede afirmar que sin aprendizaje no hay

inteligencia; es difícil definir el término “aprendizaje”, pero la mayoría de las autoridades

en el campo coinciden en que es una de las características de los sistemas adaptativos que

son capaces de mejorar su comportamiento en función de su experiencia pasada, por

ejemplo al resolver problemas similares [Simon, 1983]. El aprendizaje suele ser

imprescindible en aquellos sistemas que deben trabajar en entornos desconocidos o zonas

de proceso poco frecuentes donde la adquisición de conocimiento de los expertos en una

b f

d

h

l

λ λ

π

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 29

tarea difícil o incluso imposible; los sistemas de aprendizaje son capaces de generar nuevo

conocimiento y de ajustar el conocimiento existente.

El aprendizaje en la redes bayesianas consiste en definir la red probabilística a partir

de datos almacenados en bases de datos en lugar de obtener el conocimiento del experto.

Este tipo de aprendizaje ofrece la posibilidad de inducir la estructura gráfica de la red a

partir de los datos observados y de definir las relaciones entre los nodos basándose también

en dichos casos; según Pearl [Pearl, 1988] a estas dos fases se las puede denominar

respectivamente aprendizaje estructural y aprendizaje paramétrico. A continuación se

resume cada una de estas dos fases:

• Aprendizaje estructural: obtiene la estructura de la red bayesiana a partir de bases

de datos, es decir, las relaciones de dependencia e independencia entre las variables

involucradas. Las técnicas de aprendizaje estructural dependen del tipo de estructura

o topología de la red (árboles, poliárboles o redes multiconectadas). Otra alternativa

es combinar conocimiento subjetivo del experto con aprendizaje, para lo cual se parte

de la estructura dada por el experto y se la valida y mejora utilizando datos

estadísticos.

• Aprendizaje paramétrico: dada una estructura y las bases de datos, obtiene las

probabilidades a priori y condicionales requeridas.

Uno de los principales trabajos en el campo del aprendizaje de redes bayesianas en el

de Herkovits y Copper [Herskovits & Copper, 1991]; el requisito principal para poder

realizar la tarea de aprendizaje de redes bayesianas a partir de datos es disponer de bases de

datos muy extensas en las que esté especificado el valor de cada variable en cada uno de los

casos.

El aprendizaje en redes bayesianas a partir de bases de datos incompletas

generalmente consiste en inferir de alguna manera los datos ausentes para completar la base

de datos; investigaciones al respecto [Ramoni & Sebastiani, 1997] estiman los límites del

conjunto de datos ausentes y obtienen un único punto de estimación que es modificado con

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

30 Pablo Felgaer Estado del arte

diferentes pesos dependiendo del patrón que supuestamente siguen dichos datos; finalmente

se construye una base de datos completa y se procede como se indicó anteriormente.

2.2.5.1. Aprendizaje paramétrico

El aprendizaje paramétrico consiste en encontrar los parámetros asociados a una

estructura dada de una red bayesiana. Dichos parámetros consisten en las probabilidades a

priori de los nodos raíz y las probabilidades condicionales de las demás variables dados sus

padres; si se conocen todas las variables es fácil obtener las probabilidades requeridas ya

que las probabilidades previas corresponden a las marginales de los nodos raíz y las

condicionales se obtienen de las conjuntas de cada nodo con su(s) padre(s). Para que se

actualicen las probabilidades con cada caso observado, éstas se pueden representar como

razones enteras y actualizarse con cada observación; en el caso de un árbol las fórmulas

para modificar las probabilidades correspondientes son:

Probabilidades previas:

kisaAP

kisaAP

ii

ii

≠+=

=++=

;)1()(

;)1()1()(

Probabilidades condicionales:

kiabABP

ljykiabABP

ljykiabABP

ijij

ijij

ijij

≠=

≠=+=

==++=

;)|(

;)1()|(

;)1()1()|(

donde:

• s corresponde al número de casos totales,

• ji, los índices de las variables, y

• lk , los índices de las variables observadas.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 31

El algoritmo anterior supone que las probabilidades tienen un valor preciso, es decir

que no hay incertidumbre en las probabilidades. Un enfoque más adecuado, pero un poco

más complejo, es utilizar una distribución de probabilidad para las probabilidades;

normalmente se utiliza para el caso de variables binarias la distribución Beta y para

variables mutivaluadas su generalización que es la distribución Dirichlet [Neapolitan,

1990]. Para fines prácticos se utiliza como estimado de la probabilidad el valor medio de

las distribuciones, el cual corresponde aproximadamente al que se obtiene en el algoritmo

anterior.

2.2.5.1.1. Variables no observadas

En algunos casos existen variables que son importantes para el modelo pero para las

cuales no se tienen datos; éstas se conocen como nodos no observables o escondidos. Si

algunos nodos no son observables, se pueden estimar de acuerdo a los observables y en

base a ello actualizar las probabilidades; para ello se aplica el siguiente algoritmo:

1. Instanciar todas las variables observables.

2. Propagar su efecto y obtener las probabilidades posteriores de las no observables.

3. Para las variables no observables, asumir el valor con probabilidad mayor como observado.

4. Actualizar las probabilidades previas y condicionales de acuerdo a las formulas anteriores.

5. Repetir (1) a (4) para cada observación.

El algoritmo anterior es la forma más simple de realizar aprendizaje de “nodos

escondidos”.

2.2.5.2. Aprendizaje estructural

2.2.5.2.1. Árboles

El método para aprendizaje estructural de árboles se basa en el algoritmo desarrollado

por Chow y Liu [Chow & Liu, 1968] para aproximar una distribución de probabilidad por

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

32 Pablo Felgaer Estado del arte

un producto de probabilidades de segundo orden (lo que corresponde a un árbol); la

probabilidad conjunta de n variables se puede representar como:

∏=

=n

iijin XXPXXXP

1)(21 )|(),,,( K

donde )( ijX es la causa o padre de iX .

Se plantea el problema de aprender la estructura de la red bayesiana a partir de datos

como uno de optimización y lo que se desea es obtener la estructura en forma de árbol que

más se aproxime a la distribución “real” para lo cual se utiliza una medida de la diferencia

de información entre la distribución real ( P ) y la aproximada ( *P ):

∑=x

XPXPXPPPI ))()(log()(),( **

Entonces el objetivo es minimizar I ; para ello se define una diferencia en función de

la información mutua entre pares de variables que se define como:

∑=x

jijijiji XPXPXXPXXPXXI ))()(),(log(),(),(

Chow [Chow, 1968] demuestra que la diferencia de información es una función del

negativo de la suma de las informaciones mutuas (pesos) de todos los pares de variables

que constituyen el árbol, por lo que encontrar el árbol más próximo equivale a encontrar el

árbol con mayor peso. Basado en lo anterior, el algoritmo para determinar la red bayesiana

óptima a partir de datos es el siguiente:

1. Calcular la información mutua entre todos los pares de variables (n(n-1)/2).

2. Ordenar las informaciones mutuas de mayor a menor.

3. Seleccionar la rama de mayor valor como árbol inicial.

4. Agregar la siguiente rama mientras no forme un ciclo, si es así, desechar.

5. Repetir (4) hasta que se cubran todas las variables (n-1ramas).

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 33

Dicho algoritmo no provee la direccionalidad de los arcos, por lo que esta se puede

asignar en forma arbitraria o utilizando semántica externa (experto).

2.2.5.2.2. Poliárboles

Rebane y Pearl [Rebane & Pearl, 1989] extendieron el algoritmo de Chow y Liu para

poliárboles ; para ello parten del esqueleto (estructura sin direcciones) obtenido con el

algoritmo anterior y determinan las dirección de los arcos utilizando pruebas de

dependencia entre tripletas de variables; de esta forma se obtiene una red bayesiana en

forma de poliárbol, en cuyo caso la probabilidad conjunta es:

∏=

=n

iijmijiji XXXXPXP

1)()(2)(1 ),,,|()( K

donde },,,{ )()(2)(1 ijmijij XXX K es el conjunto de padres de la variable iX .

El algoritmo de Rebane y Pearl se basa en probar las relaciones de dependencia entre

todas las tripletas de variables en el esqueleto. Dadas tres variables existen tres casos

posibles:

• Arcos divergentes (figura 2.9-a),

• Arcos secuenciales (figura 2.9-b), y

• Arcos convergentes (figura 2.9-c).

Figura 2.9: Tipos de conexiones en un grafo dirigido: (a) divergentes, (b) secuenciales y (c) convergentes

A B C A

C

B

A

C

B

(a) (b) (c)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

34 Pablo Felgaer Estado del arte

Los primeros dos casos (arcos divergentes y secuenciales) son indistinguibles, pero el

tercero (arcos convergentes) es diferente, ya que las dos variables “padre” son

marginalmente independientes. Entonces el algoritmo consiste en:

1. Obtener el esqueleto utilizando el algoritmo de Chow y Liu.

2. Recorrer la red hasta encontrar una tripleta de nodos que sean convergentes (tercer caso) – nodo multipadre.

3. A partir de un nodo multipadre determinar las direcciones de los arcos utilizando la prueba de tripletas hasta donde sea posible (base causal).

4. Repetir (2) a (3) hasta que ya no se puedan descubrir más direcciones.

5. Si quedan arcos sin direccionar utilizar semántica externa para obtener su dirección.

El algoritmo está restringido a poliárboles y no garantiza obtener todas las

direcciones; desde el punto de vista práctico un problema es que generalmente no se

obtiene independencia absoluta (información mutua cero) por lo que habría que considerar

una cota empírica.

2.2.5.2.3. Redes multiconectadas

Al igual que en propagación, el caso de una red multiconectada es el más difícil para

aprendizaje estructural; una alternativa [Sucar & Pérez-Brito, 1995] es plantear el problema

nuevamente como uno de optimización buscando encontrar la estructura que de un

rendimiento deseable con el mínimo número de arcos, para lo cual se parte del algoritmo de

Chow-Liu para obtener un árbol inicial y se van agregando arcos hasta llegar al rendimiento

deseado o al máximo número permisible ; el algoritmo es el siguiente:

1. Obtener una estructura de árbol inicial mediante el algoritmo de Chow-Liu.

2. Hacer la variable hipótesis el nodo raíz y a partir de éste determinar la direccionalidad de los arcos.

3. Producir un ordenamiento de los nodos },,,{ 21 nXXX K a partir de la raíz y siguiendo el árbol de acuerdo a la información mutua entre variables.

4. Probar la capacidad predictiva del sistema:

(a) Si es satisfactoria terminar.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 35

(b) Sino, agregar un arco y regresar a 4. Seleccionar el arco de mayor información mutua basando su dirección en el ordenamiento anterior, de forma que su nodo inicial sea anterior al nodo final.

El algoritmo asume una variable hipótesis (sistemas predictivos) por lo que la

dirección de los arcos es arbitraria y no refleja necesariamente causalidad; esta es una área

de investigación actual en redes bayesianas y existen varias propuestas para aprendizaje

estructural en redes multiconectadas.

Las técnicas automáticas para aprendizaje estructural de redes bayesianas

multiconectadas consisten en dos aspectos principales:

1. Una medida de para evaluar que tan “buena” es cada estructura respecto a los datos.

2. Un método de búsqueda que genere diferentes es tructuras hasta encontrar la “óptima”

de acuerdo a la medida seleccionada.

Existen varias medidas de evaluar, entre las cuales se destacan las dos más utilizadas:

• Medida bayesiana : estima la probabilidad de la estructura dado los datos y se la trata

de maximizar.

• Longitud de descripción mínima (MDL): estima la longitud (tamaño en bits)

requerida para representar la probabilidad conjunta con cierta estructura; esta se

compone de dos partes:

1. Representación de la estructura.

2. Representación del error de la estructura respecto a los datos.

Aunque ambas medidas son semejantes, la segunda es un poco mejor ya que tiende a

preferir estructuras más simples.

El encontrar la estructura óptima es difícil ya que el espacio de búsqueda es muy

grande; por ejemplo hay más de 1040 diferentes estructuras para 10 variables. Por esto se

utilizan estrategias de búsqueda heurísticas que encuentran una solución aceptable pero,

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

36 Pablo Felgaer Estado del arte

generalmente, no óptima; otra alternativa es combinar los métodos automáticos con

conocimiento de expertos.

2.2.5.2.4. Mejora estructural

La mejora estructural combina el conocimiento de expertos con datos para encontrar

la estructura de una red bayesiana; un enfoque [Sucar, 1993] consiste en iniciar con una

estructura preliminar propuesta por un experto y utilizar datos para validarla y mejorar la

para lo cual asume que se tiene una estructura de tipo multiárbol o bosque (colección de

árboles) en donde se tienen una serie de subárboles, es decir, un nodo con varios hijos; en

cada subárbol los nodos hijo son independientes dado el padre, entonces la técnica consiste

en validar dicha independencia con los datos y modificar la estructura si no se cumple,

mediante los siguientes pasos:

1) Validar la estructura de cada subárbol de la red bayesiana:

a) Calcular la correlación entre cada par de nodos dado el padre:

i) Baja: es razonable asumir independencia, así que la estructura no se modifica.

Alta: no son independientes, modificar la estructura utilizando una de las siguientes estrategias:

(1) Eliminación de nodo.

(2) Combinación de nodos.

(3) Creación de nodo.

Otra alternativa es obtener una estructura inicial a partir de los datos (por ejemplo, un

árbol) y luego utilizar conocimiento del experto para alterar la estructura; repitiendo este

proceso en forma iterativa.

2.2.6. Ventajas de las redes bayesianas

El hecho de que las redes bayesianas constituyan una mezcla de técnicas estadísticas

y modelos gráficos les provee un serie de importantes ventajas. En primer lugar, el hecho

de que las redes guarden información sobre las dependencias e independencias existentes

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 37

entre las variables involucradas les permiten manejar situaciones donde exista

incertidumbre; por otro lado la presentación gráfica de la red facilita la interpretación y

obtención de conclusiones sobre el dominio en estudio por parte de la gente que lo analiza;

también, debido a que estas redes combinan relaciones causales con lógica probabilística,

permite combinar conocimiento experto con datos (dicho conocimiento experto

generalmente viene dado en forma de relaciones de causalidad).

Las redes bayesianas permiten definir modelos y utilizarlos tanto para hacer

razonamiento de diagnóstico (pues obtienen las causas más probables dado un conjunto de

síntomas), como para hacer razonamiento predictivo (obteniendo la probabilidad de

presentar un cierto síntoma suponiendo que existe una causa conocida). Una de las

características de las redes bayesianas es que un mismo nodo puede ser fuente de

información u objeto de predicción dependiendo de cuál sea la evidencia disponible. A

continuación se muestran cuáles son las características de estos dos tipos de inferencia

utilizando una red bayesiana :

• Predicción

Si se supone que es cierto un hecho del mundo real que está representado en la red

como un nodo padre, la red puede deducir cuáles serán sus efectos; para ello se debe

introducir esta hipótesis en el nodo correspondiente y propagar esta información hacia

el resto de los nodos. Este modo de razonamiento es de tipo predictivo y está regido

por una inferencia “deductiva” donde el conocimiento se puede expresar de la forma

“si a entonces b” y se cumple que el hecho conocido es “a” y el hecho deducido es

“b”.

• Interpretación de datos

Las mismas relaciones representadas en la red en forma causal permiten hacer

inferencias abductivas donde conocidos los síntomas se puede saber cuáles son sus

posibles causas. El conocimiento es el mismo que en el caso anterior: “si a entonces

b” pero ahora el hecho conocido es “b” y el hecho abducido es “es posible a”; este

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

38 Pablo Felgaer Estado del arte

modo de razonamiento es el que permite la interpretación de las causas que generan

determinados fenómenos.

Como se indicó anteriormente en este capítulo , las redes probabilísticas permiten

ejecutar simulaciones efectuando hipótesis sobre cualquiera de los datos e incluso

considerando ignorancia en alguna de las variables de entrada. En el caso de los

simuladores matemáticos sólo es posible establecer hipótesis sobre los datos de partida que

son introducidos en el modelo como las condiciones iniciales y además es imprescindible

que se introduzcan todas las variables de entrada del modelo para poder resolver las

ecuaciones.

Si un nodo de la red representa una variable correspondiente a la presencia de una

anomalía, se puede diagnosticar que ésta se encuentra presente cuando su probabilidad

excede un cierto umbral; con la llegada de nuevas evidencias, la probabilidad puede cruzar

el umbral varias veces dependiendo de que las nuevas evidencias ratifiquen o descarten la

presencia de esa anomalía; esto significa que cada nueva observación puede aumentar o

disminuir la estimación de una hipótesis ; por esta propiedad de las redes bayesianas se

puede afirmar que efectúan un razonamiento no monótono basado en la probabilidad y no

en la lógica. El siguiente ejemplo pretende clarificar en qué consiste el razonamiento no

monótono y permite apreciar que este tipo de razonamiento es imprescindible en muchos

dominios de aplicación:

Se supone que el síntoma “fiebre” puede ser causado por dos enfermedades distintas

“catarro” e “infección intestinal”. Si observamos que un paciente tienen fiebre

puede ser que tenga catarro o infección intestinal con unas ciertas probabilidades,

pero si por otro lado encontramos algún signo (ejemplo: diarrea) que nos ratifique

en la idea de que padece de infección intestinal, está claro que s imultáneamente debe

disminuir la probabilidad de que el paciente tenga catarro.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 39

2.3. Árboles de decisión – TDIDT

La familia de los Top Down Induction Trees (TDIDT) pertenece a los métodos

inductivos del aprendizaje automático que aprenden a partir de ejemplo s preclasificados; en

minería de datos, las mismas se utilizan para modelar las clasificaciones en los datos

mediante árboles de decisión.

2.3.1. Características de los árboles de decisión

Los árboles de decisión representan una estructura de datos que organiza eficazmente

los descriptores; dichos árboles son construidos de forma tal que en cada nodo se realiza

una prueba sobre el valor de los descriptores y de acuerdo con la respuesta se va

descendiendo en las ramas hasta llegar al final del camino donde se encuentra el valor del

clasificador. Se puede analizar un árbol de decisión como una caja negra en función de

cuyos parámetros (descriptores) se obtiene un cierto valor del clasificador; también puede

analizarse como una disyunción de conjunciones donde cada camino desde la raíz hasta las

hojas representa una conjunción y todos los caminos son alternativos, es decir, son

disyunciones.

2.3.2. Construcción de los árboles de decisión

Los árboles TDIDT, a los cuales pertenecen los generados por el ID3 y por el C4.5, se

construyen a partir del método de Hunt [Hunt et al., 1966]. El esqueleto de este método

para construir un árbol de decisión a partir de un conjunto T de datos de entrenamiento se

detalla a continuación; sean las clases },,,{ 21 kCCC K existen tres posibilidades:

1. T contiene uno o más casos, todos pertenecientes a una única clase jC :

El árbol de decisión para T es una hoja identificando la clase jC .

2. T no contiene ningún caso:

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

40 Pablo Felgaer Estado del arte

El árbol de decisión es una hoja, pero la clase asociada debe ser determinada por

información que no pertenece a T . Por ejemplo, una hoja puede escogerse de

acuerdo a conocimientos de base del dominio, como ser la clase mayoritaria.

3. T contiene casos pertenecientes a varias clases:

En este caso, la idea es refinar T en subconjuntos de casos que tiendan o parezcan

tender hacia una colección de casos pertenecientes a una única clase. Se elige una

prueba basada en una única variable que tiene uno o más resultados mutuamente

excluyentes },,,{ 21 nOOO K y T se particiona en los subconjuntos nTTT ,,, 21 K

donde iT contiene todos los casos de T que tienen el resultado iO para la prueba

elegida. El árbol de decisión para T consiste en un nodo de decisión identificando

la prueba con una rama para cada resultado posible. El mecanismo de

construcción del árbol se aplica recursivamente a cada subconjunto de datos de

entrenamientos para que la i-ésima rama lleve al árbol de decisión construido por

el subconjunto iT de datos de entrenamiento.

2.3.2.1. Cálculo de la ganancia de información

En los casos en los que el conjunto T contiene ejemplos pertenecientes a distintas

clases se realiza una prueba sobre las distintas variables y se realiza una pa rtición según la

“mejor” variable. Para encontrar la “mejor” variable se utiliza la teoría de la información

que sostiene que la información se maximiza cuando la entropía se minimiza (la entropía

determina la azarosidad o desestructuración de un conjunto). Si se supone que se tiene n

ejemplos positivos y negativos, la entropía del subconjunto iS , )( iSH puede calcularse

como:

−−++ −−= iiiii ppppSH log)(

donde +ip es la probabilidad de que un ejemplo tomado al azar de iS sea positivo. Esta

probabilidad puede calcularse como:

−+

++

+=

ii

ii nn

np

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 41

siendo +in la cantidad de ejemplos positivos de iS y −

in la cantidad de ejemplos negativos.

La probabilidad −ip se calcula en forma análoga a ? +

ip , reemplazando la cantidad de

ejemplos positivos por la cantidad de ejemplos negativos, y viceversa.

Generalizando la expresión anterior para cua lquier tipo de ejemplos, obtenemos la

fórmula general de la entropía:

∑=

−=n

iiii ppSH

1

log)(

En todos los cálculos relacionados con la entropía, definimos 00log0 = .

Si la variable at divide el conjunto S en los subconjuntos niSi ,,2,1, K= , entonces,

la entropía total del sistema de subconjuntos será:

∑=

⋅=n

iiii SHSPatSH

1

)()(),(

donde )( iSH es la entropía del subconjunto iS y )( iSP es la probabilidad de que un

ejemplo pertenezca a iS ; puede calcularse, utilizando los tamaños relativos de los

subconjuntos, como:

SS

SP ii =)(

La ganancia en información puede calcularse como la disminución en entropía. Es

decir:

),()(),( atSHSHatSI −=

donde )(SH es el valor de la entropía a priori antes de realizar la subdivisión y ),( atSH es

el valor de la entropía del sistema de subconjuntos generados por la partición según at .

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

42 Pablo Felgaer Estado del arte

2.3.2.2. Poda de los árboles generados

Existen varias razones para la poda de los árboles generados por los métodos de

TDIDT [Michalski et al., 1998]; entre ellas podemos nombrar la sobre-generalización, la

evaluación de variables poco importantes o significativas y el gran tamaño del árbol

obtenido. En el primer caso, un árbol puede haber sido construido a partir de ejemplos con

ruido, con lo cual algunas ramas del árbol pueden ser engañosas; en cuanto a la evaluación

de variables no relevantes, éstas deben podarse ya que sólo agregan niveles en el árbol y no

contribuyen a la ganancia de información. Por último, si el árbol obtenido es demasiado

profundo o demasiado frondoso se dificulta la interpretación por parte del usuario, con lo

cual hubiera sido lo mismo utilizar un método de caja negra.

Existen dos enfoques para podar los árboles: la pre-poda (preprunning) y la post-poda

(postprunning). En el primer caso se detiene el crecimiento del árbol cuando la ganancia de

información producida al dividir un conjunto no supera un umbral determinado; en la post-

poda se podan algunas ramas una vez que se ha terminado de construir el árbol. El primer

enfoque tiene la ventaja de que no se pierde tiempo en construir una estructura que luego

será simplificada en el árbol final; el método típico en estos casos es buscar la mejor

manera de partir el subconjunto y evaluar la partición desde el punto de vista estadístico

mediante la teoría de la ganancia de información, reducción de errores, etc. Si esta

evaluación es menor que un límite predeterminado la división se descarta y el árbol para el

subconjunto es simplemente la hoja más apropiada; sin embargo este tipo de método tiene

la contra de que no es fácil detener un particionamiento en el momento adecuado; un límite

muy alto puede terminar con la partición antes de que los beneficios de particiones

subsiguientes parezcan evidentes mientras que un límite demasiado bajo resulta en una

simplificación demasiado leve. El segundo enfoque utilizado por el ID3 y el C4.5 procede a

la simplificación una vez construido el árbol según los criterios propios de cada uno de los

algoritmos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 43

2.3.2.3. El Principio de longitud de descripción mínima

El principio de longitud de descripción mínima (MDL) [Joachims et al., 1995;

Mitchell, 2000; Quinlan, 1993d; Quinlan, 1995; Quinlan & Cameron-Jones, 1995] sostiene

que la mejor teoría para un conjunto de datos es aquella que minimiza el tamaño de la

teoría y la cantidad de información necesaria para especificar las excepciones; desde el

punto de vista del aprendizaje automático esto significa que dado un conjunto de instancias

un sistema de aprendizaje infiere una teoría a partir de ellas; supóngase una analogía con el

campo de las comunicaciones: la teoría con las excepciones debe ser transmitida por un

canal perfecto. El MDL sostiene que la mejor generalización es aquella que requiere la

menor cantidad de bits para transmitir la generalización junto con los ejemplos a partir de la

cual fue generada. Esto evita las teorías que satisfacen los datos al extremo sobre-ajuste ya

que los ejemplos se transmiten también, y las teorías demasiado extensas serán penalizadas.

Por otro lado, también se puede transmitir la teoría nula que no ayuda en lo más mínimo al

transmitir los ejemplos. Entonces, pueden trans mitirse tanto las teorías simples como

aquellas muy complejas y el MDL provee una forma de medir la performance de los

algoritmos basándose en los datos de entrenamiento únicamente. Esta parece ser la solución

ideal al problema de medir la performance.

Veamos cómo se aplica el principio MDL. Supongamos que un sistema de

aprendizaje genera una teoría T , basada en un conjunto de entrenamiento E , y requiere

una cierta cantidad de bits [ ]TL para codificar la teoría. Dada la teoría, el conjunto de

entrenamiento puede codificarse en una cantidad [ ]TEL / de bits. [ ]TEL / está dada por la

función de ganancia de información sumando todos los miembros del conjunto de

entrenamiento. La longitud de descripción total de la teoría es [ ] [ ]TELEL /+ . El principio

MDL recomienda la teoría T que minimiza esta suma.

Hay que recordar que los algoritmos de la familia TDIDT realizan una búsqueda en el

espacio de hipótesis posibles constituido por todos los árboles de decisión posibles. Su

sesgo inductivo, siguiendo el principio de la Afeitadora de Occam , es una preferencia sobre

los árboles pequeños frente a los árboles más profundos y frondosos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

44 Pablo Felgaer Estado del arte

2.3.3. Descripción general de los algoritmos

El algoritmo principal de los sistemas de la familia TDIDT, a la cual pertenecen el

ID3 y su descendiente el C4.5, es el proceso de generación de un árbol de decisión inicial a

partir de un conjunto de datos de entrenamiento. La idea original está basada en un trabajo

de Hoveland y Hunt de los años ‘50 culminado en el libro Experiments in Induction [Hunt

et al., 1966] que describe varios experimentos con varias implementaciones de sistemas de

aprendizaje de conceptos (Concept Learning Systems – CLS).

2.3.3.1. División de los datos

El método “divide y reinarás” realiza en cada paso una partición de los datos del

nodo según una prueba realizada sobre la “mejor ” variable. Cualquier prueba que divida a

T en una manera no trivial tal que al menos dos subconjuntos distintos }{ iT no estén

vacíos, eventualmente resultará en una partición de subconjuntos de una única clase aún

cuando la mayoría de los subconjuntos contengan un solo ejemplo. Sin embargo el proceso

de construcción del árbol no apunta meramente a encontrar cualquier partición de este tipo

sino a encontrar un árbol que revele una estructura del dominio y, por lo tanto, tenga poder

predictivo. Para ello se necesita un número importante de casos en cada hoja o, dicho de

otra manera, la partición debe tener la menor cantidad de clases posibles. En el caso ideal se

busca elegir en cada paso la prueba que genere el árbol más pequeño; es decir, se busca un

árbol de decisión compacto que sea consistente con los datos de entrenamiento. Para ello se

pueden explorar todos los árboles posibles y elegir el más simple pero desafortunadamente

un número exponencial de árboles debería ser analizado. El problema de encontrar el árbol

de decisión más pequeño consistente con un conjunto de entrenamiento es de complejidad

NP-completa.

La mayoría de los métodos de construcción de árboles de decisión (incluyendo el

C4.5 y el ID3) no permiten volver a estados anteriores, es decir, son algoritmos “golosos”

sin vuelta atrás. Una vez que se ha escogido una prueba para particionar el conjunto actual,

típicamente basándose en la maximización de alguna medida local de progreso, la partición

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 45

se concreta y las consecuencias de una elección alternativa no se exploran. Por este motivo

la elección debe ser bien realizada.

2.3.3.1.1. Elección del criterio de división

Para realizar la división de los datos en cada paso, Quinlan propone la utilización de

los métodos de la teoría de la información. En un principio el ID3 utilizaba la ganancia

como criterio de división, sin embargo a partir de numerosas pruebas se descubrió que este

criterio no era efectivo en todos los casos y se obtenían mejores resultados si se

normalizaba el criterio en cada paso, por lo tanto comenzó a utilizarse la proporción de

ganancia de información con mayor éxito ; a continuación se presentan ambos criterios.

2.3.3.1.1.1. Criterio de ganancia

La definición de ganancia se presenta de la siguiente forma: supongamos que

tenemos una prueba posible con n resultados que particionan al conjunto T de

entrenamiento en los subconjuntos nTTT ,,, 21 K . Si la prueba se realiza sin explorar las

divisiones subsiguientes de los subconjuntos iT , la única información disponible para

evaluar la partición es la distribución de clases en T y sus subconjuntos.

Consideremos una medida similar luego de que T ha sido particionado de acuerdo a

los n resultados de la prueba X . La información esperada (entropía) puede determinarse

como la suma ponderada de los subconjuntos, de la siguiente manera:

∑=

=n

ii

i TxHTT

XTH1

)(),(

La cantidad ),()(),( XTHTHXTI −= mide la información ganada al partir T de

acuerdo a la prueba X . El criterio de ganancia entonces selecciona la prueba que maximice

la ganancia de información, es decir, antes de particionar los datos en cada nodo se calcula

la ganancia que resultaría de particionar el conjunto de datos según cada uno de las

variables posibles y se realiza la partición que resulta en la mayor ganancia.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

46 Pablo Felgaer Estado del arte

2.3.3.1.1.2. Criterio de proporción de ganancia

El criterio de ganancia tiene un defecto muy serio y es que presenta una tendencia

muy fuerte a favorecer las pruebas con muchos resultados. Analicemos una prueba sobre

una variable que sea la clave primaria de un conjunto de datos en la cual obtendremos un

único subconjunto para cada caso y para cada subconjunto tendremos 0),( =XTI ; entonces

la ganancia de información será máxima. Desde el punto de vista de la predicción este tipo

de división no es útil.

Esta tendencia inherente al criterio de ganancia puede corregirse mediante una suerte

de normalización en la cual se ajusta la ganancia aparente atribuible a pruebas con muchos

resultados. Consideremos el contenido de información de un mensaje correspondiente a los

resultados de las pruebas. Por analogía a la definición de la )(SI tenemos:

∑=

−=

n

i

ii

T

Tx

T

TXdivisiónI

12log)(_

Esto representa la información potencial generada al dividir T en n subconjuntos,

mientras que la ganancia de información mide la información relevante a una clasificación

que nace de la misma división. Entonces:

)(_),(

)(__XdivisiónI

XTIXgananciadeproporción =

expresa la proporción útil de información generada en la partición. Si la partición es casi

trivial, la información de la división será pequeña y esta proporción se volverá inestable.

Para evitar este fenómeno el criterio de proporción de ganancia selecciona una prueba que

maximice la expresión anterior sujeta a la restricción de que la información de la división

sea grande, al menos tan grande como la ganancia promedio sobre todas las pruebas

realizadas.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 47

2.3.3.2. Construcción de árboles

2.3.3.2.1. ID3

El algoritmo ID3 diseñado en 1993 por J. Ross Quinlan [Quinlan, 1993a, Quinlan,

1993b] toma objetos de una clase conocida y los describe en términos de una colección fija

de propiedades o de variables produciendo un árbol de decisión sobre estas variables que

clasifica correctamente todos los objetos [Quinlan, 1993b]. Hay ciertas cualidades que

diferencian a este algoritmo de otros sistemas generales de inferencia. La primera se basa

en la forma en que el esfuerzo requerido para realizar una tarea de inducción crece con la

dificultad de la tarea. El ID3 fue diseñado específicamente para trabajar con masas de

objetos y el tiempo requerido para procesar los datos crece sólo linealmente con la

dificultad como producto de:

• La cantidad de objetos presentados como ejemplos.

• La cantidad de variables dadas para describir estos objetos.

• La complejidad del concepto a ser desarrollado (medido por la cantidad de nodos en

el árbol de decisión).

Esta linealidad se consigue a costa del poder descriptivo ya que los conceptos

desarrollados por el ID3 sólo toman la forma de árboles de decisión basados en las

variables dadas y este “lenguaje” es mucho más restrictivo que la lógica de primer orden o

la lógica multivaluada en la cual otros sistemas expresan sus conceptos [Quinlan, 1993b].

El ID3 fue presentado como descendiente del CLS creado por Hunt y, como

contrapartida de su antecesor, es un mecanismo mucho más simple para el descubrimiento

de una colección de objetos pertenecientes a dos o más clases. Cada objeto debe estar

descrito en términos de un conjunto fijo de variables, cada una de las cuales cuenta con su

conjunto de posibles valores. Por ejemplo la variable humedad puede tener los valores

{alta, baja} y la variable clima los valores {soleado, nublado, lluvioso}.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

48 Pablo Felgaer Estado del arte

Una regla de clasificación en la forma de un árbol de decisión puede construirse para

cualquier conjunto C de variables de esta forma [Quinlan, 1993b]:

• Si C está vacío, entonces se lo asocia arbitrariamente a cualquiera de las clases.

• SiC contiene los representantes de varias clases, se selecciona una variable y se

particiona C en conjuntos disjuntos nCCC ,,, 21 K , donde iC contiene aquellos

miembros de C que tienen el valor i para la variable seleccionada. Cada una de estos

subconjuntos se maneja con la misma estrategia.

El resultado es un árbol en el cual cada hoja contiene un nombre de clase y cada nodo

interior especifica una variable para ser testeada con una rama correspondiente al valor de

la variable.

2.3.3.2.1.1. Descripción del ID3

El objetivo del ID3 es crear una descripción eficiente de un conjunto de datos

mediante la utilización de un árbol de decisión. Dados datos consistentes, es decir, sin

contradicción entre ellos, el árbol resultante describirá el conjunto de entrada a la

perfección. Además, el árbol puede ser utilizado para predecir los valores de nuevos datos

asumiendo siempre que el conjunto de datos sobre el cual se trabaja es representativo de la

totalidad de los datos.

Dados:

• Un conjunto de datos.

• Un conjunto de descriptores de cada dato.

• Un clasificador/conjunto de clasificadores para cada objeto.

Se desea obtener un árbol de decisión simple basándose en la entropía, donde los

nodos pueden ser:

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 49

• Nodos intermedios : en donde se encuentran los descriptores escogidos según el

criterio de entropía que determinan cuál rama es la que debe tomarse.

• Hojas: estos nodos determinan el valor del clasificador.

Este procedimiento de formación de reglas funcionará siempre dado que no existen

dos objetos pertenecientes a distintas clases pero con idéntico valor para cada uno de sus

variables; si este caso llegara a presentarse, las variables son inadecuadas para el proceso de

clasificación.

Hay dos conceptos importantes a tener en cuenta en el algoritmo ID3 [Blurock,

1996]: la entropía y el árbol de decisión. La entropía se utiliza para encontrar el parámetro

más significativo en la caracterización de un clasificador. El árbol de decisión es un medio

eficiente e intuitivo para organizar los descriptores que pueden ser utilizados con funciones

predictivas.

2.3.3.2.1.2. Algoritmo ID3

A continuación se presenta el algoritmo del método ID3 para la construcción de

árboles de decisión en función de un conjunto de datos previamente clasificados.

Función ID3 (R: conjunto de atributos no clasificadores, C: atributo clasificador, S: conjunto de entrenamiento) devuelve un árbol de decisión;

Comienzo

Si S es tá vacío, Devolver un único nodo con Valor Falla;

Si todos los registros de S tienen el mismo valor para el atributo clasificador, Devolver un único nodo con dicho valor;

Si R está vacío, entonces Devolver un único nodo con el valor más frecuente del atributo clasificador en los registros de S [Nota: habrá errores, es decir, registros que no estarán bien clasificados en este caso];

Si R no está vacío, entonces D ß atributo con mayor Ganancia(D,S) entre los atributos de R; Sean {dj| j=1,2, .., m} los valores del atributo D; Sean {S j| j=1,2, .., m} los subconjuntos de S correspondientes a los valores de dj respectivamente;

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

50 Pablo Felgaer Estado del arte

Devolver un árbol con la raíz nombrada como D y con los arcos nombrados d1, d2,.., dm que van respectivamente a los árboles ID3(R-{D}, C, S1), ID3(R-{D}, C, S2), .., ID3(R-{D}, C, Sm);

Fin

2.3.3.2.1.3. Poda de los árboles de decisión

La poda de los árboles de decisión se realiza con el objetivo de que éstos sean más

comprensibles lo cual implica que tengan menos niveles y/o sean menos frondosos. La

poda aplicada en el ID3 se realiza una vez que el árbol ha sido generado y es un mecanismo

bastante simple: si de un nodo nacen muchas ramas las cuales terminan todas en la misma

clase, entonces se reemplaza dicho nodo por una hoja con la clase común, caso contrario se

analizan todos los nodos hijos.

2.3.3.2.1.4. Limitaciones al ID3

El ID3 puede aplicarse a cualquier conjunto de datos siempre y cuando las variables

sean discretas. Este sistema no cuenta con la facilidad de trabajar con variables continuas

ya que analiza la entropía sobre cada uno de los valores de una variable, por lo tanto

tomaría cada valor de una variable continua individualmente en el cálculo de la entropía lo

cual no es útil en muchos de los dominios. Cuando se trabaja con variables continuas,

generalmente se piensa en rangos de valores y no en valores particulares.

Existen varias maneras de solucionar este problema del ID3 como la agrupación de

valores presentada en [Gallion et al., 1993] o la discretización de los mismos explicada en

[Blurock, 1996; Quinlan, 1993d]. El C4.5 resolvió el problema de los atributos continuos

mediante la discretización.

2.3.3.2.2. C4.5

El C4.5 se basa en el ID3, por lo tanto, la estructura principal de ambos métodos es la

misma. El C4.5 construye un árbol de decisión mediante el algoritmo “divide y reinarás” y

evalúa la información en cada caso utilizando los criterios de entropía y ganancia o

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 51

proporción de ganancia, según sea el caso. A continuación, se explicarán las características

particulares de este método que lo diferencian de su antecesor.

2.3.3.2.2.1. Algoritmo C4.5

El algoritmo del método C4.5 para la construcción de árboles de decisión a grandes

rasgos muy similar al del ID3. Varía en la manera en que realiza las pruebas sobre las

variables, tal como se detalla en las secciones siguientes.

Función C4.5 (R: conjunto de atributos no clasificadores, C: atributo clasificador, S: conjunto de entrenamiento) devuelve un árbol de decisión;

Comienzo

Si S está vacío, Devolver un único nodo con Valor Falla;

Si todos los registros de S tienen el mismo valor para el atributo clasificador, Devolver un único nodo con dicho valor;

Si R está vacío, entonces Devolver un único nodo con el valor más frecuente del atributo clasificador en los registros de S [Nota: habrá errores, es decir, registros que no estarán bien clasificados en este caso];

Si R no está vacío, entonces D ß atributo con mayor Proporción de Ganancia(D,S) entre los atributos de R; Sean {dj| j=1,2, .., m} los valores del atributo D; Sean {S j| j=1,2, .., m} los subconjuntos de S correspo ndientes a los valores de dj respectivamente; Devolver un árbol con la raíz nombrada como D y con los arcos nombrados d1, d2,.., dm que van respectivamente a los árboles C4.5(R-{D}, C, S1), C4.5(R-{D}, C, S2), .., C4.5(R-{D}, C, Sm);

Fin

2.3.3.2.2.2. Características particulares del C4.5

En cada nodo, el sistema debe decidir cuál prueba escoge para dividir los datos. Los

tres tipos de pruebas posibles propuestas por el C4.5 son [Quinlan, 1993d]:

1. La prueba “estándar” para las variables discretas con un resultado y una rama para

cada valor posible de la variable.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

52 Pablo Felgaer Estado del arte

2. Una prueba más compleja, basada en una variable discreta, en donde los valores

posibles son asignados a un número variable de grupos con un resultado posible

para cada grupo en lugar de para cada valor.

3. Si una variable A tiene valores numéricos continuos se realiza una prueba binaria

con resultados ZA ≤ y ZA > para lo cual debe determinarse el valor límite Z .

Todas estas pruebas se evalúan de la misma manera, mirando el resultado de la

proporción de ganancia o alternativamente el de la ganancia resultante de la división que

producen. Ha sido útil agregar una restricción adicional: para cualquier división, al menos

dos de los subconjuntos iT deben contener un número razonable de casos. Esta restricción

que evita las subdivisiones casi triviales es tenida en cuenta solamente cuando el conjunto

T es pequeño.

2.3.3.2.2.3. Poda de los árboles de decisión

El método recursivo de particionamiento para construir los árboles de decisión

descripto anteriormente subdividirá el conjunto de entrenamiento hasta que la partición

contenga casos de una única clase o hasta que la prueba no ofrezca mejora alguna. Esto da

como resultado, generalmente, un árbol muy complejo que sobre-ajusta los datos al inferir

una estructura mayor que la requerida por los casos de entrenamiento [Mitchell, 2000;

Quinlan, 1995]. Además, el árbol inicial generalmente es extremadame nte complejo y tiene

una proporción de errores superior a la de un árbol más simple. Mientras que el aumento en

complejidad se comprende a simple vista, la mayor proporción de errores puede ser más

difícil de visualizar.

Para entender este problema supongamos que tenemos un conjunto de datos con dos

clases donde una proporción 5.0≥p de los casos pertenecen a la clase mayoritaria. Si un

clasificador asigna todos los casos con valores indeterminados a la clase mayoritaria, la

proporción esperada de error es claramente p−1 . Si en cambio el clasificador asigna un

caso a la clase mayoritaria con probabilidad p y a la otra clase con probabilidad p−1 , su

proporción esperada de error es la suma de:

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Estado del arte Pablo Felgaer 53

• La probabilidad de que un caso perteneciente a la clase mayoritaria sea asignado a la

otra clase, )1( pp − .

• La probabilidad de que un caso perteneciente a la otra clase sea asignado a la clase

mayoritaria, pp )1( − .

que da como resultado )1(2 pp − . Como p es al menos 0.5, esto es generalmente superior

a p−1 , entonces el segundo clasificador tendrá una mayor proporción de errores. Un árbol

de decisión complejo tiene una gran similitud con este segundo tipo de clasificador. Los

casos no se relacionan a una clase, entonces, el árbol manda cada caso al azar a alguna de

las hojas.

Un árbol de decisión no se simplifica borrando todo el árbol a favor de una rama sino

que se eliminan las partes del árbol que no contribuyen a la exactitud de la clasificación

para los nuevos casos, produciendo un árbol menos complejo y por lo tanto más

comprensible.

2.3.4. Presentación de los resultados

Tanto el ID3 como el C4.5 generan un clasificador de la forma de un árbol de

decisión cuya estructura es [Quinlan 1993d]:

• Una hoja indicando una clase, o

• Un nodo de decisión que especifica alguna prueba a ser realizada sobre un único

atributo con una rama y subárbol para cada valor posible de la prueba.

El árbol de decisión generado por el C4.5 cuenta con varias características

particulares, entre ellas cada hoja tiene asociados dos números que indican el número de

casos de entrenamientos cubiertos por cada hoja y la cantidad de ellos clasificados

erróneamente por la hoja; es en cierta manera un estimador del éxito del árbol sobre los

casos de entrenamiento. El ID3 en cambio no clasifica erróneamente a los datos de

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

54 Pablo Felgaer Estado del arte

entrenamiento, con lo cual no son necesarios este tipo de indicadores; es por ello que este

algoritmo, a diferencia del C4.5, corre el riesgo de caer en sobre-ajuste.

2.4. Marco de la tesis

Esta tesis se desarrolla en el marco de los proyectos “Minería de Datos basada en

Sistemas Inteligentes” (UBACYT 2003 código I605 Res.HCS N° 1022/03) y “Explotación

de Información basada en Sistemas Inteligentes” (UBACYT 2004-2007 código I050

Res.HCS N° 2706/04) que articulan una línea de trabajo en el área de sistemas de

aprendizaje automático iniciada en el año 1993 con el estudio de aprendizaje basado en

formación y ponderación de teorías [García-Martínez, 1993; 1995; 1997; García-Martínez y

Borrajo, 2000; García-Martínez et al., 2003] y sus aplicaciones a la explotación de

información en problemas abiertos de las ciencias aplicadas [Perichinsky y García-

Martínez, 2000; Perichinsky et al., 2000; 2001; 2003a; 2003b] y de la industria [Grosser et

al., 2005].

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Descripción del problema Pablo Felgaer 55

3. Descripción del problema

Las redes bayesianas están diseñadas para hallar las relaciones de dependencia e

independencia entre todas las variables que conforman el dominio de estudio; esto permite

realizar predicciones sobre el comportamiento de cualquiera de las variables desconocidas a

partir de los valores de las otras variables conocidas; esto presupone que cualquier variable

de la base de datos puede comportarse como incógnita o como evidencia según el caso.

Existen muchas tareas prácticas que pueden reducirse a problemas de clasificación:

diagnóstico médico y reconocimiento de patrones son sólo dos ejemplos de ellas; este tipo

de tareas tienen la finalidad de asignar objetos a categorías o clases determinadas según sus

propiedades Las redes bayesianas pueden realizar la tarea de clasificación, la cual es un

caso particular de la tarea de predicción, que se caracteriza por tener una sola de las

variables de la base de datos (clasificador) que se desea predecir mientras que todas las

otras son los datos propios del caso que se desea clasificar; pueden existir una gran cantidad

de variables en la base de datos, algunas de las cuales estarán directamente relacionadas

con la variable clasificadora que se quiere predecir pero también pueden existir otras

variables que no lo estén.

Al utilizar redes bayesianas en la tarea de clasificación, éstas se ven afectadas por una

serie de inconvenientes. En primer lugar los grafos correspondientes a las redes bayesianas

contienen un nodo por cada variable que compone el dominio de aplicación aún cuando

dicha variable no repercuta de manera directa sobre la tarea de clasificación; de este modo

los grafos obtenidos pueden presentar un grado de complejidad innecesario que dificulte la

representación e interpretación del conocimiento así como también la eficiencia del proceso

de inferencia. Por otro lado, las capacidades predictivas de las redes bayesianas están

orientadas a pronosticar el valor de cualquiera de las variables pertenecientes al dominio de

aplicación en lugar de intentar maximizar el poder clasificatorio.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

56 Pablo Felgaer Descripción del problema

En este contexto, el objetivo que se plantea este trabajo consiste en encontrar un método de

aprendizaje automático para favorecer la optimización de las redes bayesianas, en particular

las de tipo poliárbol, aplicadas a problemas de clasificación.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Solución propuesta Pablo Felgaer 57

4. Solución propuesta

Para solucionar los problemas de las redes bayesianas aplicadas a la tarea de

clasificación (ver capítulo 3), lo que se propone en este trabajo es utilizar un método de

aprendizaje híbrido que combine las ventajas de las técnicas de inducción de los árboles de

decisión (TDIDT – C4.5) con las de las redes bayesianas. Este método de aprendizaje

híbrido consiste de dos etapas principales: preselección de nodos y construcción de la red.

En la primer fase se elige, a partir de todas las variables del dominio, un subconjunto de

nodos con la finalidad de generar la red bayesiana para la tarea particular de clasificación y

de esta forma optimizar la performance y mejorar la capacidad predictiva de la red; dichos

nodos son seleccionados a partir de los árboles de decisión obtenidos mediante las técnicas

de inducción (TDIDT – C4.5). En la segunda fase se construye la red bayesiana a partir del

subconjunto de variables seleccionado en la etapa previa aplicando el método de

aprendizaje para poliárboles expuesto en la sección 2.2.5.

4.1. Datos de entrada

Dado que no todas las tareas de clasificación son apropiadas para el enfoque

inductivo que se presenta en este trabajo, a continuación se detallan los requerimientos

principales que deben cumplir los dominios a ser analizados mediante la metodología

propuesta:

• Descripciones de atributo-valor: los datos a ser analizados deben poder expresarse

como un archivo plano, es decir, toda la información de un objeto o caso debe poder

expresarse en términos de una colección fija de variables o atributos. Cada atributo

puede ser discreto o numérico pero los atributos utilizados para describir un caso no

pueden variar de un caso a otro; esto restringe los dominios de aplicación en los

cuales los objetos tienen inherentemente atributos variables.

• Clases predefinidas : las categorías a las cuales se asignan los casos deben estar

establecidas de antemano. Esto significa que los algoritmos se aplican sobre un

conjunto de datos de entrenamiento previamente clasificados del tipo

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

58 Pablo Felgaer Solución propuesta

{valor_atributo1, valor_atributo2, ..., valor_atributon, clasek}. En la terminología del

aprendizaje automático esto se conoce como aprendizaje supervisado, en

contraposición al aprendizaje no supervisado en el cual la agrupación de casos se

encuentra mediante y durante el análisis.

• Clases discretas y disjuntas : las clases a las cuales se asignan los casos deben ser

totalmente disjuntas; un caso pertenece o no pertenece a una clase pero no puede

pertenecer a dos clases a la vez. Además deben existir muchos más casos que clases

para que el modelo generado sea válido en el dominio analizado.

• Datos suficientes: los patrones generados por la generalización inductiva no serán

válidos si no se los pueden distinguir de las casualidades. Como esta diferenciación se

basa generalmente en pruebas estadísticas deben existir casos suficientes para que

dichas pruebas sean efectivas. La cantidad de datos requeridos está afectada por

factores como la cantidad de propiedades y clases, y la complejidad del modelo de

clasificación; a medida que estos se incrementan se necesitan más datos para

construir un modelo confiable.

4.2. Sistema integrador

Para estudiar la solución propuesta es este trabajo se desarrolló un sistema de

“Minería de Datos utilizando Redes Bayesianas” (ver Anexo D) el cual se acopló a un

programa preexistente que realiza la inducción de árboles de decisión (TDIDT – C4.5)

[Servente & García-Martínez, 2002]. A continuación se presentan los esquemas que

ilustran la metodología de obtención de las redes bayesianas completas y de las redes

bayesianas preprocesadas (C4.5).

Figura 4.1: Esquema de obtención de redes bayesianas completas

Datos de entrenamiento

Aprendiza-je

estructural

Estructura de la red

bayesiana

Aprendiza-je paramé-

trico

Red bayesiana Completa

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Solución propuesta Pablo Felgaer 59

Figura 4.2: Esquema de obtención de redes bayesianas C4.5

En la figura 4.1 se observa el proceso mediante el cual se obtienen las redes

bayesianas completas a partir de los datos de entrenamientos. Esto se logra mediante el uso

del sistema de “Minería de Datos utilizando Redes Bayesianas” cuyos componentes

principales son los procesos de aprendizaje estructural y aprendizaje paramétrico.

La figura 4.2 describe el proceso de obtención de las redes bayesianas C4.5 donde se

puede observar la etapa de preselección de variables. Los datos de entrenamiento son

introducidos al programa generador de árboles de decisión y una vez obtenido el árbol se

procede a la preselección; ésta consiste en armar un subconjunto que incluya solamente a

las variables del dominio que conforman el árbol inducido. Luego se procede a la obtención

de la red bayesiana C4.5 de forma análoga a como se presentó en la figura 4.1 pero

trabajando exclusivamente con el conjunto de variables preseleccionado anteriormente.

Una vez obtenidas las dos versiones de las redes bayesianas del dominio en estudio se

procede a la verificación del poder predictivo de las mismas. Como se observa en la figura

4.3 el proceso de verificación se nutre de la red bayesiana que se desea verificar y del

conjunto de datos de validación; a partir de esta información se procesa y se obtiene un

reporte detallado sobre el poder predictivo de la red investigada.

Generador árboles de decisión

Árbol de decisión

C4.5 Datos de

entrenamiento

Preselec-ción de

variables

Variables preselec-cionadas

Datos de entrenamiento

Variables preselec-cionadas

Aprendiza-je

estructural

Estructura de la red

bayesiana

Aprendiza-je paramé-

trico

Red bayesiana

C4.5

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

60 Pablo Felgaer Solución propuesta

Figura 4.3: Esquema del proceso de verificación del poder predictivo.

4.3. Otros abordajes

Existen antecedentes de otros trabajos que encaran el problema de optimizar

diferentes tipos de redes bayesianas aplicadas a la tarea de clasificación.

Langley y Sage [1994] propusieron un método para optimizar redes bayesianas de

tipo naive. El método define una etapa de preselección de variables donde se evalúa el

grado de correlación entre las mismas.

Singh y Provan propusieron dos métodos para optimizar redes bayesianas de tipo

multiconectadas. El K2-AS [Singh & Provan, 1995a] define una etapa de preselección de

variables donde se evalúa la capacidad predictiva de la red al incorporar cada atributo. El

Info-AS [Singh & Provan, 1995b] define una etapa de preselección de variables basada en

las métricas de información: ganancia, proporción de ganancia [Quinlan, 1986] y medida de

distancia [López de Mantaras, 1991]. El manejo de las redes bayesianas se realiza mediante

el sistema HUGIN [Andersen et al., 1989] y se utiliza el algoritmo de aprendizaje

estructural K2 [Cooper & Herskovits, 1992].

En este trabajo se propone un método para optimizar redes bayesianas de tipo

poliárbol. El método define una etapa de preselección de variables basada en árboles de

decisión TDIDT – C4.5 [Quinlan, 1993d]. El manejo de las redes bayesianas se realiza

mediante un sistema desarrollado como parte de esta tesis y se utiliza el algoritmo de

aprendizaje estructural de Rebane y Pearl [1989].

Datos de validación

Proceso verificador

Reporte del poder predictivo Red

bayesiana

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 61

5. Prueba experimental

5.1. Descripción de los dominios

Para realizar la comparación de los resultados obtenidos al aplicar las redes

bayesianas completas (RB-Completa) y las redes bayesianas preprocesadas con algoritmos

de inducción C4.5 (RB-C4.5) se utilizaron las bases de datos “Cáncer”, “Cardiología ” y

“Hongos” obtenidas del Irving Repository of Machine Learning databases de la

Universidad de California [Murphy & Aha] y la base de datos “Dengue” que se obtuvo de

la Facultad de Ciencias Exactas y Naturales de la Universidad de Buenos Aires [Carbajo et

al., 2003].

Dado que los tipos de problemas en que se enfoca el presente trabajo son de

clasificación, todas las bases de datos utilizadas se componen de diversas variables de

entrada y una sola de salida (variable clasificadora); esta última puede tomar uno sólo de

sus valores por cada caso (esto significa que las clases deben ser mutuamente excluyentes).

Por otro lado, el domin io de valores de cada una de las variables que componen las bases de

datos son discretos y en los casos en que son continuos se encuentran discretizados y

representados mediante rangos.

La Tabla 5.1 resume dichas bases de datos en términos de cantidad de casos, clases,

variables (excluyendo las clases), así como también la cantidad de variables resultantes del

preprocesamiento a través del algoritmo de inducción C4.5.

Base de Datos Variables Variables C4.5 Clases Casos

control Casos

contraste Casos totales

Cáncer 9 6 2 500 199 699

Cardiología 6 4 2 64 31 95

Dengue 11 5 4 1.414 707 2.121

Hongos 22 6 2 5.416 2.708 8.124

Tabla 5.1: Descripción de las bases de datos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

62 Pablo Felgaer Prueba experimental

Donde la columna:

• Base de Datos indica el nombre descriptivo del conjunto de datos correspondiente.

• Variables indica la cantidad de variables que posee la base de datos original.

• Variables C4.5 muestra la cantidad de variables que posee la base de datos luego de

preprocesarla mediante el algoritmo C4.5 (ambas columnas excluyen a la variable

clasificadora).

• Clases indica cuantos valores puede tomar la variable clasificadora.

• Casos control representa la cantidad de registros que abarcan las bases de datos de

control.

• Casos contraste representa la cantidad de registros que abarcan las bases de datos de

contraste.

• Casos totales representa la cantidad de registros que abarcan las bases de datos de

totales.

A continuación se procederá a describir con mayor nivel de detalle cada una de las

bases de datos utilizadas. Para cada una de ellas se describe su dominio, las variables que

las componen con sus correspondientes valores posibles y las distribuciones de las clases

tanto en el conjunto de casos de control como así también en el de contraste.

5.1.1. Cáncer

a) Descripción

Esta base de datos de cáncer fue obtenida de la University of Wisconsin Hospitals,

Madison del Dr. William H. Wolberg. La misma posee registros de 699 casos donde para

cada uno de ellos se relevaron el valor de 9 variables y si el tumor encontrado resultó ser

benigno o maligno.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 63

b) Variables

Variable Valores

Clump thickness 1 – 10

Uniformity of cell size 1 – 10

Uniformity of cell shape 1 – 10

Marginal adhesion 1 – 10

Single epithelial cell size 1 – 10

Bare nuclei 1 – 10

Bland chromatin 1 – 10

Normal nucleoli 1 – 10

Mitoses 1 – 10

Clase Benigno, Maligno

Tabla 5.2: Variables de la base de datos “Cáncer”.

c) Cantidad de registros y distribución de las clases

Clase

Benigno Maligno Total

Casos control 328 172 500

Casos contraste 130 69 199

Total 458 241 699

Tabla 5.3: Distribución de las clases de la base de datos “Cáncer”.

5.1.2. Cardiología

a) Descripción

Los ejemplos planteados en este caso corresponden a la patología Infarto Agudo de

Miocardio [Montalvetti, 1995]. En este caso, todos los ejemplos responden a personas de

sexo masculino, entre 40 y 50 años, fumadores, con displidemia e hipertens ión arterial

presente. Pueden obtenerse dos diagnósticos de los ejemplos planteados: Si (es un infarto

agudo de miocardio) o No (no es un infarto agudo de miocardio). Aunque en medicina es

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

64 Pablo Felgaer Prueba experimental

difícil realizar un diagnóstico con una cantidad de variables reducidas, se determinó que las

variables planteadas en estos ejemplos alcanzaban para realizar un diagnóstico preliminar

de gran ayuda al experto.

b) Variables

Variable Valores

Dolor de pecho de angor Típico, Atípico, Ausente

Irradiación del angor Si, No

Duración del angor Menos de 30 minutos, Más de 30 minutos

Angor en relación Con esfuerzo, En reposo

Antigüedad del angor Reciente, Más de un mes

Respuesta vasodilatadora Positiva, Negativa

Clase Si, No

Tabla 5.4: Variables de la base de datos “Cardiología”.

c) Cantidad de registros y distribución de las clases

Clase

Si No Total

Casos control 18 46 64

Casos contraste 9 22 31

Total 27 68 95

Tabla 5.5: Distribución de las clases de la base de datos “Cardiología”.

5.1.3. Dengue

a) Descripción

En 1996 los primeros estudios sobre A. aegypti (el vector transmisor del Dengue) en

la Ciudad de Buenos Aires mostraron que se encontraba en toda la ciudad y que había

diferencias en su abundancia entre el centro de la ciudad y la periferia. A partir de 1998

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 65

comenzó un muestreo exhaustivo mediante ovitrampas 1 y búsqueda de larvas en domicilios

de la ciudad con el objetivo de dilucidar en mayor detalle la heterogeneidad espacial y

temporal de su distribución. La disponibilidad de capas de información de la ciudad muy

detalladas sobre demografía y urbanización permitieron relevar la distribución del vector y

el ambiente.

b) Variables

Variable Valores

Coherencia Si, No

Industrias [0..50], (50..150], (150..450], [>500]

Verde [0..1], (1..25], (25..50], [>50]

Casas [0..5], (5..10], (10..20], [>20]

Gente [0..80], (80..160], (160..320], [>320]

Departamentos [0..10], (10..30], (30..60], [>60]

TM 0, 2, 5

TP 1, 2, 5, 6

Altitud [0..10], (10..20], [>20]

Avenidas [0..30], (30..90], (90..270], [>270]

Estación Verano, Primavera, Otoño, Invierno

Positividad 0, 1, 2, 3

Tabla 5.6: Variables de la base de datos “Dengue”.

c) Cantidad de registros y distribución de las clases

Positividad 0 1 2 3 Total

Casos control 844 195 112 263 1.414

Casos contraste 410 107 47 143 707

Total 1.254 302 159 406 2.121

Tabla 5.7: Distribución de las clases de la base de datos “Dengue”.

1 Trampas donde el mosquito transmisor del Dengue deposita sus huevos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

66 Pablo Felgaer Prueba experimental

5.1.4. Hongos

a) Descripción

Esta base de datos incluye las descripciones de muestras hipotéticas de 23 especies de

hongos de las familias Agaricus y Lepiota. Cada especie es identificada como apta para ser

ingerida, absolutamente venenosa, o de ingestión dudosa y ciertamente no recomendable.

Esta última clase fue combinada con la venenosa. La guía de donde se obtuvieron los datos

explica que no existe una regla simple para determinar si un hongo es ingerible o no.

b) Variables

Variable Valores

Forma sombrero Acampanada, Cónica, Convexa, Chata, Abotonada, Hundida

Superficie sombrero Fibrosa, Ranurada, Escamosa, Suave

Color sombrero Marrón, Piel, Canela, Gris, Verde, Rosa, Violeta, Rojo, Blanco, Amarillo

Magulladuras Si, No

Olor Almendra, Anís, Creosota, Pescado, Hediondo, Mohoso, Ninguno, Punzante, Especioso

Tipo membrana Adherida, Descendente, Libre, Muescada

Espaciado membrana Cercano, Poblado, Distante

Tamaño membrana Ancha, Fina

Color membrana Negra, Marrón, Piel, Chocolate, Gris, Verde, Naranja, Rosa, Violeta, Roja, Blanca, Amarilla

Forma tronco Abultada, Cónica

Raíz tronco Bulbosa, Agarrotada, Copa, Igual, Rizomorfa, Arraizada

Superficie tronco arriba anillo Fibrosa, Escamosa, Sedosa, Suave,

Superficie tronco debajo anillo Fibrosa, Escamosa, Sedosa, Suave

Color tronco arriba anillo Marrón, Piel, Canela, Gris, Naranja, Rosa, Rojo, Blanco, Amarillo

Color tronco debajo anillo Marrón, Piel, Canela, Gris, Naranja, Rosa, Rojo, Blanco, Amarillo

Tipo velo Parcial, Universal

Color velo Marrón, Naranja, Blanco, Amarillo

Cantidad anillos Ninguno, Uno, Dos

Tipo anillo Tejido, Evanescente, Resplandeciente, Grande, Ninguno, Pendiente, Cubierto, Zonal

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 67

Variable Valores

Color esporas Negro, Marrón, Piel, Chocolate, Verde, Naranja, Violeta, Blanca, Amarillo

Población Abundante, Agrupada, Numerosa, Dispersa, Varios, Solitaria

Hábitat Pastos, Hojas, Praderas, Caminos, Urbano, Basura, Bosque

Clase Ingerible, Venenoso

Tabla 5.8: Variables de la base de datos “Hongos”.

c) Cantidad de registros y distribución de las clases

Clase Ingerible Venenoso Total

Casos control 2.805 2.611 5.416

Casos contraste 1.403 1.305 2.708

Total 4.208 3.916 8.124

Tabla 5.9: Distribución de las clases de la base de datos “Hongos”.

5.2. Metodología utilizada

La metodología utilizada para llevar a cabo los experimentos con cada una de las

bases de datos evaluadas se detalla a continuación.

1. Dividir la base de datos en dos. Una de control o entrenamiento (aproximadamente 2/3 de la base total) y otra de contraste o validación (con los datos restantes)

2. Procesar la base de datos de control mediante el algoritmo de inducción C4.5 para obtener el subconjunto de variables que conformarán la red bayesiana C4.5

3. Repetir para el 10%, 20%, …, 100% de los datos de la base de control

3.1. Repetir 30 veces, por cada repetición

3.1.1. Tomar al azar el X% de la base de datos de control según el porcentaje que corresponda a la iteración

3.1.2. Mediante ese subconjunto de casos de la base de control, realizar el aprendizaje estructural y paramétrico de las redes bayesianas Completa y C4.5

3.1.3. Evaluar el poder predictivo de ambas redes utilizando la base de datos de contraste

3.2. Calcular el poder predictivo promedio (a partir de las 30 iteraciones)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

68 Pablo Felgaer Prueba experimental

4. Graficar el poder predictivo de ambas redes (Completa y C4.5) en función de los casos de

entrenamiento

El paso (1) del algoritmo hace referencia a la división de la base de datos en la de

control y la de contraste. En la mayoría de los casos las bases de datos obtenidas de los

repositorios antes citados ya se encontraban divididas.

Para la preselección de variables mediante algoritmos de inducción C4.5 del paso (2),

se introdujeron a un sistema generador de árboles de decisión TDIDT cada una de las bases

de datos de control. A partir de ahí, se obtuvieron los árboles de decisión que representan

cada uno de los dominios analizados. Las variables que componen dicha representación

pasaron a conformar el subconjunto de variables que fueron tenidas en cuenta para el

aprendizaje de las redes bayesianas preprocesadas.

A continuación (3) se inicia un bucle que itera diez veces; en cada una de estas

iteraciones se procesó el 10%, 20%,…, 100% de la base de datos de control para el

aprendizaje estructural y paramétrico de las redes. De esta forma se pudo analizar no sólo la

diferencia en la capacidad predictiva de las distintas redes obtenidas sino también cómo

evolucionó dicha capacidad en la medida en que se “aprendió” con mayor cantidad de

casos.

La estructura repetitiva del paso (3.1) tiene como objetivo minimizar los resultados

casuales que no se corresponden con la realidad del modelo en estudio. Se logra minimizar

este efecto tomando diferentes muestras de datos y finalmente promediando los valores

obtenidos.

En los pasos (3.1.x) se realiza el aprendizaje estructural y paramétrico de las redes

bayesianas completas y C4.5 partiendo de un subconjunto de los casos de control

disponibles (ambas redes se obtienen a partir del mismo subconjunto de datos). Una vez

logrado esto se procede a evaluar la capacidad predictiva de las redes mediante los casos de

contraste. Para ello se recorre esta base y por cada caso se instancian todas las variables de

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 69

entrada y se analiza si la clase inferida por la red se corresponde con la indicada en el

archivo. Dado que la red bayesiana no hace clasificaciones excluyentes (es decir que

predice para cada valor de la clase cual es su probabilidad de ocurrencia) se considera como

la clase inferida a la que tiene asociado el mayor valor de probabilidad. La capacidad

predictiva corresponde al porcentaje de casos clasificados correctamente respecto al total de

casos evaluados.

En el punto (3.2) se establece cual es el poder predictivo de la red simplemente

promediando los valores obtenidos a través de todas las iteraciones realizadas.

Finalmente, en el paso (4) se procede a graficar el poder predictivo promedio de

ambas redes bayesianas en función de la cantidad de casos de entrenamiento considerados.

5.3. Análisis estadístico de los resultados

A continuación se detalla el análisis estadístico que se aplicó sobre los resultados

experimentales obtenidos en este trabajo y que avalan las afirmaciones y conclusiones

realizadas. Las nociones teóricas de probabilidad y estadística fueron extraídas

principalmente de Canavos [Canavos, 1984].

5.3.1. Prueba de hipótesis estadísticas

En todas las ramas de la ciencia, cuando un investigador hace una afirmación con

respecto a un fenómeno (que puede estar basada en su intuición, o en algún desarrollo

teórico que parece demostrarla), debe luego probar la misma mediante la realización de

experimentos. La experimentación consiste en armar un ambiente de prueba en el que

ocurra el fenómeno (o buscarlo en el ambiente real) y tomar mediciones de las variables

involucradas. Luego, se realizan análisis estadísticos de los resultados para determinar si los

mismos confirman la afirmación realizada.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

70 Pablo Felgaer Prueba experimental

Una hipótesis estadística es una afirmación con respecto a una característica

desconocida de una población de interés. La esencia de probar una hipótesis estadística es

el decidir si la afirmación se encuentra apoyada por la evidencia experimental que se

obtiene a través de una muestra aleatoria. Supóngase, por ejemplo, que unos fabricantes de

tubos de luz marca ACME están teniendo problemas en el mercado debido a algunos casos

de mala calidad de sus productos. Para recuperar su prestigio hacen la siguiente afirmación:

“El promedio de vida útil de los tubos de luz marca ACME es de 500 horas”. Y encargan a

una firma independiente que haga una serie de experimentos para contrastar esta afirmación

con esta otra: “El promedio de vida útil de los tubos de luz marca ACME es menor a 500

horas”.

• A la afirmación “promedio = 500” se la llama hipótesis nula, y se escribe como:

H0: promedio = 500

• A la afirmación “promedio < 500” se la llama hipótesis alternativa, y se escribe

como:

H1: promedio < 500

La hipótesis nula debe considerarse verdadera a menos que exista suficiente evidencia

en su contra. Es decir, se rechazará la afirmación de que la vida útil promedio es de 500

horas sólo si la evidencia experimental se encuentra muy en contra de ésta afirmación. En

caso contrario, no se podrá rechazar la afirmación basándose en la evidencia experimental.

Debe notarse que no poder rechazar la afirmación no es lo mismo que aceptarla. El caso es

análogo al de un juicio donde hay un sospechoso acusado de un crimen: si la evidencia es

suficiente se lo declarará culpable. De lo contrario se dirá que la evidencia no alcanza para

demostrar su culpabilidad.

Existen entonces dos posibles decisiones con respecto a la hipótesis nula: rechazarla ó

no poder rechazarla. A su vez la hipótesis nula puede ser verdadera o falsa. Esto deja cuatro

posibles escenarios:

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 71

Se denomina α la probabilidad de cometer un error de tipo I y β a la probabilidad de

cometer un error de tipo II. Los valores de α y β son interdependientes. Para cada

experimento, al disminuir uno de ellos aumenta el otro. El error de tipo I se considera más

grave que el de tipo II (volviendo a la analogía con el juicio, se prefiere dejar ir a un

culpable y no condenar a un inocente) por lo que el procedimiento seguido habitualmente

consiste en fijar un valor pequeño para α (por ejemplo, 5%) y luego tratar de minimizar β

lo más que se pueda.

5.3.2. El test de Wilcoxon para la comparación de muestras apareadas

5.3.2.1. Introducción

Existen numerosos métodos para la prueba de hipótesis estadísticas. El hecho de que

cada uno de ellos pueda aplicarse a una situación en particular depende de los siguientes

factores:

• La cantidad de medic iones realizadas.

• La naturaleza de los valores a analizar (si son valores en un intervalo numérico, si son

categorías cualitativas, si son del tipo SI / NO, etc.).

• El grado de dependencia existente entre las mediciones.

Rechazar H0 No poder

rechazar H0

Cuando H0

es verdadera

(error Tipo I)

Cuando H0

es falsa

Cuando H0

es verdadera

Cuando H0

es falsa

(error Tipo II)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

72 Pablo Felgaer Prueba experimental

Los experimentos realizados para comparar las redes bayesianas completas con las

redes bayesianas preprocesadas con C4.5 son un caso que se denomina “de muestras

apareadas” en el cual se miden variables numéricas. Para estos casos el test de Wilcoxon es

el más apropiado [Canavos, 1984]. El término “muestras apareadas” se refiere a que las

mediciones realizadas no son independientes sino que son tomadas de a pares. Esto hace

que lo que deba analizarse sean las diferencias que existen en cada par de valores, que es

precisamente lo que hace el test de Wilcoxon.

5.3.2.2. Descripción del test

Los experimentos para comparar la calidad de predicción de los dos tipos de redes

obtenidas se realizan de la siguiente forma:

1. Se toman N muestras de datos.

2. Se realizar el proceso de aprendizaje estructural y paramétrico de las redes con ambos algoritmos.

3. Se mide el porcentaje de predicción para cada una de las redes.

Luego de la realización de los experimentos se confecciona una tabla que tiene la

siguiente forma (ejemplo para 4 muestras):

Muestra Algoritmo 1 Algoritmo 2 Diferencia (1 -2)

Ranking Ranking con signo

1 0,79 0,80 -0,01 1 -1

2 0,46 0,51 -0,05 4 -4

3 0,91 0,87 0,04 3 3

4 0,23 0,25 -0,02 2 -2

Tabla 5.10: Ejemplo de tabla para aplicar el test de Wilcoxon.

Como se ve, los valores pueden tener grandes variaciones de muestra a muestra pero

lo que importa es la diferencia entre los valores de cada algoritmo para cada muestra ya que

eso es lo que indicará el mejor o peor rendimiento de cada uno.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 73

La hipótesis nula que es puesta a prueba es que el promedio de los valores es igual

para los dos algoritmos (es decir, que la capacidad predictiva de ambas redes obtenidas es

equivalente). Se plantean dos hipótesis alternativas: una de ellas afirma que el promedio de

los valores es mayor para el algoritmo 1 y la otra que el promedio de los valores es mayor

para el algoritmo 2.

La metodología del test es la siguiente:

• Se calculan las diferencias de los valores para cada muestra.

• Luego se asigna a cada diferencia un valor en un ranking (de menor a mayor) en base

a su valor absoluto.

• Por último a cada valor del ranking se le asigna el signo de la diferencia que le dio

origen.

Se denomina +T a la suma de los valores positivos y −T a la suma de los negativos.

Si no hubiera diferencias entre los algoritmos es de esperar que +T resulte igual a −T (en

valor absoluto). Para muestras lo suficientemente grandes, la variable +T puede

aproximarse por medio de una distribución normal con media )( +TE y varianza )( +TVar ,

donde:

4)1(

)(+

=+NN

TE

24)12)(1(

)(++

=+NNN

TVar

Luego, si se define la transformación:

)()()(

++−+

=+TVar

TETzT

la variable +zT tiene una distribución normal estándar (media igual a 0 y varianza igual a

1). El valor del parámetro α determina los límites mínimo y máximo para el valor

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

74 Pablo Felgaer Prueba experimental

observado de +zT más allá de los cuales se rechaza la hipótesis nula. Si el valor de +zT

es superior al límite máximo se aceptará la hipótesis alternativa de que el promedio de

valores para el algoritmo 1 es mayor que para el algoritmo 2. Si el valor de +zT es inferior

al límite mínimo se aceptará la hipótesis alternativa de que el promedio de valores para el

algoritmo 2 es mayor que para el algoritmo 1.

5.3.3. Aplicación del test a los resultados

En el caso de los experimentos realizados en este trabajo se utilizaron diez

mediciones de la capacidad predictiva de la red para cada una de las dos redes que se

desean comparar por lo que 10=N . El valor de α utilizado es de 5%, 05.0=α . Esto

quiere decir que en los casos en que rechacemos la hipótesis nula y aceptemos alguna de las

hipótesis alternativa s, el test nos dará un 95% de confianza. Teniendo N y α quedan

definidos los límites mínimo y máximo para +zT , que son respectivamente -1,645 y 1,645.

A partir N también se puede calcular el valor de )( +TE y de )( +TVar mediante las

fórmulas antes citadas.

5,274

)110(104

)1()( =

+=

+=+

NNTE

25,9624

)1102)(110(1024

)12)(1()( =

++=

++=+

xNNNTVar

con lo cual la aplicación del test de Wilcoxon se reduce al armado de las tablas, calcular el

valor de +zT y compararlo contra los límites.

81,95,27)(

)()()( −+

=+

+−+=+

TTVar

TETzT

En la siguiente sección de resultados, para cada uno de los dominios en los que se

realizaron experimentos, se aplica el test de Wilcoxon para verificar y avalar las

conclusiones obtenidas.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 75

5.4. Resultados

A continuación se presentarán los resultados experimentales que surgen de aplicar la

metodología previamente citada a cada una de las bases de datos de prueba.

5.4.1. Cáncer

A continuación se presentan los resultados obtenidos sobre el dominio de datos

“Cáncer”.

5.4.1.1. Gráfico

Gráfico del poder predictivo de las RB-Completa y RB-C4.5 en función de la

cantidad de casos de aprendizaje para el dominio “Cáncer”.

Cáncer

66,00%

68,00%

70,00%

72,00%

74,00%

76,00%

78,00%

80,00%

82,00%

84,00%

50 100 150 200 250 300 350 400 450 500

Casos

Pre

dic

ció

n

RB-Completa RB-C4.5

Gráfico 5.1: Gráfico del poder predictivo para la base de datos “Cáncer”.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

76 Pablo Felgaer Prueba experimental

Completo C4.5 Registros

Casos OK Mal Predicción Casos OK Mal Predicción

10% 50 150 49 67,00% 50 163 37 74,00%

20% 100 135 64 67,84% 100 148 52 74,12%

30% 150 134 66 67,09% 150 150 49 75,25%

40% 200 141 58 70,73% 200 160 39 80,53%

50% 250 138 61 69,35% 250 160 39 80,53%

60% 300 141 58 70,73% 300 161 38 80,78%

70% 350 143 56 71,86% 350 164 35 82,29%

80% 400 143 56 71,73% 400 164 35 82,54%

90% 450 142 58 71,11% 450 164 35 82,41%

100% 500 143 56 71,86% 500 164 35 82,41%

Tabla 5.11: Tabla del poder predictivo para la base de datos “Cáncer”.

5.4.1.2. Test de Wilcoxon

Muestra Red Completa

Red C4.5

Diferencia Ranking Ranking con signo

1 67,00% 74,00% -7,00% 2 -2

2 67,84% 74,12% -6,28% 1 -1

3 67,09% 75,25% -8,17% 3 -3

4 70,73% 80,53% -9,80% 4 -4

5 69,35% 80,53% -11,18% 9 -9

6 70,73% 80,78% -10,05% 5 -5

7 71,86% 82,29% -10,43% 6 -6

8 71,73% 82,54% -10,80% 8 -8

9 71,11% 82,41% -11,31% 10 -10

10 71,86% 82,41% -10,55% 7 -7

Tabla 5.12: Tabla de aplicación del test de Wilcoxon para la base de datos “Cáncer”.

De la tabla surge que T+ = 0 y que T- = 55 con lo cual zT+ = -2,8. Por lo tanto debe

rechazarse la hipótesis nula y aceptarse la hipótesis alternativa que sostiene que los valores

para el algoritmo híbrido (RB-C4.5) son mayores que para el algoritmo puro (RB-

Completa).

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 77

5.4.1.3. Análisis

Como puede observarse en el gráfico 5.1 (dominio “Cáncer”) el poder predictivo de

la RB-C4.5 es superior al de la RB-Completa a lo largo de todos sus puntos (esta

afirmación es avalada al aplicar el test de Wilcoxon). Asimismo, se puede observar como

dicha capacidad predictiva se ve incrementada, casi siempre, en la medida que se toman

mayor cantidad de casos de entrenamiento para generar las redes. Finalmente, se observa

que a partir de los 350 casos de entrenamiento el poder predictivo de las redes tiene a

estabilizarse alcanzando su punto máximo.

5.4.2. Cardiología

A continuación se presentan los resultados obtenidos sobre el dominio de datos

“Cardiología”.

5.4.2.1. Gráfico

Gráfico del poder predictivo de las RB-Completa y RB-C4.5 en función de la

cantidad de casos de aprendizaje para el dominio “Cardiología”.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

78 Pablo Felgaer Prueba experimental

Cardiología

60,00%

65,00%

70,00%

75,00%

80,00%

85,00%

90,00%

95,00%

6 12 18 24 30 36 42 48 54 60

Casos

Pre

dic

ció

n

RB-Completa RB-C4.5

Gráfico 5.2: Gráfico del poder predictivo para la base de datos “Cardiología”.

Completo C4.5 Registros Casos OK Mal Predicción Casos OK Mal Predicción

10% 6 20 11 64,27% 6 21 10 66,61%

20% 12 24 7 76,45% 12 25 6 79,60%

30% 19 26 5 83,31% 19 27 4 86,05%

40% 25 27 4 87,90% 25 28 3 90,32%

50% 32 28 3 90,89% 32 29 3 91,94%

60% 38 28 3 90,97% 38 29 2 92,66%

70% 44 29 2 92,18% 44 29 2 93,39%

80% 51 29 2 92,98% 51 29 2 93,47%

90% 57 29 2 93,79% 57 29 2 94,11%

100% 64 29 2 93,55% 64 29 2 93,55%

Tabla 5.13: Tabla del poder predictivo para la base de datos “Cardiología”.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 79

5.4.2.2. Test de Wilcoxon

Muestra Red Completa

Red C4.5

Diferencia Ranking Ranking con signo

1 64,27% 66,61% -2,34% 6 -6

2 76,45% 79,60% -3,15% 9 -9

3 83,31% 86,05% -2,74% 8 -8

4 87,90% 90,32% -2,42% 7 -7

5 90,89% 91,94% -1,05% 3 -3

6 90,97% 92,66% -1,69% 5 -5

7 92,18% 93,39% -1,21% 4 -4

8 92,98% 93,47% -0,48% 2 -2

9 93,79% 94,11% -0,32% 1 -1

10 93,55% 93,55% 0,00%

Tabla 5.14: Tabla de aplicación del test de Wilcoxon para la base de datos “Cardiología”.

De la tabla surge que T+ = 0 y que T- = 45 con lo cual zT+ = -1,8. Por lo tanto debe

rechazarse la hipótesis nula y aceptarse la hipótesis alternativa que sostiene que los valores

para el algoritmo híbrido (RB-C4.5) son mayores que para el algoritmo puro (RB-

Completa).

5.4.2.3. Análisis

Al analizar el gráfico 5.2 correspondiente a la base de datos “Cardiología” también se

puede observar una mejora por parte de la RB-C4.5 respecto de la RB-Completa. Si bien

las diferencias entre los valores obtenidos con ambas redes son menores que en el caso

anterior, el algoritmo híbrido presenta una mejor aproximación a la realidad que el otro.

Cabe destacar que en este caso el nivel de mejora va disminuyendo a medida que el

conjunto de casos utilizados para el aprendizaje se incrementa.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

80 Pablo Felgaer Prueba experimental

5.4.3. Dengue

A continuación se presentan los resultados obtenidos sobre el dominio de datos

“Dengue”.

5.4.3.1. Gráfico

Gráfico del poder predictivo de las RB-Completa y RB-C4.5 en función de la

cantidad de casos de aprendizaje para el dominio “Dengue”.

Dengue

57,00%

59,00%

61,00%

63,00%

65,00%

67,00%

69,00%

71,00%

141 282 423 564 705 846 987 1128 1269 1410

Casos

Pre

dic

ció

n

RB-Completa RB-C4.5

Gráfico 5.3: Gráfico del poder predictivo para la base de datos “Dengue”.

Completo C4.5 Registros

Casos OK Mal Predicción Casos OK Mal Predicción

10% 141 417 290 58,00% 141 484 224 68,00%

20% 282 412 295 58,40% 282 493 214 68,30%

30% 424 413 294 59,00% 424 493 214 68,40%

40% 565 410 297 58,70% 565 494 213 68,70%

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 81

Completo C4.5 Registros

Casos OK Mal Predicción Casos OK Mal Predicción

50% 707 410 297 60,00% 707 494 213 68,60%

60% 848 410 297 60,50% 848 493 214 68,80%

70% 989 410 297 61,00% 989 494 213 68,90%

80% 1131 410 297 60,70% 1131 494 213 69,00%

90% 1272 410 297 61,00% 1272 494 213 69,50%

100% 1414 410 297 61,30% 1414 494 213 69,87%

Tabla 5.15: Tabla del poder predictivo para la base de datos “Dengue”.

5.4.3.2. Test de Wilcoxon

Muestra Red Completa

Red C4.5 Diferencia Ranking Ranking con

signo

1 58,00% 68,00% -10,00% 9,5 -9,5

2 58,40% 68,30% -9,90% 8 -8

3 59,00% 68,40% -9,40% 7 -7

4 58,70% 68,70% -10,00% 9,5 -9,5

5 60,00% 68,60% -8,60% 6 -6

6 60,50% 68,80% -8,30% 2 -2

7 61,00% 68,90% -7,90% 1 -1

8 60,70% 69,00% -8,30% 3,5 -3,5

9 61,00% 69,50% -8,50% 3,5 -3,5

10 61,30% 69,87% -8,57% 5 -5

Tabla 5.16: Tabla de aplicación del test de Wilcoxon para la base de datos “Dengue”.

De la tabla surge que T+ = 0 y que T- = 55 con lo cual zT+ = -2,8. Por lo tanto debe

rechazarse la hipótesis nula y aceptarse la hipótesis alternativa que sostiene que los valores

para el algoritmo híbrido (RB-C4.5) son mayores que para el algoritmo puro (RB-

Completa).

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

82 Pablo Felgaer Prueba experimental

5.4.3.3. Análisis

Para la base de datos de “Dengue” correspondiente al gráfico 5.3 se observa una

mejoría en el poder predictivo de la red obtenida mediante al método propuesto. Como

puede observarse en el gráfico y sus respectivas tablas de valores, la RB-C4.5 logra realizar

la clasificación de los casos con una precisión entre 8% y 10% mayor que la obtenida

mediante la otra red.

5.4.4. Hongos

A continuación se presentan los resultados obtenidos sobre el dominio de datos

“Hongos”.

5.4.4.1. Gráfico

Gráfico del poder predictivo de las RB-Completa y RB-C4.5 en función de la

cantidad de casos de aprendizaje para el dominio “Hongos”.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Prueba experimental Pablo Felgaer 83

Hongos

97,20%

97,40%

97,60%

97,80%

98,00%

98,20%

98,40%

98,60%

541 1082 1623 2164 2705 3246 3787 4328 4869 5410

Casos

Pre

dic

ció

n

RB-Completa RB-C4.5

Gráfico 5.4: Gráfico del poder predictivo para la base de datos “Hongos”.

Completo C4.5 Registros Casos OK Mal Predicción Casos OK Mal Predicción

10% 541 2636 72 97,33% 541 2646 63 97,69%

20% 1083 2638 70 97,42% 1083 2648 60 97,78%

30% 1624 2640 68 97,49% 1624 2655 53 98,03%

40% 2166 2641 67 97,51% 2166 2656 52 98,07%

50% 2708 2641 67 97,52% 2708 2658 50 98,15%

60% 3249 2641 67 97,54% 3249 2659 49 98,19%

70% 3791 2642 66 97,58% 3791 2665 43 98,40%

80% 4332 2643 65 97,59% 4332 2662 46 98,29%

90% 4874 2643 65 97,60% 4874 2662 46 98,29%

100% 5416 2643 65 97,60% 5416 2668 40 98,52%

Tabla 5.17: Tabla del poder predictivo para la base de datos “Hongos”.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

84 Pablo Felgaer Prueba experimental

5.4.4.2. Test de Wilcoxon

Muestra Red Completa

Red C4.5

Diferencia Ranking Ranking con signo

1 97,33% 97,69% -0,36% 2 -2

2 97,42% 97,78% -0,35% 1 -1

3 97,49% 98,03% -0,54% 3 -3

4 97,51% 98,07% -0,56% 4 -4

5 97,52% 98,15% -0,64% 5 -5

6 97,54% 98,19% -0,65% 6 -6

7 97,58% 98,40% -0,82% 9 -9

8 97,59% 98,29% -0,69% 7,5 -7,5

9 97,60% 98,29% -0,69% 7,5 -7,5

10 97,60% 98,52% -0,92% 10 -10

Tabla 5.18: Tabla de aplicación del test de Wilcoxon para la base de datos “Hongos”.

De la tabla surge que T+ = 0 y que T- = 55 con lo cual zT+ = -2,8. Por lo tanto debe

rechazarse la hipótesis nula y aceptarse la hipótesis alternativa que sostiene que los valores

para el algoritmo híbrido (RB-C4.5) son mayores que para el algoritmo puro (RB-

Completa).

5.4.4.3. Análisis

Al evaluar los resultados obtenidos con las bases de datos de “Hongos” (gráfico 5.4)

se afianzan las afirmaciones citadas referentes a la mejora que produce el preprocesamiento

de las variables de la red aplicadas a los problemas de clasificación. En este caso también,

el poder predictivo se ve incrementado.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Conclusiones Pablo Felgaer 85

6. Conclusiones

Como se puede observar todas las gráficas que representan el poder predictivo en

función de la cantidad de casos de entrenamiento son crecientes. Este fenómeno se da

independientemente del dominio de datos utilizado y del método evaluado (RB-Completa o

RB-C4.5).

Del análisis de los resultados obtenidos en la experimentación podemos concluir que

el método híbrido de aprendizaje propuesto en esta tesis (RB-C4.5) genera una mejora en el

poder predictivo de la red respecto a la obtenida sin realizar el preprocesamiento de las

variables (RB-Completa).

En otro aspecto, las RB-C4.5 poseen una cantidad de variables menor (o a lo sumo

igual) que las RB-Completa; esta reducción de la cantidad de variables involucradas

produce una simplificación en la conceptualización del dominio analizado, la cual trae

aparejado dos importantes ventajas; por un lado, facilitan la representación e interpretación

del conocimiento eliminando parámetros que no repercuten de manera directa sobre el

objetivo buscado (tarea de clasificación). Por el otro lado, simplifica y optimiza la tarea de

razonamiento (propagación de las probabilidades) lo cual conlleva a la mejora de los

tiempos de procesamiento.

En suma, basándonos en los resultados experimentales obtenidos concluimos que el

método híbrido de aprendizaje propuesto en este trabajo optimiza las configuraciones de las

redes bayesianas de tipo poliárbol aplicadas a tareas de clasificación.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Referencias Pablo Felgaer 87

Referencias

Andersen, S.K., Olesen, K.G., Jensen, F. (1989). HUGIN – a Shell for Building Belief

Universes for Expert Systems. In Proc. IJCAI, pages 1080-1085.

Beinlich, I.A., Suermondt, H.J., Chavez, R.M., Cooper, G.F. (1989). The ALARM

monitoring system: A case study with two probabilistic inference techniques for

belief networks. In proceedings of the 2nd European Conference on Artificial

Intelligence in Medicine.

Bickmore, Timothy W. (1994). Real-Time Sensor Data Validation. NASA Contractor

Report 195295, National Aeronautics and Space Administration.

Blurock, Eduard S. (1996). The ID3 Algorithm. Research Institute for Symbolic

Computation, Austria.

Breese, John S., Blake, Russ (1995). Automating Computer Bottleneck Detection with

Belief Nets. Proceedings of the Conference on Uncertainty in Artificial Intelligence,

Morgan Kaufmann, San Francisco, CA, pp 36-45.

Canavos, G.C. (1984). Probabilidad y Estadística, Aplicaciones y Métodos. Mc.Graw-Hill.

Carbajo, A., Curto, S., Schweigmann, N. (2003). Distribución espacio-temporal de Aedes

aegypti (Diptera: Culicidae). Su relación con el ambiente urbano y el riesgo de

transmisión del virus dengue en la Ciudad de Buenos Aires. Departamento de

Ecología, Genética y Evolución. Facultad de Ciencias Exactas y Naturales.

Universidad de Buenos Aires.

Chen, M., Han, J., Yu, P. (1996). Data mining: An overview from database perspective.

IEEE Transactions on Knowledge and Data Eng.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

88 Pablo Felgaer Referencias

Cooper, G.F., Herskovits, E. (1992). A Bayesian Method for the Induction of Probabilistic

Networks from Data. In Machine Learning 9, pages 54-62, Kluwer.

Cowell, R., Dawid, A., Lauritzen, S., Spiegelhalter, D. (1990). Probabilistic Networks and

Expert Systems. Springer, New York, NY.

Diaz, F., Corchado, J.M. (1999). Rough sets bases learning for bayesian networks.

International workshop on objetive bayesian methodology, Valencia, Spain.

Díez Vegas, F.J. (1994). Sistema experto bayesiano para ecocardiografía . Tesis doctoral,

Universidad Nacional de Educación a Distancia.

Evangelos, S., Han, J. (1996). Proceedings of the Second International Conference on

Knowledge Discovery and Data Mining. Portland, EE.UU.

Ezawa, Kazuo J., Schuermann, Til (1995). Fraud/Uncollectible Debt Detection Using a

Bayesian Network Based Learning System: A Rare Binary Outcome with Mixed

Data Structures. Proceedings of the Conference on Uncertainty in Artificial

Intelligence, Morgan Kaufmann, San Francisco, CA, pp 157-166.

Felgaer, P., Britos, P., Sicre, J., Servetto, A., García-Martínez, R., Perichinsky, G. (2003).

Optimización de redes bayesianas basado en técnicas de aprendizaje por inducción.

IX Congreso Argentino de Ciencias de la Computación. La Plata. Octubre 6 al 10.

Fritz, W., García-Martínez, R., Rama, A., Blanqué, J., Adobatti, R., Sarno, M. (1989). The

Autonomous Intelligent System. Robotics and Autonomous Systems. Elsevier

Science Publishers. Holanda. Volumen 5. Número 2. Páginas 109-125.

Gallion, R., Clair, D., Sabharwal, C., Bond, W.E. (1993). Dynamic ID3: A Symbolic

Learning Algorithm for Many-Valued Attribute Domains. Engineering Education

Center, University of Missouri-Rolla, St. Luis, EE.UU.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Referencias Pablo Felgaer 89

García-Martínez, R. (1993). Aprendizaje Automático basado en Método Heurístico de

Formación y Ponderación de Teorías. Revista Tecnología. Brasil. Volumen 15.

Número 1-2. Páginas 159-182.

García-Martínez, R. (1995). Aprendizaje Automático. Enciclopedia Iberoamericana de

Psiquiatría. Volumen II (Ed. G. Vidal, R. Alarcón & F. Lolas). Páginas 824-828.

Editorial Médica Panamerica. ISBN 950-06-2311-0.

García-Martínez, R. (1997). Sistemas Autónomos. Aprendizaje Automático. 170 páginas.

Editorial Nueva Librería. ISBN 950-9088-84-6.

García-Martínez, R., Borrajo, D. (2000). An Integrated Approach of Learning, Planning

and Executing. Journal of Intelligent and Robotic Systems. Volumen 29, Número 1,

Páginas 47-78. Kluwer Academic Press.

García-Martínez, R., Servente, M., Pasquini, D. (2003). Sistemas Inteligentes. 347 páginas.

Editorial Nueva Librería. ISBN 987-1104-05-7.

Gowans, M. (2001). Bayesian Network Toolkit. Department of Computing, Imperial

College.

Grosser, H., Britos, P., García-Martínez, R. (2005). Detecting Fraud in Mobile Telephony

Using Neural Networks. Lecture Notes in Artificial Intelligence. Volumen 3533,

Páginas 613-615.

Han, J. (1999). Data Mining. Urban and Dasgupta (eds.), Encyclopedia of Distributed

Computing, Kluwer Academic Publishers.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

90 Pablo Felgaer Referencias

Harris, N., Siegelhalter, D.J., Bull, K., Franklin, R.C.G. (1990). Criticizing Conditional

Probabilities in Belief Networks. SCAMC 90, Proceedings of the 4th Annual

Symposium on Computer Applications in Medical Care. Pp. 805-809.

Heckerman, D., Chickering, M., Geiger, D. (1995). Learning bayesian networks, the

combination of knowledge and statistical data. Machine learning 20: 197-243

Heckerman, D. (1995). A tutorial on learning bayesian networks. Technical report MSR-

TR-95-06, Microsoft research, Redmond, WA.

Heckerman, D.E., Geiger, D., Chickering, D. (1995). Learning Bayesian networks: The

combination of knowledge and statistical data. Machine Learning, vol. 20, pp. 197-

243.

Heckerman, D., Chickering, M. (1996). Efficient approximation for the marginal likelihood

of incomplete data given a bayesian network . Technical report MSR-TR-96-08,

Microsoft Research, Microsoft Corporation.

Hernández Orallo, J. (2000). Extracción automática de conocimiento de bases de datos e

ingeniería de software. Programación declarativa e ingeniería de la programación.

Herskovits, E.H., Copper, G.F. (1991). Algorithms for Bayesian belief-networks

percomputation. Meth. Inf. Med., 30:81-9.

Holsheimer, M., Siebes, A. (1991). Data Mining: The Search for Knowledge in Databases.

Report CS-R9406, ISSN 0169-118X, Amersterdam, The Netherlands.

Hunt, E.B., Marin, J., Stone, P.J. (1966). Experiments in Induction. New York, Academic

Press, EE.UU.

Joachims, T., Freitag, D., Mitchell, T. (1995). Web Watcher: A Tour Guide for the World

Wide Web. School of Computer Science, Carnegie Mellon University, EE.UU.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Referencias Pablo Felgaer 91

López de Mantaras, R. (1991). A distance-based attribute selection measure for decision

tree induction. Machine Learning, 6, 81-92.

Murphy, P.M., Aha, D.W. UCI Repository of Machine Learning databases. Machine-

readable data repository, Department of Information and Computer Science,

University of California, Irvine.

Langley, P., Sage, S. (1994). Induction of selective Bayesian classifiers. In Proc. Conf. On

Uncertainly in AI, pages 399-406. Morgan Kaufmann.

Lauritzen, S.L., Spiegelhalter, D.J. (1988). Local computations with probabilities on

graphical structures and their applications to expert systems. Journal of the Royal

Statistical Society, series B; 50(2):157-224.

Mannila, H. (1997). Methods and problems in data mining. In Proc. of International

Conference on Database Theory, Delphi, Greece.

Michalski, R.S., Baskin, A.B., Spackman, K.A. (1982). A Logic-Based Approach to

Conceptual Database Analysis. Sixth Annual Symposium on Computer

Applications on Medical Care, George Washington University, Medical Center,

Washington, DC, EE.UU.

Michalski, R.S., Carbonell, J.G., Mitchell, T.M. (1983). Machine learning I: An AI

Approach. Morgan Kaufmann, Los Altos, CA.

Michalski, R.S., Bratko, I., Kubat, M. (1998). Machine Learning and Data Mining,

Methods and Applications. John Wiley & Sons Ltd, West Sussex, England.

Mitchell, T. (2000). Decision Trees. Cornell University, EE.UU.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

92 Pablo Felgaer Referencias

Montalvetti, M. (1995). Sistemas de adquisición automática de conocimientos. Tesis de

grado en ingeniería de computación. Universidad Católica de Santiago del Estero,

Argentina.

Pearl, J. (1988). Probabilistic reasoning in intelligent systems: networks of plausible

inference. San Mateo, California: Morgan Kaufmann.

Perichinsky, G., García-Martínez, R. (2000). A Data Mining Approach to Computational

Taxonomy. Proceedings del Workshop de Investigadores en Ciencias de la

Computación. Páginas 107-110. Editado por Departamento de Publicaciones de la

Facultad de Informática. Universidad Nacional de La Plata. Mayo.

Perichinsky, G., García-Martínez, R., Proto, A. (2000). Knowledge Discovery Based on

Computational Taxonomy And Intelligent Data Mining. CD del VI Congreso

Argentino de Ciencias de la Computación. (\cacic2k\cacic\sp\is-039\IS-039.htm).

Ushuaia. Octubre 2 al 6.

Perichinsky, G., García-Martínez, R., Proto, A., Sevetto, A, Grossi, D. (2001). Data

Mining: Supervised and Non-Supervised Intelligent Knowledge Discovery.

Proceedings del II Workshop de Investigadores en Cienc ias de la Computación.

Mayo. Editado por Universidad Nacional de San Luis en el CD

Wicc2001:\Wiccflash\Areas\IngSoft\Datamining.pdf

Perichinsky, G., Servetto, A., García-Martínez, R., Orellana, R., Plastino, A. (2003a).

Taxomic Evidence Applying Algorithms of Intelligent Data Minning Asteroid

Families. Proceedings de la International Conference on Computer Science,

Software Engineering, Information Technology, e-Bussines & Applications. Pág.

308-315. Río de Janeiro (Brasil). ISBN 0-9742059-3-7.

Perichinsky, G., Servente, M., Servetto, A., García-Martínez, R., Orellana, R., Plastino, A.

(2003b). Taxonomic Evidence and Robustness of the Classification Applying

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Referencias Pablo Felgaer 93

Intelligent Data Mining. Proceedings del VIII Congreso Argentino de Ciencias de la

Computación. Pág. 1797-1808.

Piatetski-Shapiro, G., Frawley, W.J., Matheus, C.J. (1991). Knowledge discovery in

databases: an overview . AAAI-MIT Press, Menlo Park, California.

Piatetsky-Shapiro, G., Fayyad, U.M., Smyth, P. (1996). From data mining to knowledge

discovery. AAAI Press/MIT Press, CA.

Quinlan, J.R. (1986). Induction of decision trees. Machine Learning, 1, 81-106.

Quinlan, J.R. (1993a). The effect of noise on concept learning. En R.S. Michalski, J.G.

Carbonell, & T.M. Mitchells (Eds.) Machine learning, the artificial intelligence

approach. Morgan Kaufmann, Vol. I, Capítulo 6, páginas 149-167. San Mateo, CA:

Morgan Kaufmann, EE.UU.

Quinlan, J.R. (1993b). Learning efficient Classification Procedures and Their Application

to Chess Games. En R.S. Michalski, J.G. Carbonell, & T.M. Mitchells (Eds.)

Machine learning, the artificial intelligence approach. Morgan Kaufmann, Vol. II,

Capítulo 15, páginas 463-482, EE.UU.

Quinlan, J.R. (1993c). Combining instance-based and model-based learning. Basser

department of computer science, University of science, Australia.

Quinlan, J.R. (1993d). C4.5: Programs for machine learning. Morgan Kaufmann

publishers, San Mateo, California, EE.UU.

Quinlan, J.R. (1995). MDL and categorical theories. Basser department of computer

science, University of science, Australia.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

94 Pablo Felgaer Referencias

Quinlan, J.R., Cameron-Jones, R.M. (1995). Oversearching and layered search in

empirical learning. Basser department of computer science, University of science,

Australia.

Ramoni, M., Sebastiani, P. (1996). Learning bayesian networks from incomplete databases.

Technical report KMI-TR-43, Knowledge Media Institute, The Open University.

Ramoni, M., Sebastiani, P. (1997). Efficient Parameter Learning in Bayesian Networks

from Incomplete Databases. Report KMI-TR-41, January 1997, Knowledge Media

Institute, The Open University.

Ramoni, M., Sebastiani, P. (1999). Bayesian methods in Intelligent Data Analysis. An

Introducction. Pages 129-166. Physica Verlag, Heidelberg.

Servente, M., García-Martínez, R. (2002). Algoritmos TDIDT Aplicados a la Minería

Inteligente. Revista del Instituto Tecnológico de Buenos Aires. Volumen 26.

Páginas 39-57.

Simon, H.A. (1983). Why should machines learn?. Machine Learning, Michalski et al.

(eds.) Palo Alto CA: Tioga.

Singh, M., Provan, G. (1995a). A Comparison of Induction Algorithms for Selective and

non-Selective Bayesian Classifiers. In Proceedings of the 12 th International

Conference on Machine Learning, 497-505. Morgan Kaufmann.

Singh, M., Provan, G. (1995b). Efficient Learning of Selective Bayesian Network

Classifiers. University of Pennsylvania.

Spiegelhalter, D.J., Lauritzen, S.L. (1990). Sequential updating of conditional probabilities

on directed graphs structures. Networks, 20, pp. 579-605.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Casos de uso Pablo Felgaer 95

A. Casos de uso

A continuación se presentan los casos de uso [Booch, Jacobson & Rumbaugh, 2000]

obtenidos durante el análisis del software a construir. Los mismos corresponden a la

interacción de los usuarios con el sistema de redes bayesianas.

En cada uno de estos casos de uso el usuario inicia una acción a partir de la selección

de opciones del menú del sistema.

A.1. Menú Archivo

El menú “Archivo” contiene las opciones relacionadas con los archivos externos al

sistema. Al seleccionar la opción “Nueva”, en caso de haber una red cargada se descarga y

se vuelve al estado inicial. La opción “Abrir” abre una red bayesiana en el sistema. Al

elegir “Guardar” se guardan las modificaciones sobre la red bayesiana abierta. Con

“Guardar como…” se guarda la red bayesiana abierta con otro nombre de archivo.

Finalmente la opción “Salir” cierra el sistema.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

96 Pablo Felgaer Casos de uso

Figura A.1: Casos de uso “Archivo ”.

A.2. Menú Red

El menú “Red” contiene las opciones relacionadas con la red bayesiana abierta en el

sistema. La opción “Probabilidades” muestra una tabla con las probabilidades totales de los

nodos de la red. La opción “Ordenar” realiza un ordenamiento automático de los nodos de

la red en la pantalla.

Usuario

Menú:

Archivo – Nueva

Menú:

Archivo – Abrir

Menú:

Archivo – Guardar

Menú:

Archivo – Guardar

como…

Menú:

Archivo – Salir

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Casos de uso Pablo Felgaer 97

Figura A.2: Casos de uso “ Red”.

A.3. Menú Nodo

El menú “Nodo” contiene las opciones relacionadas con el nodo seleccionado de la

red bayesiana abierta. Al presionar “Instanciar – Estado <X>” se instancia el nodo en el

estado indicado. Al presionar “Instanciar – Ninguno” se desinstancia el nodo. La opción

“Probabilidades Condicionales” muestra una tabla con las probabilidades condicionales.

“Probabilidades Totales ” muestra una tabla con las probabilidades totales. Finalmente,

“Propiedades” muestra información relativa al nodo seleccionado

Usuario

Menú:

Red – Probabilidades

Menú:

Red – Ordenar

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

98 Pablo Felgaer Casos de uso

Figura A.3: Casos de uso “Nodo”.

A.4. Menú Herramientas

El menú “Herramientas” contiene las opciones relacionadas con herramientas de

valor agregado. En particular, “Minería de Datos” obtiene la red bayesiana a partir de

datos.

Figura A.4: Casos de uso “Herramientas”.

Usuario

Menú:

Herramientas – Minería

de datos

Usuario

Menú:

Nodo – Instanciar –

Estado <X>

Menú:

Nodo – Instanciar –

Ninguno

Menú:

Nodo – Probabilidades

condicionales

Menú:

Nodo – Probabilidades

totales

Menú:

Nodo – Propiedades

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Casos de uso Pablo Felgaer 99

A.5. Menú Configuración

El menú “Configuración” contiene las opciones relativas a la interfaz gráfica del

sistema. La opción “Barra de Herramientas ” muestra u oculta la barra de herramientas.

“Barra de Estado” muestra u oculta la barra de estado. La opción “Mostrar nodos por…”

permite visualizar gráficamente a los nodos por “Números” (muestra a los nodos por

número), “Nombres” (muestra a los nodos por nombre) o “Probabilidades” (muestra a los

nodos con los estados y las probabilidades). La opción “Zoom…” permite mostrar a los

nodos en diferentes tamaños (sólo en formato “Probabilidades”); ellos son “Tamaño

grande” o “Tamaño chico ”.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

100 Pablo Felgaer Casos de uso

Figura A.5: Casos de uso “Configuración”.

A.6. Menú Ayuda

El menú de “Ayuda” contiene las opciones relativas a la ayuda. “Referencias”

muestra el significado de las formas y colores dentro del sistema. “Acerca de…” muestra

información sobre el sistema.

Usuario

Menú:

Configuración – Barra de

herramientas

Menú:

Configuración – Barra de

estado

Menú:

Configuración – Mostrar

nodos por… – Números

Menú:

Configuración – Mostrar

por… – Nombres

Menú:

Configuración – Mostrar

por… – Probabilidades

Menú:

Configuración – Zoom –

Tamaño grande

Menú:

Configuración – Zoom –

Tamaño chico

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Casos de uso Pablo Felgaer 101

Figura A.6: Casos de uso “Ayuda”.

Usuario

Menú:

Ayuda – Referencias

Menú:

Ayuda – Acerca de…

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Gestión de configuración Pablo Felgaer 103

B. Gestión de configuración

B.1. Identificación de la configuración

Nombre de la aplicación: “Minería de Datos mediante Redes Bayesianas”.

Objetivo de la aplicación: Obtener redes bayesianas a partir de bases de datos y permitir la

manipulación de las mismas para realizar predicciones de variables no observadas a partir

de otras observadas.

Ciclo de vida del software : Modelo en cascada.

Fases del ciclo de vida :

1. Relevamiento de necesidades (Capítulo 2 y Capítulo 3).

2. Análisis y diseño (Capítulo 2 y Capítulo 4).

3. Codificación (Ver CD-ROM).

4. Prueba y ajuste (Anexo C).

5. Implementación (Anexo D).

6. Mantenimiento (Anexo B).

Líneas bases establecidas : Para el desarrollo del presente trabajo se han acotado las líneas

base como los elementos de configuración definidos. En este caso el criterio es que dado

que es una sola persona (el tesista) quien realiza la documentación del proyecto y la

programación se ha definido una sola línea base para todo el proceso de desarrollo y

programación (“Línea base integral”).

B.2. Control de configuración

A continuación se presenta la metodología utilizada para realizar el control de

cambios:

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

104 Pablo Felgaer Gestión de configuración

• Generación de una solicitud de cambio

Ante el requerimiento de un cambio funcional o la detección de un error se realiza un

reporte del problema donde se detallan las cuestiones a solucionar.

• Ingreso de la solicitud a la base de datos de cambios

Una vez efectuado el reporte se lo archiva de manera de que quede asentada la

solicitud.

• Análisis de la solicitud de cambio

Cada uno de los reportes es analizado y se decide si se rechaza o se acepta el cambio.

• Evaluación de la solicitud de cambio

Si se decide la aceptación de la solicitud de cambio se debe realizar la evaluación

técnica de la misma emitiendo un informe en donde se exprese el esfuerzo requerido

para satisfacer el pedido, las repercusiones que dicho cambio genera en otros

elementos y el costo estimado.

• Generación de la orden de cambio

El informe generado durante la evaluación de la solicitud de cambio se analiza y se le

asigna una prioridad.

• Realización del cambio

Se realiza el cambio , se registra y se realiza el control de la modificación.

• Prueba e implementación del cambio

Se certifica que el cambio funciona correctamente y se procede a su implementación

a través de la modificació n de manuales y documentos que deban reflejar el cambio.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Gestión de configuración Pablo Felgaer 105

B.3. Generación de informes de estado

A continuación se detallan algunos de los informes que componen la “Gestión de

Configuración” y los datos relevantes de cada uno de ellos.

Registro de solicitudes de cambio

Sistema Minería de Datos mediante Redes Bayesianas Fecha dd/mm/aaaa

Resultado de la evaluación Aceptado Rechazado Nº Sol. 0001

Cambio solicitado

Se detectó un problema al visualizar la tabla de probabilidades condicionales de una variable con muchos “padres” ya que a veces el ancho de dicha tabla supera los límites de la pantalla

Solución propuesta

Para evitar este inconveniente, se propone que en los casos en que el ancho de la tabla de probabilidades supere los límites de la pantalla se adecue el tamaño de la misma a una medida coherente con las dimensiones del monitor y se muestre una barra de scroll horizontal análogamente a como esta programado para el alto de la tabla.

Elementos del producto software afectados por el cambio

Esta modificación impacta directamente en el código fuente del sistema.

Sistema Minería de Datos mediante Redes Bayesianas Fecha dd/mm/aaaa

Resultado de la evaluación Aceptado Rechazado Nº Sol 0002

Cambio solicitado

Se solicita agregarle al sistema una nueva funcionalidad para facilitar la tarea de experimentación en función de la metodología propuesta en la tesis (sección 5.2),

Solución propuesta

Para facilitar la prueba experimental, se propone desarrollar una nueva opción que permita procesar de manera paralela dos bases de datos (la Completa y la C4.5) e itere de manera automática tomando el 10%, 20%,…, 100% de la base de datos tal cual está estipulado en la metodología propuesta (sección 5.2) y genere dos archivos planos de salida con el porcentaje de predictividad obtenido en cada una de las iteraciones realizadas.

Elementos del producto software afectados por el cambio

Esta modificación impacta directamente en el código fuente del sistema.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

106 Pablo Felgaer Gestión de configuración

Informe de estado de cambios

Sistema Minería de Datos mediante Redes Bayesianas Fecha dd/mm/aaaa

Fecha desde dd/mm/aaaa Fecha hasta dd/mm/aaaa

Nº Sol. Fecha Descripción Estado

0001 dd/mm/aaaa Agregar una scrollbar horizontal en tabla de probabilidades condicionales.

Pendiente

0002 dd/mm/aaaa Proceso automático para realizar la prueba experimental. Finalizado

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 107

C. Lote de prueba

C.1. Plan de pruebas

Objetivo de la prueba

Determinar las fallas en el sistema de “Minería de Datos mediante Redes

Bayesianas”.

Objetos a probar

• Abrir una red bayesiana.

• Guardar una red bayesiana.

• Guardar una red bayesiana con otro nombre.

• Ver la tabla de probabilidades totales de una red bayesiana.

• Ordenar la red bayesiana en la pantalla.

• Instanciar un nodo de una red bayesiana.

• Desinstanciar un nodo de una red bayesiana.

• Ver la tabla de probabilidades condicionales de un nodo de una red bayesiana.

• Ver la tabla de probabilidades totales de un nodo de una red bayesiana.

• Ver las propiedades de un nodo de una red bayesiana.

• Proceso de minería de datos para la obtención de una red bayesiana.

• Mostrar y ocultar la barra de estado.

• Mostrar y ocultar la barra de herramientas.

• Mostrar los nodos de una red bayesiana en los diferentes formatos posibles.

• Mostrar los nodos de una red bayesiana en los diferentes tamaños posibles.

• Ver las referencias respecto a los colores y las formas que se visualizan en el sistema.

• Salir del sistema.

Características a probar

Funcionalidad de cada uno de los objetos a probar sobre una plataforma Microsoft

Windows XP.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

108 Pablo Felgaer Lote de prueba

Características a no probar

No se tendrá en cuenta otra plataforma que no sea Microsoft Windows XP así como

tampoco la velocidad en las operaciones realizadas por el sistema.

Cantidad de casos de prueba

El lote de prueba utilizado se compone de 21 casos.

Método de prueba a utilizar

Se utilizará el método de adivinación de errores.

Recursos a utilizar

Recursos tecnológicos

• Computadora: PC Pentium 4 de 2GHz, con HDD de 30GB, 256MB de RAM.

• Impresora: Hewlett Packard DeskJet 930C.

• Lenguaje de programación: Microsoft Visual Basic 6.0.

• Procesador de texto: Microsoft Word 2002.

Recursos humanos

• Dado que es una sola persona (el tesista) quien realiza el proyecto, tanto la

planificación de las pruebas como la programación han sido realizadas por la misma

persona.

Productos a generar durante el proceso de pruebas

• Plan de pruebas (sección C.1.).

• Documento de diseño de la prueba (sección C.2.).

• Especificación de los casos de prueba (sección C.3.).

• Especificación del procedimiento de prueba (sección C.4.).

• Informe de los casos de prueba ejecutados (sección C.5.).

• Informe de la prueba (sección C.6.).

• Anexo con documentación de las pruebas realizadas (sección C.7.).

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 109

C.2. Documento de diseño de la prueba

Procedimiento de pruebas

Las pruebas serán llevadas a cabo de acuerdo a lo descripto en la sección C.4

(Especificación del procedimiento de prueba) registrándose las anomalías planteadas.

Métodos de prueba a utilizar

Se utilizará el método de caja negra, adivinación de errores, para poder así determinar

las posibles fallas del sistema en cuanto a la funcionalidad.

Criterios para la aprobación de pruebas

Los criterios para la aprobación de las pruebas se realizarán de acuerdo a la siguiente

tabla:

• Excelente: cuando el resultado obtenido luego de realizada la prueba es idéntico al

resultado citado en la Especificación de pruebas.

• Muy bueno : cuando el resultado obtenido luego de realizada la prueba es parecido al

resultado citado en la Especificación de pruebas.

• Bueno : cuando el resultado obtenido luego de realizada la prueba no fue el resultado

citado en la Especificación de pruebas, pero no ha provocado anomalías en el

funcionamiento del programa.

• Regular: cuando el resultado obtenido luego de realizada la prueba no fue el

resultado citado en la Especificación de pruebas, y ha provocado anomalías en el

funcionamiento del programa.

• Malo: cuando el resultado obtenido luego de realizada la prueba no fue el resultado

citado en la Especificación de pruebas, y ha provocado anomalías en el

funcionamiento del programa tales como la salida del sistema o “colgarse”.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

110 Pablo Felgaer Lote de prueba

C.3. Especificación de los casos de prueba

Ítem Objetivo Acción Entrada Resultado esperado

01 Abrir una red bayesiana.

Seleccionar la opción “Archivo à Abrir”

Archivo: “DogProblem.xml”

Red bayesiana visualizada en el sistema.

02 Guardar una red bayesiana.

Seleccionar la opción “Archivo à Guardar”

----- Red bayesiana modificada guardada en el archivo.

03 Guardar una red bayesiana con otro nombre.

Seleccionar la opción “Archivo à Guardar como…”

Archivo: “DogProblem2.xml”

Red bayesiana modificada guardada en el nuevo archivo.

04

Ver la tabla de probabilidades totales de una red bayesiana.

Seleccionar la opción “Red à Probabilidades”

-----

Tabla con las probabilidades de todos los estados de cada variable.

05 Ordenar la red bayesiana en la pantalla.

Seleccionar la opción “Red à Ordenar”

-----

Red bayesiana distribuida en la pantalla de manera clara.

06 Instanciar un nodo de una red bayesiana.

Seleccionar la opción “Nodo à Instanciar à Estado <X>”

Nodo: “Dog out” Estado: “True”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

07 Instanciar un nodo de una red bayesiana.

Seleccionar la opción “Nodo à Instanciar à Estado <X>”

Nodo: “Lights on” Estado: “False”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

08 Desinstanciar un nodo de una red bayesiana.

Seleccionar la opción “Nodo à Instanciar à Ninguno”

Nodo: “Dog out” Estado: “True”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

09

Ver la tabla de probabilidades condicionales de un nodo de una red bayesiana.

Seleccionar la opción “Nodo à Probabilidades Condicionales”

Nodo “Dog out”

Tabla con las probabilidades condicionales del nodo seleccionado.

10

Ver la tabla de probabilidades totales de un nodo de una red bayesiana.

Seleccionar la opción “Nodo à Probabilidades Totales ”

Nodo: “Dog out”

Tabla con las probabilidades totales del nodo seleccionado.

11

Ver las propiedades de un nodo de una red bayesiana.

Seleccionar la opción “Nodo à Propiedades ”

Nodo: “Dog out” Tabla con las propiedades del nodo seleccionado.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 111

Ítem Objetivo Acción Entrada Resultado esperado

12

Proceso de minería de datos para la obtención de una red bayesiana.

Seleccionar la opción “Herramientas à Minería de Datos ”

Archivo: “MendelGenetic.txt”

Red bayesiana visualizada en el sistema.

13 Ocultar la barra de estado.

Seleccionar la opción “Configuración à Barra de Estado”

----- Barra de Estado oculta.

14 Mostrar la barra de estado.

Seleccionar la opción “Configuración à Barra de Estado”

----- Barra de Estado visible.

15 Ocultar la barra de herramientas.

Seleccionar la opción “Configuración à Barra de Herramientas ”

----- Barra de Herramientas oculta.

16 Mostrar la barra de herramientas.

Seleccionar la opción “Configuración à Barra de Herramientas ”

----- Barra de Herramientas visible.

17

Mostrar los nodos de una red bayesiana en el formato “Nombres”.

Seleccionar la opción “Configuración à Mostrar nodo por à Nombres ”

----- Red bayesiana visualizada por nombres.

18

Mostrar los nodos de una red bayesiana en el formato “Probabilidades”.

Seleccionar la opción “Configuración à Mostrar nodo por à Probabilidades ”

----- Red bayesiana visualizada por probabilidades.

19

Mostrar los nodos de una red bayesiana en el tamaño pequeño.

Seleccionar la opción “Configuración à Zoom à Tamaño chico”

----- Red bayesiana visualizada en tamaño chico.

20

Ver las referencias respecto a los colores y las formas que se visualizan en el sistema.

Seleccionar la opción “Ayuda à Referencias ”

----- Tabla de referencias en la pantalla.

21 Salir del sistema. Seleccionar la opción “Archivo à Salir”

----- Abandonar el sistema.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

112 Pablo Felgaer Lote de prueba

C.4. Especificación del procedimiento de prueba

Ítem Acción Entrada Resultado esperado

01 Seleccionar la opción “Archivo à Abrir” Archivo: “DogProblem.xml”

Red bayesiana visualizada en el sistema.

02 Seleccionar la opción “Archivo à Guardar” -----

Red bayesiana modificada guardada en el archivo.

03 Seleccionar la opción “Archivo à Guardar como…”

Archivo: “DogProblem2.xml”

Red bayesiana modificada guardada en el nuevo archivo.

04 Seleccionar la opción “Red à Probabilidades” -----

Tabla con las probabilidades de todos los estados de cada variable.

05 Seleccionar la opción “Red à Ordenar” -----

Red bayesiana distribuida en la pantalla de manera clara.

06 Seleccionar la opción “Nodo à Instanciar à Estado <X>”

Nodo: “Dog out” Estado: “True”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

07 Seleccionar la opción “Nodo à Instanciar à Estado <X>”

Nodo: “Lights on” Estado: “False”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

08 Seleccionar la opción “Nodo à Instanciar à Ninguno”

Nodo: “Dog out” Estado: “True”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

09 Seleccionar la opción “Nodo à Probabilidades Condicionales ” Nodo “Dog out”

Tabla con las probabilidades condicionales del nodo seleccionado.

10 Seleccionar la opción “Nodo à Probabilidades Totales”

Nodo: “Dog out”

Tabla con las probabilidades totales del nodo seleccionado.

11 Seleccionar la opción “Nodo à Propiedades ” Nodo: “Dog out”

Tabla con las propiedades del nodo seleccionado.

12 Seleccionar la opción “Herramientas à Minería de Datos”

Archivo: “MendelGenetic.txt”

Red bayesiana visualizada en el sistema.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 113

Ítem Acción Entrada Resultado esperado

13 Seleccionar la opción “Configuración à Barra de Estado”

----- Barra de Estado oculta.

14 Seleccionar la opción “Configuración à Barra de Estado”

----- Barra de Estado visible.

15 Seleccionar la opción “Configuración à Barra de Herramientas”

----- Barra de Herramientas oculta.

16 Seleccionar la opción “Configuración à Barra de Herramientas” ----- Barra de

Herramientas visible.

17 Seleccionar la opción “Configuración à Mostrar nodo por à Nombres” -----

Red bayesiana visualizada por nombres.

18 Seleccionar la opción “Configuración à Mostrar nodo por à Probabilidades” -----

Red bayesiana visualizada por probabilidades.

19 Seleccionar la opción “Configuración à Zoom à Tamaño chico”

----- Red bayesiana visualizada en tamaño chico.

20 Seleccionar la opción “Ayuda à Referencias”

----- Tabla de referencias en la pantalla.

21 Seleccionar la opción “Archivo à Salir” ----- Abandonar el sistema.

C.5. Informe de los casos de prueba ejecutados

Ítem Acción Entrada Resultado esperado Resultado obtenido

01 Seleccionar la opción “Archivo à Abrir”

Archivo: “DogProblem.xml”

Red bayesiana visualizada en el sistema.

Excelente.

02 Seleccionar la opción “Archivo à Guardar”

----- Red bayesiana modificada guardada en el archivo.

Excelente.

03

Seleccionar la opción “Archivo à Guardar como…”

Archivo: “DogProblem2.xml”

Red bayesiana modificada guardada en el nuevo archivo.

Excelente.

04 Seleccionar la opción “Red à Probabilidades”

-----

Tabla con las probabilidades de todos los estados de cada variable.

Excelente.

05 Seleccionar la opción “Red à Ordenar”

-----

Red bayesiana distribuida en la pantalla de manera clara.

Excelente.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

114 Pablo Felgaer Lote de prueba

Ítem Acción Entrada Resultado esperado Resultado obtenido

06

Seleccionar la opción “Nodo à Instanciar à Estado <X>”

Nodo: “Dog out” Estado: “True”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

Bueno. (Se detectó un problema visual ya que el puntero del mouse queda en estado “pensando” hasta que se desplaza fuera del área del nodo instanciado.)

07

Seleccionar la opción “Nodo à Instanciar à Estado <X>”

Nodo: “Lights on” Estado: “False”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

Bueno. (Se detectó un problema visual ya que el puntero del mouse queda en estado “pensando” hasta que se desplaza fuera del área del nodo instanciado.)

08

Seleccionar la opción “Nodo à Instanciar à Ninguno”

Nodo: “Dog out” Estado: “True”

Probabilidades de los estados de cada nodo actualizadas según nueva evidencia.

Bueno. (Se detectó un problema visual ya que el puntero del mouse queda en estado “pensando” hasta que se desplaza fuera del área del nodo instanciado.)

09

Seleccionar la opción “Nodo à Probabilidades Condicionales”

Nodo “Dog out”

Tabla con las probabilidades condicionales del nodo seleccionado.

Regular. (Se detectó un problema cuando la variable consultada tiene muchos “padres” ya que a veces el ancho de la tabla de probabilidades supera los límites de la pantalla.)

10

Seleccionar la opción “Nodo à Probabilidades Totales ”

Nodo: “Dog out”

Tabla con las probabilidades totales del nodo seleccionado.

Excelente.

11 Seleccionar la opción “Nodo à Propiedades ”

Nodo: “Dog out” Tabla con las propiedades del nodo seleccionado.

Excelente.

12

Seleccionar la opción “Herramientas à Minería de Datos”

Archivo: “MendelGenetic.txt”

Red bayesiana visualizada en el sistema.

Excelente.

13

Seleccionar la opción “Configuración à Barra de Estado”

----- Barra de Estado oculta. Excelente.

14

Seleccionar la opción “Configuración à Barra de Estado”

----- Barra de Estado visible. Excelente.

15

Seleccionar la opción “Configuración à Barra de Herramientas ”

----- Barra de Herramientas oculta. Excelente.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 115

Ítem Acción Entrada Resultado esperado Resultado obtenido

16

Seleccionar la opción “Configuración à Barra de Herramientas ”

----- Barra de Herramientas visible. Excelente.

17

Seleccionar la opción “Configuración à Mostrar nodo por à Nombres”

----- Red bayesiana visualizada por nombres.

Excelente.

18

Seleccionar la opción “Configuración à Mostrar nodo por à Probabilidades”

----- Red bayesiana visualizada por probabilidades.

Excelente.

19

Seleccionar la opción “Configuración à Zoom à Tamaño chico”

----- Red bayesiana visualizada en tamaño chico.

Excelente.

20 Seleccionar la opción “Ayuda à Referencias”

----- Tabla de referencias en la pantalla. Excelente.

21 Seleccionar la opción “Archivo à Salir”

----- Abandonar el sistema.

Regular. (Cuando se sale del programa haciendo click en la “X” de la ventana, el sistema no solicita confirmar si realmente se desea salir del sistema ni si se desean guardar los cambios realizados sobre la red bayesiana abierta.)

C.6. Informe de la prueba

Comentario de la prueba

El sistema funcionó de manera correcta en la mayoría de las oportunidades de

acuerdo a los casos de prueba analizados. Se detectaron algunas falencias, en su mayoría

relacionadas con la interfaz gráfica del sistema, las cuales fueron corregidas una vez

identificadas. Tanto las interfaces de usuario como los procesos internos del sistema

responden adecuadamente en función de los requerimientos impuestos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

116 Pablo Felgaer Lote de prueba

Recomendaciones

Se recomienda dar por cumplimentada la fase de prueba y a continuación se adjunta

la documentación que constata las pruebas realizadas.

C.7. Anexo con documentación de las pruebas realizadas

Figura C.1: Abrir una red bayesiana (01)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 117

Figura C.2: Ver la tabla de probabilidades totales de una red bayesiana (04)

Figura C.3: Ordenar la red bayesiana en la pantalla (05)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

118 Pablo Felgaer Lote de prueba

Figura C.4: Instanciar un nodo de una red bayesiana (06)

Figura C.5: Instanciar un nodo de una red bayesiana (07)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 119

Figura C.6: Desinstanciar un nodo de una red bayesiana (08)

Figura C.7: Ver la tabla de probabilidades condicionales de un nodo de una red bayesiana (09)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

120 Pablo Felgaer Lote de prueba

Figura C.8: Ver la tabla de probabilidades totales de un nodo de una red bayesiana (10)

Figura C.9: Ver las propiedades de un nodo de una red bayesiana (11)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 121

Figura C.10: Proceso de Minería de Datos (12)

Figura C.11: Ocultar la barra de estado (13)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

122 Pablo Felgaer Lote de prueba

Figura C.12: Ocultar la barra de herramientas (15)

Figura C.13; Mostrar los nodos de una red bayesiana por nombres (17)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Lote de prueba Pablo Felgaer 123

Figura C.14: Mostrar los nodos de una red bayesiana por probabilidades (18)

Figura C.15: Mostrar los nodos de una red bayesiana en los diferentes tamaños posibles (19)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

124 Pablo Felgaer Lote de prueba

Figura C.16: Ver las referencias respecto a los colores y las formas que se visualizan en el sistema (20)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 125

D. Manual del usuario

D.1. Introducción

A lo largo de esta sección, se describirán las características y funcionalidades más

importantes del “Sistema de Minería de Datos mediante Redes Bayesianas” desarrollado.

D.2. Estructuración del sistema

En la figura D.1 se presenta una imagen del sistema en su estado inicial; todas las

pantallas del sistema se encuentran estructuradas de manera uniforme para facilitar su

comprensión y utilización.

Figura D.1: Estructuración del sistema.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

126 Pablo Felgaer Manual del usuario

Como puede observarse en la figura D.1 la interfaz gráfica del sistema se encuentra

estructurada en cinco áreas:

1. Menú de opciones.

2. Barra de herramientas.

3. Lista de nodos.

4. Área de visualización.

5. Barra de estado.

A continuación se expondrá una descripción más detallada de cada una de estas áreas.

D.2.1. Menú de opciones

El menú de opciones está compuesto por todas acciones que se pueden realizar

mediante el sistema; dichas acciones se encuentran organizadas en forma de árbol y se

enumeran a continuación acompañadas por una breve descripción de su funcionalidad.

1. Archivo: opciones relacionadas con los archivos externos al sistema.

1.1. Nueva: en caso de haber una red cargada, se descarga y se vuelve al estado inicial.

1.2. Abrir: abre una red bayesiana en el sistema.

1.3. Guardar: guarda las modificaciones sobre la red bayesiana abierta.

1.4. Guardar como…: guarda la red bayesiana abierta con otro nombre de archivo.

1.5. Salir: cierra el sistema.

2. Red: opciones relacionadas con la red bayesiana abierta en el sistema.

2.1. Probabilidades: muestra tabla con las probabilidades totales de los nodos de la red.

2.2. Ordenar: realiza un ordenamiento automático de los nodos de la red en la pantalla.

3. Nodo: opciones relacionadas con el nodo seleccionado de la red bayesiana abierta.

3.1. Instanciar: instancia o desinstancia el nodo.

3.1.1. Estado <X>: lo instancia en el estado <X>.

3.1.2. Ninguno: lo desinstancia.

3.2. Probabilidades Condicionales: muestra tabla con las probabilidades condicionales.

3.3. Probabilidades Totales: muestra tabla con las probabilidades totales.

3.4. Propiedades: muestra información relativa al nodo seleccionado

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 127

4. Herramientas: opciones relacionadas con herramientas de valor agregado.

4.1. Minería de Datos: obtiene la red bayesiana a partir de datos.

5. Configuración: opciones relativas a la interfaz gráfica del sistema.

5.1. Barra de Herramientas: muestra u oculta la barra de herramientas.

5.2. Barra de Estado: muestra u oculta la barra de estado.

5.3. Mostrar nodos por…: muestra a los nodos en diferentes formatos.

5.3.1. Números: muestra a los nodos por número.

5.3.2. Nombres: muestra a los nodos por nombre.

5.3.3. Probabilidades: muestra a los nodos con los estados y las probabilidades.

5.4. Zoom…: muestra a los nodos en diferentes tamaños (sólo en formato “Probabilidades”).

5.4.1. Tamaño grande : muestra a los nodos es tamaño grande.

5.4.2. Tamaño chico: muestra a los nodos en tamaño chico.

6. Ayuda : opciones relativas a la ayuda.

6.1. Referencias: muestra el significado de las formas y colores dentro del sistema.

6.2. Acerca de…: muestra información sobre el sistema.

D.2.2. Barra de herramientas

La barra de herramientas provee un acceso rápido y sencillo (con un sólo click) a la

mayoría de las opciones que se encuentran en el menú antes citado; a continuación se

presentan los íconos de la barra de herramientas y las equivalencias con las opciones del

menú correspondientes.

1. Archivo – 1.1. Nueva

1. Archivo – 1.2. Abrir

1. Archivo – 1.3. Guardar

2. Red – 2.1. Probabilidades

2. Red – 2.2. Ordenar

3. Nodo – 3.1. Instanciar

3. Nodo – 3.2. Probabilidades Condicionales

3. Nodo – 3.3. Probabilidades Totales

3. Nodo – 3.4. Propiedades

4. Herramientas – 4.1. Minería de Datos

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

128 Pablo Felgaer Manual del usuario

5. Configuración – 5.1. Barra de Herramientas

5. Configuración – 5.2. Barra de Estado

5. Configuración – 5.3. Mostrar nodos por…

5. Configuración – 5.4. Zoom… – 5.4.1. Tamaño grande

5. Configuración – 5.4. Zoom… – 5.4.2. Tamaño chico

6. Ayuda – 6.1. Referencias

1. Archivo – 1.5. Salir

D.2.3. Lista de nodos

En esta área de la pantalla se presenta una lista ordenada de todos los nodos

correspondientes a la red bayesiana abierta en el sistema; se muestra el nombre de las

variables y el número correspondiente asignado por el sistema (este número identifica de

forma unívoca a cada nodo de la red bayesiana). A través de esta lista se puede seleccionar

cualquiera de los nodos haciendo click sobre él; también se puede visualizar el conjunto de

estados del nodo seleccionado así como también las probabilidades totales asociadas a cada

uno de ellos y si hay algún estado instanciado.

D.2.4. Área de visualización

En esta área de la pantalla se visualiza una representación gráfica de la red bayesiana

abierta; las relaciones entre los nodos de la red se representan mediante flechas en cuyo

origen se encuentra el nodo padre y apunta en dirección al nodo hijo. Los nodos se

representan mediante diferentes formas y colores indicando el estado en que se encuentran

(ver sección D.6.3), pueden ser seleccionados haciendo doble click sobre ellos y, cuando se

están visualizando en formato “Probabilidades” (ver sección D.6.3), se puede instanciar

simplemente haciendo click sobre el estado deseado; haciendo click con el botón derecho

del mouse sobre un nodo de la red se despliega un menú de tipo pop-up con las opciones

correspondientes al menú de “Nodos” detallado anteriormente (ver sección D.2.1). La

disposición de los nodos en la pantalla puede ser manipulada realizando drag and drop.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 129

D.2.5. Barra de estado

La barra de estado provee información sobre las acciones que está tomando el sistema

a cada momento; en su parte derecha tiene información general como la fecha y la hora

mientras que la parte izquierda de la barra tiene un semáforo que indica si el sistema se

encuentra procesando o si está listo para recibir nuevas peticiones; estos estados quedan

representados por la luz roja o verde respectivamente y al lado del semáforo se muestra la

descripción del estado del sistema.

D.3. Abrir una red bayesiana

Este sistema ha sido diseñado para trabajar con redes bayesianas almacenadas en

archivos con formato .XML (ver sección D.7.1). La opción para abrir este tipo de archivos

se invoca a través del menú “Archivo – Abrir” o mediante el icono de la barra de

herramientas equivalente; una vez seleccionada esta opción se presenta la ventana de

selección del archivo (figura D.2) y al elegir un archivo con formato válido la red es

visualizada en la pantalla.

Figura D.2: Abrir una red bayesiana.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

130 Pablo Felgaer Manual del usuario

D.4. Guardar una red bayesiana

La opción para guardar redes bayesianas se invoca a través del menú “Archivo –

Guardar” o mediante el icono de la barra de herramientas correspondiente; una vez

seleccionada esta opción se presenta un mensaje para confirmar que realmente se deseen

guardar las modificaciones en el archivo; la opción “Archivo – Guardar como… ” permite

almacenar la red bayesiana abierta en un archivo .XML con nombre diferente.

D.5. Minería de datos

La opción de “Minería de datos” del menú “Herramientas” permite obtener redes

bayesianas a partir de datos. Al seleccionar esta opción se muestra la pantalla de

presentación expuesta en la figura D.3; en esta pantalla se presenta la herramienta de

minería de datos y se resume su funcionalidad. Esta utilidad está estructurada en varios

pasos secuenciales y en cada uno de ellos se van completando los requisitos necesarios para

llevar a cabo la tarea.

Figura D.3: Minería de datos – Presentación.

Lo primero que se necesita de finir para llevar a cabo la minería de datos es el archivo

que contiene los datos; este sistema está preparado para trabajar con archivos de texto que

cumplen un formato específico (ver sección D.7.2). En la figura D.4 se presenta la pantalla

que solicita seleccionar el archivo que contiene la fuente de datos.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 131

Figura D.4: Minería de datos – Seleccionar archivo.

Esta pantalla permite ingresar en forma directa la ruta del archivo a procesar o,

haciendo click en el botón que se encuentra a la derecha del campo de texto, se presenta

una ventana de navegación a partir de la cual se puede seleccionar el archivo (figura D.5).

Figura D.5: Minería de datos – Seleccionar archivo.

Una vez seleccionado el archivo de datos, el sistema verifica que el formato sea el

correcto y si todo está en orden se debe realizar el ingreso de información externa que el

sistema tendrá en cuenta al momento de realizar el aprendizaje de la red bayesiana; esta

información externa corresponde a conocimientos a priori que se tengan sobre el dominio

de datos que se está utilizando. La primera información que se debe ingresar es relativa a

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

132 Pablo Felgaer Manual del usuario

los nodos raíz de la red bayesiana que se está infiriendo; esto significa qué nodos son

totalmente independiente (figura D.6).

Figura D.6: Minería de datos – Seleccionar nodos raíz.

Una vez definidos los nodos raíz, el siguiente paso permite definir relaciones y/o

restricciones en forma explícita (figura D.7); para ello se deberá seleccionar de las listas

correspondientes el nodo padre y el nodo hijo y a continuación hacer click sobre el botón

que indica si lo que se desea especificar es una relación (>>) o una restricción (><); estas

reglas se verán reflejadas en la red bayesiana obtenida al final de este proceso. Si se desea

eliminar una o más de las reglas impuestas basta con seleccionarla de la lista de

“Relaciones y Restricciones” que aparece en la parte inferior de la pantalla y presionar la

tecla “Delete”. El sistema advertirá al usuario si intenta establecer reglas contradictorias

(por ejemplo una relación y una restricción entre el mismo par de variables) o si mediante

las relaciones indicadas establece un camino cíclico que viole la propiedad de grafo acíclico

dirigido que poseen las redes utilizadas por este sistema. Por último cabe mencionar que

dado que las redes son grafos dirigidos, no existe simetría en las relaciones ni en las

restricciones (es decir que A>>B es distinto a B>>A y que A><B es distinto a B><A).

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 133

Figura D.7: Minería de datos – Seleccionar relaciones y restricciones.

Una vez introducida toda esta información el sistema estará en condic iones de

come nzar el proceso de aprendizaje (figura D.8); este proceso comienza con el cálculo de

las métricas de las relaciones entre todas las variables que determinará cuales de ellas

tienen mayor preponderancia sobre las otras luego de lo cual se establecerá la topología de

la red (aprendizaje estructural).

Figura D.8: Minería de datos – Realizando minería de datos.

En este punto el sistema presentará una ventana identificando todas las relaciones

inferidas (figura D.9) y permitirá al usuario alterar la direccionalidad de las mismas en caso

de desearlo; una vez aceptado esto, el proceso culminará realizando el aprendizaje

paramétrico y efectuando la propagación inicial de probabilidades. Al terminar, la red

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

134 Pablo Felgaer Manual del usuario

bayesiana aprendida a partir del archivo de datos se visualizará en la pantalla y estará lista

para analizarla, manipularla y guardarla en un archivo.

Figura D.9: Minería de datos – Definir direccionalidad de las relaciones.

D.6. Trabajar con una red bayesiana

D.6.1. Instanciar nodos

Una vez que se dispone de una red bayesiana cargada en el sistema se puede proceder

a la instanciación de variables para analizar el comportamiento de la misma. Existen varias

alternativas para llevar a cabo el proceso de instanciación; uno de ellos consiste en

seleccionar el nodo correspondiente a la variable que se desee instanciar y realizarlo desde

el menú “Nodo – Instanciar” o desde el botón de la barra de herramientas equivalente;

dentro de esta opción del menú se mostrarán todos los estados que posee el nodo

seleccionado y también la opción “Ninguno” en caso de que lo que se desee sea

desinstanciarlo. Otra forma de realizar esta tarea consiste en hacer click derecho sobre el

nodo de la red y seleccionar el estado a instanciar de la lista expuesta en el menú

desplegado. Finalmente, en caso de que la forma de visualización de la red sea

“Probabilidades” se podrá instanciar una variable simplemente haciendo click sobre el

estado elegido (figura D.10). Al instanciar cualquiera de las variables, automáticamente se

procede a recalcular todas las probabilidades de la red y este resultado es presentado

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 135

instantáneamente en la pantalla. Los estados instanciados se presentan en color rojo y,

obviamente, con el 100% de probabilidad de ocurrencia.

Figura D.10: Instanciación de variables

D.6.2. Información de la red

Una vez que se tiene una red bayesiana abierta en el sistema, éste permite interactuar

y obtener una serie de informaciones relacionadas con ella. Seleccionando la opción

“Probabilidades” del menú “Red” se desplegará una ventana conteniendo una tabla con

todas las variables de la red bayesiana abierta y la probabilidad total de cada uno de los

estados (figura D.11).

Figura D.11: Probabilidades totales de la red.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

136 Pablo Felgaer Manual del usuario

Si lo que se desea obtener es la tabla de probabilidades condicionales de un nodo en

particular, se puede lograr seleccionándolo y accediendo a la opción “Probabilidades

Condicionales” del menú “Nodo” o accediendo a la misma opción del menú contextual

presionando el botón derecho del mouse sobre dicho nodo (figura D.12).

Figura D.12: Probabilidades condicionales de un nodo.

Las probabilidades totales de un nodo se obtienen de manera similar a través de la

opción “Probabilidades Totales” del menú “Nodo” (figura D.13).

Figura D.13: Probabilidades totales de un nodo.

Las propiedades de un nodo indican el nombre, número interno asignado, si se

encuentra seleccionado, si es un nodo raíz u hoja de la red y la lista de estado que

componen el dominio de valores que puede asumir; se puede acceder a esta información a

través de la opción “Propiedades” del menú “Nodo” (figura D.14).

Figura D.14: Propiedades de un nodo.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 137

D.6.3. Visualización de la red

El sistema permite varios formatos de visualización gráfica de la red bayesiana ; cada

uno de estos formatos difiere en la información que se muestra en la representación gráfica

del nodo y el tamaño que utiliza para hacerlo; esta visualización puede ser seleccionada a

través de la opción “Configuración – Ver nodos por…”. El formato más compacto pero que

menos información presenta es por “Números” (figura D.15); aquí se presentan los nodos

en forma de círculos conteniendo el número de nodo asignado por el sistema. En caso de

que el nodo se encuentre instanciado se presenta con forma de un cuadrado con las aristas

redondeadas.

Figura D.15: Visualización por Número.

La configuración por “Nombre” encuadra a cada una de las variables dentro de

elipses y en caso de encontrarse instanciada se presenta en forma de rectángulo (figura

D.16).

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

138 Pablo Felgaer Manual del usuario

Figura D.16 Visualización por Nombre.

La visualización por “Probabilidad” es sin duda la que más información revela ya

que presenta el nombre de la variable acompañada por la lista de todos sus estados, las

probabilidades asociadas a cada uno de ellos y también se destacan los estados instanciados

(figura D.17).

Figura D.17: Visualización por Probabilidad (tamaño grande).

Este formato de visualización se puede presentar en dos tamaños predeterminados:

grande o pequeño, y estas dimensiones se varían mediante la opción “Configuración –

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 139

Zoom”. En la figura D.17 se muestra el tamaño grande de visualización mientras que en la

figura D.18 se presenta la red en tamaño reducido.

Figura D.18: Visualización por Probabilidad (tamaño pequeño).

Los significados de las diferentes formas y colores con que se muestran las redes

bayesianas pueden ser consultados en el menú “Ayuda – Referencias” (figura D.19); allí se

puede observar como se diferencian los nodos ins tanciados de los que no lo están así como

también se distinguen mediante un código de colores el nodo seleccionado y sus

predecesores y sucesores inmediatos.

Figura D.19: Referencias de formas y colores del sistema.

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

140 Pablo Felgaer Manual del usuario

D.7. Archivos externos

Como se indicó anteriormente, este sistema interactúa con dos tipos de archivos

diferentes: por un lado están los archivos que contienen las redes bayesianas y, por el otro

lado, los archivos que contienen los datos a partir de las cuales se desean inferir las redes. A

continuación se procederá a brindar una descripción detallada de ambos formatos de

archivos.

D.7.1. Archivos de redes

Para manejar las redes bayesianas almacenadas en archivos externos se definió un

formato particular basado en el lenguaje XML (con lo cual “XML” debe ser la extensión de

estos archivos). A continuación se presenta a modo de ejemplo el archivo con la red

bayesiana “The dog barking problem ” analizada anteriormente (ver sección 2.2.4.2.4) y se

explicarán cada uno de sus componentes.

<NETWORK> <NODE>

<DESCRIPTION>Bowel problem</DESCRIP TION> <STATE>True</STATE> <STATE>False</STATE> <XPOSITION>500</XPOSITION> <YPOSITION>500</YPOSITION>

</NODE> <NODE>

<DESCRIPTION>Family out</DESCRIPTION> <STATE>True</STATE> <STATE>False</STATE> <XPOSITION>5360</XPOSITION> <YPOSITION>440</YPOSITION>

</NODE> <NODE>

<DESCRIPTION>Dog out</DESCRIPTION> <STATE>True</STATE> <STATE>False</STATE> <XPOSITION>2525</XPOSITION> <YPOSITION>2825</YPOSITION>

</NODE> <NODE>

<DESCRIPTION>Lights on</DESCRIPTION> <STATE>True</STATE> <STATE>False</STATE>

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 141

<XPOSITION>7835</XPOSITION> <YPOSITION>2825</YPOSITION>

</NODE> <NODE>

<DESCRIPTION>Hear bark</DESCRIPTION> <STATE>True</STATE> <STATE>False</STATE> <XPOSITION>2525</XPOSITION> <YPOSITION>5675</YPOSITION>

</NODE> <PROBABILITY>

<FOR>Bowel problem</FOR> <TABLE>0,01 0,99</TABLE>

</PROBABILITY> <PROBABILITY>

<FOR>Family out</FOR> <TABLE>0,15 0,85</TABLE>

</PROBABILITY> <PROBABILITY>

<FOR>Dog out</FOR> <PARENT>Family out</PARENT> <PARENT>Bowel problem</PARENT> <TABLE>0,99 0,90 0,97 0,30 0,01 0,10 0,03 0,70</TABLE>

</PROBABILITY> <PROBABILITY>

<FOR>Lights on</FOR> <PARENT>Family out</PARENT> <TABLE>0,60 0,05 0,40 0,95</TABLE>

</PROBABILITY> <PROBABILITY>

<FOR>Hear bark</FOR> <PARENT>Dog out</PARENT> <TABLE>0,70 0,01 0,30 0,99</TABLE>

</PROBABILITY> </NETWORK>

La información de la red bayesiana comienza con el delimitador <NETWORK> y

termina con el delimitador </NETWORK>. En términos generales todos los bloques de

información comienzan con un delimitador del tipo <X> y su finalización es indicada

incluyendo otro delimitador del tipo </X> con lo cual todo lo que quede entre estos

delimitadores indicará la información que lo describe. Observando el archivo expuesto

puede verse como la red bayesiana (NETWORK) tiene básicamente dos tipos de

componentes: los nodos (NODE) y las relaciones (PROBABILITY).

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

142 Pablo Felgaer Manual del usuario

D.7.1.1. Definición de los nodos

Cada uno de los nodos de la red bayesiana queda definido por la información

contenida entre los delimitadores <NODE> y </NODE>. Estos nodos se componen de una

descripción que indica el nombre de la variable que representan (DESCRIPTION), un

conjunto de estados que pueden asumir (STATE) y finalmente dos coordenadas que indican

la ubicación del nodo en la pantalla al momento de mostrarlo (XPOSITION e

YPOSITION).

D.7.1.2. Definición de las relaciones

Las relaciones de dependencia entre las variables de la red expresadas mediante los

delimitadores PROBABILITY están compuestas por el nodo hijo de la relación (FOR) y el

o los padres de ese nodo (PARENT). Una vez definida esta relación entre el hijo y los

padres de este se define la matriz de probabilidades condicionales (TABLE). Dentro de este

delimitador se incluirán los valores de las probabilidades para cada combinación distinta de

estados de los nodos participantes en la relación en cuestión separados por tabulaciones.

Para comprender de que manera se arma esta tabla analizaremos el caso del nodo “Dog

out” del ejemplo. El nodo “Dog out” ( d ) tiene dos padres: los nodos “Family out” ( f ) y

“Bowel problem” (b ). Cada uno de estos nodos son binarios pudiendo tomar los valores

“True” (1) o “False” (0 ). A partir de estos nodos y sus posibles estados se arma la

siguiente tabla:

d f b P(d|f,b)

1 1 1 0,99

1 1 0 0,90

1 0 1 0,97

1 0 0 0,30

0 1 1 0,01

0 1 0 0,10

0 0 1 0,03

0 0 0 0,70

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 143

La primer columna corresponde al nodo hijo, la segunda columna al primer padre y la

tercer columna al segundo padre (en caso de existir más padres se continua de manera

análoga). La primera fila de la tabla corresponde a la probabilidad de que el nodo hijo se

encuentre en su primer estado sabiendo que sus dos padres están también en sus respectivos

primeros estados. La segunda fila corresponde a la probabilidad de que el nodo hijo se

encuentre en su primer estado sabiendo que el primer padre está en su primer estado y el

segundo padre se encuentra en su segundo estado. La siguiente probabilidad corresponde a

la probabilidad de que el nodo hijo se encuentre en su primer estado sabiendo que el padre

número uno se encuentra en su segundo estado y el segundo padre en su estado número

uno. Se procede de manera análoga hasta conformar la tabla de probabilidades

condicionales completa.

D.7.2. Archivos de datos

Para el manejo de los archivos de datos a partir de lo s cuales se hace minería para

obtener las redes bayesianas también se definió un formato particular cuya extensión debe

ser “TXT”. A continuación se presenta a modo de ejemplo un archivo con una base de

datos y se explicarán cada uno de sus componentes.

-- Archivo de ejemplo 3 Sexo { Masculino {M} Femenino {F} } Tipo de carrera { Ingeniería {Informática, Electrónica, Industrial} Sociales {Historia, Filosofía } } Calificación { Reprobado [0, 4) Satisfactorio [4, 6) Muy bueno [6, 8)

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

144 Pablo Felgaer Manual del usuario

Sobresaliente [8, 10) } M Ingeniería Muy bueno F Sociales Satisfactorio M Ingeniería Reprobado M Ingeniería Sobresaliente …

El formato de los archivos de datos se divide en dos partes: la primer parte

(Encabezado) contiene la información sobre la estructura de la información y la segunda

parte (Datos) se compone de la base de datos propiamente dicha. Cualquier renglón del

archivo que comience con dos guiones (--) será considerado una línea de comentario y por

lo tanto no será procesada por el sistema; tampoco serán procesadas las líneas en blanco.

D.7.2.1. Definición del encabezado

El primer renglón del archivo que contenga información deberá indicar el número de

variables que conforman la base de datos (en el caso de este ejemplo: 3). A continuación se

deberán definir cada una de estas variables con sus respectivos estados. El sistema permite

definir dos tipos de variables: discretas y continuas. En la definición de las variables se

indica primero el nombre y luego, encerrado entre llaves, los estados. A su vez, cada uno de

estos estados puede agrupar a uno o más valores de la base de datos. En el ejemplo anterior,

la primer variables (“Sexo”) es discreta; bajo el nombre del estado “Masculino” se agrupan

a los datos de la base que tengan el valor “M” y bajo el título de “Femenino” a los que

tengan “F”. La siguiente variable que se define es “Tipo de carrera” y en este caso bajo un

mismo título se agrupan a más de un estado de la base de datos; por ejemplo “Ingeniería”

incluye a las carreras de “Informática”, “Electrónica” e “Industrial” mientras que

“Sociales” incluye a “Historia ” y “Filosofía”. La última variable definida (“Calificación”)

es de tipo continua; esta definición se realiza especificando los rangos que abarcan cada

título, por ejemplo “Reprobado” se considera a las calificaciones entre 0 y menos de 4

puntos (los símbolos “[“ y “]” indican inclusión y los símbolos “(“ y “)” indican exclusión),

“Satisfactorio” son las calificaciones entre 4 y menos de 6, “Muy bueno” son entre 6 y 8, y

“Sobresaliente” son las calificaciones superiores a 8 puntos. En este caso la variable se

Optimización de Redes Bayesianas basado en Técnicas de Aprendizaje por Inducción

Manual del usuario Pablo Felgaer 145

encuentra acotada tanto inferior como superiormente, pero en caso de no ser así la letra “X”

ubicada en el lugar del rango mínimo y/o máximo actúa como ∞− y ∞+ respectivamente.

D.7.2.2. Definición de los datos

Una vez que queda definida la sección del encabezado sólo resta incluir la sección de

datos que se compone de un renglón por registro y los valores de las variables separadas

por tabulaciones en el mismo orden en que se definieron en el encabezado.

D.7.2.3. Eliminación de variables

Este formato de datos también contempla la posibilidad de obviar variables al

momento de realizar la minería de datos; esto se logra simplemente agregando un asterisco

(*) antes del nombre de la variable que se desea eliminar. Esta funcionalidad resulta de

suma utilidad para analizar la importancia de determinadas variables dentro de la estructura

total de la red bayesiana y poder realizar comparaciones entre el poder predictivo de las

redes bayesianas obtenidas considerando todas las variables de la base de datos y las redes

obtenidas que utilizan sólo parte de estas variables.