1 / 16

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. 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

banyan
Download Presentation

Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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”

  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

  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)

  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)

  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

  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

  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

  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

  10. Algoritmo ELBN en anchura

  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

  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

  13. Ejemplo: ALARM k=2 N: 620 i: 10

  14. Ejemplo: ALARM k sin fijar N: 500 i: 12

  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

  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

More Related