16
Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas ISL – Dpto de Informática –UCLM - Albacete

Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

  • Upload
    banyan

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas. ISL – Dpto de Informática –UCLM - Albacete. Motivación. La mayoría de los algoritmos de aprendizaje no pueden tratar con conjuntos grandes de datos y/o con un gran número de variables en el dominio - PowerPoint PPT Presentation

Citation preview

Page 1: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

ISL – Dpto de Informática –UCLM - Albacete

Page 2: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

2

Motivación

La mayoría de los algoritmos de aprendizaje no pueden tratar con conjuntos grandes de datos y/o con un gran número de variables en el dominio

Las bases de datos actuales permiten almacenar del orden de TeraBytes.

Como el costo es “bajo” se suele almacenar un gran número de variables

Incluso preseleccionando variables, existen problemas con un gran número de ellas

Llegan los “data streams”

Page 3: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

3

Introducción

En cuanto a las bases de datos:– Estáticas– Dinámicas

En cuanto al modelo:– Modelo estático: el modelo se genera

introduciendo conocimiento– Modelo dinámico: el modelo se modifica en

función de la “tendencia” de los datos

Page 4: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

4

Introducción

¿por qué diseñar nuevas técnicas?– A mayor tamaño, mayor precisión– Con tamaño pequeño overfitting– Con muchas variables Espacio poco poblado

¿cuándo una base de datos es muy grande?– Desde el punto de vista de la “Minería de datos” significa a

partir de 100Mb / 1Gb, dependiendo de número de variables

Def: Un algoritmo es escalable cuando es capaz de aprender un modelo a partir de bases de datos de cualquier tamaño (al menos tan rápido como su equivalente no escalable y con la misma eficacia)

Page 5: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

5

Algoritmos de aprendizaje de RB Escalabilidad: Trabajos previos

Utilización de algoritmos con técnicas de “divide y vencerás”– N. Friedman et al. Learning of Bayesian Network Structure from

Massive Datasets: The "Sparse Candidate" Algorithm (1999).– R. Castelo and A. Siebes. Scaling Bayesian network discovery

through incremental recovery. Technical Report INS-R9901, CWI, Amsterdam, (1999).

Utilización de técnicas de sub-muestreo– G. Hulten and P. Domingos. Mining complex models from

arbitrarily large databases in constant time. ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. (2002).

– N. Friedman and Z. Yakhini. On the complexity of learning Bayesian networks. UAI (1996).

Híbrido– G. Hulten, D. Chickering and D. Heckerman. Learning Bayesian

networks from dependence networks: A preliminary study. W. On AI & Statistics (2003)

Page 6: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

6

Objetivo

Diseñar algoritmos escalables para el aprendizaje de Redes Bayesianas:– Diseñar algoritmos escalables en anchura: Muchas

variables, tamaño de los casos fijo– Diseñar algoritmos escalables en profundidad:

Número de variables “manejable”, tamaño de los casos incluso infinito

– Diseñar algoritmos escalables en anchura / profundidad: Combinación de los dos anteriores

Page 7: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

7

Algoritmo ELBN en anchura

Tanto el trabajo de Friedman et al. Y el de Castelo et al. Necesitan un orden de cálculos de estadísticos de orden 2

Igualmente los dos trabajos se basan en métodos de búsqueda local (HC)

Friedman et al. Utiliza medidas “estándares” en el aprendizaje. Castelo et al. Utilizan una media de correlación para realizar la división

)( 2nO

Page 8: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

8

Algoritmo ELBN en anchura

El método desarrollado está muy relacionado con el de Castelo et al.

La idea de ambos es realizar agrupamiento de variables “lo más independientes” posible unos de otros y “lo más dependientes” posibles dentro de cada grupo, para dividir el espacio de búsqueda.

Ambos utilizan técnicas de Clustering Una vez realizado el agrupamiento búsquedas

independientes en cada grupo Una vez que tenemos una RB por cada grupo, se

realiza una composición de los resultados

Page 9: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

9

Algoritmo ELBN en anchura

Diferencias: – Castelo et al. Utilizan una técnica de clustering

jerárquico no hace especificar el nº de grupos– Nosotros utilizamos un algoritmo basado en PAM

(centroides) necesita “a priori” especificar un nº de grupos

– Castelo et al. Utiliza una medida de correlación, nosotros utilizamos medidas “estándares” en LBN

En principio ambos utilizan la misma técnica de composición de resultados

Page 10: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

10

Algoritmo ELBN en anchura

Page 11: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

11

Algoritmo de agrupamiento

En principio se fija un número de grupos k Se eligen k variables aleatorias como centroides Para el resto de variables se mira el grupo donde “cae

más cerca”, con la medida

Una vez formados los k grupos, entonces se reeligen los nuevos centroides de cada grupo

Como nuevo centroide se elige aquel de su grupo que esté más cercano al resto de variables del grupo y se reitera el proceso un nº de iteraciones

)(}){)(|(),( ijiiji cfxcPacfxcd

Page 12: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

12

Inicialización

Podemos fijar un nº k de grupos o podemos plantearnos que un algoritmo previo nos lo fije

Podemos diseñar un algoritmo que además de fijar un nº de grupos nos de una inicialización de estos grupos

Algoritmo de inicialización:– Elegimos un nodo al azar como centroide del primer grupo.– Para el resto de variables hasta que todas este procesadas:

Si d(c_i,x_j) > 0, para algún c_i, entonces x_j entra en el grupo de c_i de mayor medida (mayor d(c_i,x_j)

Si d(c_i,x_j) < 0, para todo c_i, entonces se fija x_j como nuevo centroide para otro grupo.

Una vez inicializado los grupos procedemos igual que antes

Page 13: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

13

Ejemplo: ALARM k=2

N: 620 i: 10

Page 14: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

14

Ejemplo: ALARM k sin fijar

N: 500 i: 12

Page 15: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

15

Conclusiones

Es fundamental considerar tamaños muy grandes de bases de datos

Los algoritmos de aprendizaje de RB deterioran rápidamente con este tipo de bases de datos

Por consiguiente, es necesario diseñar algoritmos que trabajen de forma adecuada con este tipo de bases de datos

Hemos utilizado una técnica de “divide y vencerás para diseñar un algoritmo de aprendizaje de RB cuando tenemos un número muy elevado de variables en el dominio

Page 16: Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

16

Trabajos futuros

Realizar un método de composición más eficiente más que considerar un búsqueda completa

Diseñar métodos de aprendizaje cuando tenemos “data stream”:– Suponer misma distribución subyacente en los

datos– Suponer que puede cambiar esta distribución

subyacente Aprendizaje secuencial