escalabilidad en los algoritmos de aprendizaje de redes bayesianas
Download
Skip this Video
Download Presentation
Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas

Loading in 2 Seconds...

play fullscreen
1 / 16

Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas - PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Escalabilidad en los Algoritmos de Aprendizaje de Redes Bayesianas' - banyan


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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”
introducci n
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
introducci n1
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)
algoritmos de aprendizaje de rb escalabilidad trabajos previos
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)
objetivo
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
algoritmo elbn en anchura
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
algoritmo elbn en anchura1
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
algoritmo elbn en anchura2
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
algoritmo de agrupamiento
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
inicializaci n
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
ejemplo alarm k 2
Ejemplo: ALARM k=2

N: 620 i: 10

conclusiones
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
trabajos futuros
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
ad