Scaling bayesian network parameter learning with Hadoop
Upcoming SlideShare
Loading in...5
×
 

Scaling bayesian network parameter learning with Hadoop

on

  • 475 views

 

Statistics

Views

Total Views
475
Views on SlideShare
473
Embed Views
2

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 2

http://dschool.co 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Scaling bayesian network parameter learning with Hadoop Scaling bayesian network parameter learning with Hadoop Presentation Transcript

  • ACCELERATING BAYESIAN NETWORK PARAMETERLEARNING USING HADOOP AND MAPREDUCESCALING BAYESIAN NETWORK PARAMETER LEARNINGWITH EXPECTATION MAXIMIZATION USING MAPREDUCEMAPREDUCE FOR BAYESIAN NETWORK PARAMETERLEARNING USING THE EM ALGORITHMANIRUDDHA BASAK, IRINA BRINSTER, XIANHENGMA, OLE J. MENGSHOEL, ERIK B. REEDJ. Gabriel Limajgabriel.ufpa@gmail.com
  • AGENDA• Abstract• Introduction• MapReduce - Hadoop• Sequential EM• MapReduce EM• MapReduce para EM• Experiments On Hadoop And Discussion• Conclusion• Critical Analysis
  • ABSTRACT• Fazer a aprendizagem de tabelas de probabilidade condicional deuma grande Rede Bayesiana(RB) utilizando o Algoritmo EM é umaatividade muito intensiva computacionalmente.• Há pelo menos 2 pontos críticos:• Tamanho do conjunto de dados• Recursos de memória para armazenamento e/ou processamento• Aplica-se neste trabalho a computação distribuída, usando-se oprocesso de MapReduce• Aprender os parâmetros da RB com dados completos e imcompletos• Foram utilizados a aprendizagem de parâmetros tradicional (dadoscompletos) e através do EM (dados incompletos)• Neste trabalho analisou-se a velocidade obtida a partir dacomparação de várias RB’s obtidas em diversos cenárioscomputacionais
  • INTRODUCTION• Aprendizagem de parâmetros em RB é uma atividade muito intensiva.• O tamanho da tabela aumenta exponencialmente de acordo com os pais daRB e a dimensão dos dados de entrada• Aprendizagem sequencial para grandes e complexas RB torna-se difícil,mesmo em casos com dados completos• Para dados incompletos o fator limitante é a inferência – cálculo a posteriori detodas as instancias de variáveis e seus respectivos pais• O EM (Expectation Maximization) é um algoritmo iterativo que permite oaprendizado de modelos estatísticos de dados com valores ausentes.• É uma poderosa técnica, uma vez que garante convergência para um máximolocal da função de log-verossimilhança (log-likelihood function)• EM tornou-se o algoritmo de eleição em muitas áreas: em aprendizagem demáquina e visão computacional, para agrupamento de genes, identificação deproteínas em biologia computacional e alinhamento por palavra em traduçãoautomática.
  • INTRODUCTION• Este trabalho trata da aplicação do MapReduce, utilizando o Hadoop, para aaprendizagem a partir de dados completos e incompletos.• Foi implementado uma bayesiana tradicional e o algortimo EM no Hadooppara acelerar a aprendizagem parâmetro, utilizando uma ampla gama detamanhos de dados de entrada
  • MAPREDUCE - HADOOPMapReduce é um framework para programação distribuídacomputação em grandes conjuntos de dados, que foi introduzidopelo Google em 2004.É uma abstração que permite aos usuários criar facilmenteaplicações paralelas ao esconder os detalhes da distribuição dedados, balanceamento de carga e tolerância a falhas.MapReduce requer decomposição de um algoritmo em mapear ereduzir medidas.
  • MAPREDUCE - HADOOPHadoop, uma implementação de MapReduce, fornece um quadrode distribuição dos dados e para MapReduce em um grandenúmero de nós de cluster ou máquinas. Ele é baseado naarquitetura master / slave.O servidor mestre único, conhecido como JobTracker, recebeuma atribuição de trabalho do usuário, distribui o ‘mapa’ e ‘reduz’as tarefas para nós escravos (tasktrackers) e monitora seuprocesso de armazenamento(Hadoop Distributed File System –HDFS) e distribuição de dados para nós escravos.
  • SEQUENTIAL EM (SEM)Neste trabalho, foi implementado o algoritmo básico EM paraaprendizagem de parâmetros de redes Bayesianas com distribuição databela de probabilidade condicional(CPD).Em SEM, dada a estrutura de BN, a sua decomposição árvore de junção,e um número de incompleto registros de dados, queremos determinar adistribuição de probabilidade (parâmetros BN), que é mais provável deproduzir os dados observados.SEM é um algoritmo iterativo que alterna entre dois passos:• O cálculo se inicia com a estimativa inicial de parâmetros. Na etapa deexpectativa, usamos os parâmetros atuais para calcular as estatísticas.Dado cada registro de dados e cada família, calcula-se a distribuição deprobabilidade usando propagação por árvore junção como o nossomotor de inferência.
  • MAP-REDUCED EM (MREM)Decomposição do EM básico utilizando algoritmo MapReduce.Uma vez que todos os registos dos dados de entrada são independentes umdo outro para o cálculo das estatísticas, eles podem ser processados ​​emparalelo. Os registros de entrada podem ser divididos entre vários Mappers,cada um executando o E-Step . O M-step é realizada sobre os Reducers.E- Step: Cada mapper toma como entrada a estrutura da RB, a estimativaatual de parâmetros t, a decomposição da JT, e os dados incompletos D. Umcontador acompanha o passo acumulando a contagem dos registros deentrada para [xi, Xi]. PARA TODAS AS COMBINAÇÕES POSSÍVEIS ENTREOS ESTADOS DOS PAIS COM OS FILHOSUma vez que o mapeador processa todos os registros atribuídos a ele, eleemite um par chave-valor intermediário para cada entrada de mapa de hash.Esta chave intermediária garante que todas as variáveis ​​com os mesmospais são agrupados e transformados em uma mesma tarefa de redução.
  • MAP-REDUCED EM (MREM)M-Step: Percorre todos os valores com a mesma chave obtidos naetapa anterior, analisa o valor, em que as chaves correspondem a pai-filho com suas combinações e seus estados, e os valorescorrespondem a contagem.Os valores são somadas para obter a contagem de pai.Por fim, cada função reduce emite uma saída par chave-valor para cadaentrada do map
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONOs experimentos foram feitos com três tipos de nós distribuídos:pequena, média e grande instância.As implementações foram testadas em uma série de RBcomplexas, a partir de diferentes domínios (dados da NASA ,Sistemas de Energia Elétrica e outros benchmarks):
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONNas análises do MREM , podemos calcular a velocidade doalgoritmo com base na iteração por tempo de execução, que émedido como a média de 10 iterações do algoritmo EM.Todos os algoritmos foram implementados em Java, utilizando-seda arquitetura em Cloud da Amazon EC2, sem o uso de serviçosdedicados e a Amazon S3 para armazenamento dos arquivos dedados.
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Variando o tamanho da RB e quantidade de registros:Variou-se o tamanho do conjunto de dados, usando 10K, 50K, 100K, 500Ke 1.000K amostras de treinamento, para treinar cada RB.Usando-se um single-node, é evidente que o aumento do tamanho dabase de dados aumenta o tempo de processamento:
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Variando o número de nós do Hadoop:Para cada BN do mesmo tamanho treinamento, varia-se o número de nóspara paralelizar o algoritmo.Este experimento é executado em Amazon Elastic MapReduce, e os dadosde treinamento são armazenados no Amazon S3.Assim, o desempenho do MapReduce é afetado por alguns fatoresexternos, tais como a rede, largura de banda entre o Amazon S3 e oAmazon EC2.Para pequenas quantidades de dados, os ganhos não são tão evidentes,entretanto, para grandes conjuntos de dados verifica-se uma diminuiçãosignificativa em relação ao tempo de processamento quandoacrescentam-se outros nós no Hadoop.
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Variando os parâmetros do Hadoop:O desempenho está relacionado a qualidade dos seus parâmetros.Ao aumentar o número de Maps de 1 a 10, a uma redução notempo de execução em relação ao tempo médio do Map. Noentanto quando o numero de tarefas Map é aumentada de 20 a 100,mesmo que o tempo médio gasto no Map diminua, o tempo totalde execução não diminui ou mesmo aumenta. Isso acontece poisaumentar o número de operadores Map, leva a um excesso dedivisão dos dados, impactando diretamente no tempo deexecução.
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Variando os parâmetros do Hadoop:
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Variando o volume de dados:Comparar os EM seqüenciais e MREM para registos de entradavariando de 1 a 1000 K.Ambos os algoritmos são executado em pequenas instâncias doAmazon EC2. Para MREM, 4 nós mapper da mesma instânciaforam utilizados.A aceleração alcançada pelo MREM para pequenos conjuntos dedados é tipicamente menor devido a sobrecarga de MapReducePercebeu-se melhorias no uso do MREM aumentando-se o númerode registros
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Variando o volume de dados:
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Análise das instâncias do Cluster:Foram investigadas os tipos de instância que melhor se adaptam entreas pequenos, médios e grandes casosPequeno: 16 pequenos nós de computação,Médio: 8 de média nós de computaçãoGrande: 4 grandes nós de computação.Em quase todos os casos, o desempenho é melhor no uso do tipoMédio de instância.
  • EXPERIMENTS ON HADOOP ANDDISCUSSIONAnálises:Análise das instâncias do Cluster:Foram investigadas os tipos deinstância que melhor se adaptam entreas pequenos, médios e grandes casosPequeno: 16 pequenos nós decomputação,Médio: 8 de média nós de computaçãoGrande: 4 grandes nós de computação.Em quase todos os casos, odesempenho é melhor no uso do tipoMédio de instância.
  • CONCLUSIONNeste trabalho, foi feita uma análise da computação de RB de mododistribuído utilizando MapReduce com o Hadoop rodando em uma Cloudna infra-estrutura da Amazon.A Execução do EM sequencial para aprender os parâmetros da rede T2ADAPT de 100 mil registros de dados leva em torno de 2 horas e 30minutos em cada iteração.O uso de do MREM para a mesma tarefa, em um cluster do Amazon EC2com cinco grandes nós de computação, leva apenas 15 minutos paracada iteração.Além disso, descobrimos que usar o MapReduce para aprendizagem deparâmetros não depende apenas do tamanho dos dados de entrada (talcomo é bem conhecido), mas também do tamanho e da estrutura da rede.De modo mais geral, este trabalho melhora a compreensão de comootimizar o uso de MapReduce e Hadoop quando aplicado à tarefaimportante BN parâmetro de aprendizagem.
  • CRITICAL ANALYSIS• O autor inova em analisar tecnicamente uma arquitetura deCloud para um algoritmo de DM• O uso de um banco de dados não-relacional que rode sobre oHadoop facilitaria a aplicação do algoritmo.• Conceitos de DWO autor utiliza bases de dados estáticas que não precisam seranalisadas em tempo real.• Extrair a etapa de MapReduce de dentro do algoritmo eexecutá-lo em uma etapa anterior• Como foi analisado que o tempo de processamento pode serafetado pelo número de Maps, essa ‘alocação’ de mapspoderia ser dinâmica, variando de acordo com os demaisparâmetros em tempo de execução.
  • https://github.com/jgabriellima/HadoopBNEM
  • TRABALHOS COMPLEMENTARESAccelerating Bayesian Network Parameter Learning Using Hadoop andMapReduceAniruddha Basak, Irina Brinster, Xianheng Ma, Ole J. MengshoelCarnegie Mellon University. Silicon Valley Campus. NASA Research ParkScaling Bayesian Network Parameter Learning with ExpectationMaximization using MapReduceErik B. Reed, Ole J. MengshoelMapReduce for Bayesian Network Parameter Learning using the EMAlgorithmAniruddha Basak, Irina Brinster, Ole J. Mengshoel
  • ACCELERATING BAYESIAN NETWORK PARAMETERLEARNING USING HADOOP AND MAPREDUCESCALING BAYESIAN NETWORK PARAMETER LEARNINGWITH EXPECTATION MAXIMIZATION USING MAPREDUCEMAPREDUCE FOR BAYESIAN NETWORK PARAMETERLEARNING USING THE EM ALGORITHMANIRUDDHA BASAK, IRINA BRINSTER, XIANHENGMA, OLE J. MENGSHOEL, ERIK B. REEDJ. Gabriel Limajgabriel.ufpa@gmail.com