SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Escalando o Algoritmo de aprendizagem da
estrutura Bayesiana k2 utilizando MapReduce
          e banco de dados NoSQL
                   J. Gabriel Lima
                 http://jgabriellima.in
              jgabriel.ufpa@gmail.com
Revisão...
Redes Bayesianas:
   Um dos principais métodos para a modelagem da incerteza,  incerteza
    permitindo tanto a previsão quanto o diagnóstico de eventos.


   Modelos que codificam os relacionamentos probabilísticos entre
    as variáveis que definem um determinado domínio e que são
    utilizadas para representar processos probabilísticos e causais.
                                                            causais


   grafo acíclico dirigido, composto por uma estrutura qualitativa,
                    dirigido                                qualitativa
    representando as dependências entre suas variáveis; e quantitativa,
                                                          quantitativa
    avaliando, em termos probabilísticos, essas dependências
Revisão...
Redes Bayesianas:
   O aprendizado de estrutura é um importante problema a ser estudado pelo
    fato de o tamanho do espaço de busca de possíveis estruturas aumentar
    exponencialmente junto com o número de variáveis do modelo.
   Esse crescimento exponencial pode ser visualizado pela fórmula:
   Algoritmo K2
       Embora proposto em 1992, ainda se apresenta como uma grande
        referência entre os algoritmos existentes para aprendizado de redes
        Bayesianas, sendo um dos mais confiáveis e bem sucedidos
        algoritmos de aprendizado.
       Percorre todo o especo de possíveis estruturas candidatas
        aplicando uma pontuação de acordo com a equação:
Revisão...
MapReduce:
O cálculo toma um conjunto de pares de entradas de chave/valor, e
produz um conjunto de pares de saídas chave/valor.
 O usuário que implementa o MapReduce expressa o cálculo como duas
funções: Map e Raduce.
Map
Escrito pelo usuário, leva um par de entrada e produz um conjunto de
pares intermediários de chave/valor.
Neste processo há uma junção de todos os valores intermediários
associados com uma mesma chave intermediária, afim de passá-los
para a função Reduce.
A função Reduce, também escrita pelo usuário, aceita
   uma chave intermediária e um conjunto de valores para essa chave.


   Ela faz uma fusão desses valores em conjunto, para formar um menor
    conjunto de valores possível.


   Tipicamente apenas zero ou um valor de saída é produzido por um método
    Reduce.


   Os valores intermédios são fornecidos para a função através de uma
    iteração. Isto permite-nos lidar com listas de valores que são
    demasiadamente grandes para caber na memória.
Estudo de Caso

   Base de Segurança Pública do Estado do Pará:
        Nº Total de Registros: 769.254
       Bairros: 46
        Bairros
       Crime: 388
        Crime
       Local: 32
        Local
       Logradouro: 3.312
        Logradouro
       Unidade Policial: 304
                Policial
       Classe Crime: 46
               Crime
   Problemáticas

       BAIRRO → 46
       BAIRRO, CRIME → 6.238
       BAIRRO,CRIME,LOCAL → 26.772

       Muitas iterações dentro de muitas combinações
                  457784406908348220669381056297854997416
                    34114232516550750301927014...
MapReduce e o estudo de caso

   As etapas mais com maior custo computacional
    foram todas substituidas por redução de mapa.


   O fluxo do algoritmo foi modificado de modo a
    invocar a redução de mapa no lugar da busca no
    banco de dados


   Cenário:
       Banco de Dados NoSQL MongoDB2 que
        implementa MapReduce nativamente utilizando seu
        Grid File System interno.
MapReduce e o estudo de caso

   As Reduções de mapa a seguir , representam a etapa
    de busca por frequencia equivalente ao aijk do
    algoritmo
   Redução de Mapa por Bairro (Count: 46, Time:
    17030ms)
    17030ms
    Processamento interno do banco de dados
    117100/769254   15%
    260800/769254   33%
    400600/769254   52%
    534600/769254   69%
    667600/769254   86%
   Redução de Mapa por CRIME (Count: 388, Time:
    22393ms)
    Processamento interno do banco de dados
    82600/769254    10%
    193800/769254   25%
    307500/769254   39%
    404900/769254   52%
    517000/769254   67%
    628800/769254   81%
    734300/769254   95%
   Para as bucas compostas, onde o resultado é a
    combinação entre estados de vários atributos:
   Ex.:
    BAIRRO,CRIME (Count: 6238, Time: 24348ms)
    53800/769254    6%
    141700/769254   18%
    239300/769254   31%
    330300/769254   42%
    423300/769254   55%
    513600/769254   66%
    598800/769254   77%
    690300/769254   89%
   BAIRRO,CRIME,LOCAL (Count: 26772, Time: 20219ms)
    53800/769254    6%
    141700/769254   18%
    239300/769254   31%
    330300/769254   42%
    423300/769254   55%
    513600/769254   66%
    598800/769254   77%
    690300/769254   89%
Considerações Finais
   Conclusão
        Melhor desempenho do algoritmo bayesiano
        Maior aproveitamento dos dados
        Maior capacidade de processamento de consultas
         complexas
        Apesar de aumentar o desempenho em relação às
         buscas complexas, ainda temos as barreiras
         matemáticas.
                   Produtórios, Somatórios...

Weitere ähnliche Inhalte

Ähnlich wie Escalando o algoritmo de aprendizagem da estrutura da rede bayesiana k2

Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...wesleylouzeiro
 
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de ComputadoresInvestigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de ComputadoresOrlando Junior
 
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGISMapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGISJorge Santos
 
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...Ramon Santos
 
Avaliação NOSQL para indexação do Twitter
Avaliação NOSQL para indexação do TwitterAvaliação NOSQL para indexação do Twitter
Avaliação NOSQL para indexação do TwitterCaliel Costa
 
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...GiovanniGuimares2
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesGuilherme Araújo
 
CloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de DissertaçãoCloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de DissertaçãoMateus Aubin
 
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...Sandro Santana
 
Proposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaesProposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaeslucassrod
 
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)Jorge Santos
 
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Carlos Raniery
 
Gestao contexto qos_qoe
Gestao contexto qos_qoeGestao contexto qos_qoe
Gestao contexto qos_qoeIP10
 
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"Andrew Edberg
 
SysSorting Professional
SysSorting ProfessionalSysSorting Professional
SysSorting ProfessionalMichel Alves
 
TDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data ScienceTDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data Sciencetdc-globalcode
 

Ähnlich wie Escalando o algoritmo de aprendizagem da estrutura da rede bayesiana k2 (20)

Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
Aplicação da Técnica Mapreduce na Modelagem de Algoritmos Genéticos para o “P...
 
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de ComputadoresInvestigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
 
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGISMapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
 
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
 
Avaliação NOSQL para indexação do Twitter
Avaliação NOSQL para indexação do TwitterAvaliação NOSQL para indexação do Twitter
Avaliação NOSQL para indexação do Twitter
 
Pi raciocinio lógico
Pi   raciocinio lógicoPi   raciocinio lógico
Pi raciocinio lógico
 
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e Aplicações
 
CloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de DissertaçãoCloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de Dissertação
 
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...Dissertação  google inc act on general strike suzart Attain to cpf 051 812 95...
Dissertação google inc act on general strike suzart Attain to cpf 051 812 95...
 
Proposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaesProposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaes
 
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
 
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
 
Kafer2014.pdf
Kafer2014.pdfKafer2014.pdf
Kafer2014.pdf
 
Gestao contexto qos_qoe
Gestao contexto qos_qoeGestao contexto qos_qoe
Gestao contexto qos_qoe
 
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"
 
Relatвrio
RelatвrioRelatвrio
Relatвrio
 
SysSorting Professional
SysSorting ProfessionalSysSorting Professional
SysSorting Professional
 
TDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data ScienceTDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data Science
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 

Mehr von João Gabriel Lima

Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationJoão Gabriel Lima
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackJoão Gabriel Lima
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitJoão Gabriel Lima
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência ArtificialJoão Gabriel Lima
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão LinearJoão Gabriel Lima
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoJoão Gabriel Lima
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google HackingJoão Gabriel Lima
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisJoão Gabriel Lima
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...João Gabriel Lima
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoJoão Gabriel Lima
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaJoão Gabriel Lima
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideJoão Gabriel Lima
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?João Gabriel Lima
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...João Gabriel Lima
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosJoão Gabriel Lima
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.jsJoão Gabriel Lima
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptJoão Gabriel Lima
 

Mehr von João Gabriel Lima (20)

Cooking with data
Cooking with dataCooking with data
Cooking with data
 
Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer Segmentation
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full Stack
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKit
 
JS - IA
JS - IAJS - IA
JS - IA
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência Artificial
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão Linear
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de caso
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google Hacking
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentais
 
Web Machine Learning
Web Machine LearningWeb Machine Learning
Web Machine Learning
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - Clusterização
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark side
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãos
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com Javascript
 

Escalando o algoritmo de aprendizagem da estrutura da rede bayesiana k2

  • 1. Escalando o Algoritmo de aprendizagem da estrutura Bayesiana k2 utilizando MapReduce e banco de dados NoSQL J. Gabriel Lima http://jgabriellima.in jgabriel.ufpa@gmail.com
  • 2. Revisão... Redes Bayesianas:  Um dos principais métodos para a modelagem da incerteza, incerteza permitindo tanto a previsão quanto o diagnóstico de eventos.  Modelos que codificam os relacionamentos probabilísticos entre as variáveis que definem um determinado domínio e que são utilizadas para representar processos probabilísticos e causais. causais  grafo acíclico dirigido, composto por uma estrutura qualitativa, dirigido qualitativa representando as dependências entre suas variáveis; e quantitativa, quantitativa avaliando, em termos probabilísticos, essas dependências
  • 3. Revisão... Redes Bayesianas:  O aprendizado de estrutura é um importante problema a ser estudado pelo fato de o tamanho do espaço de busca de possíveis estruturas aumentar exponencialmente junto com o número de variáveis do modelo.  Esse crescimento exponencial pode ser visualizado pela fórmula:
  • 4.
  • 5. Algoritmo K2  Embora proposto em 1992, ainda se apresenta como uma grande referência entre os algoritmos existentes para aprendizado de redes Bayesianas, sendo um dos mais confiáveis e bem sucedidos algoritmos de aprendizado.  Percorre todo o especo de possíveis estruturas candidatas aplicando uma pontuação de acordo com a equação:
  • 6.
  • 7. Revisão... MapReduce: O cálculo toma um conjunto de pares de entradas de chave/valor, e produz um conjunto de pares de saídas chave/valor. O usuário que implementa o MapReduce expressa o cálculo como duas funções: Map e Raduce.
  • 8. Map Escrito pelo usuário, leva um par de entrada e produz um conjunto de pares intermediários de chave/valor. Neste processo há uma junção de todos os valores intermediários associados com uma mesma chave intermediária, afim de passá-los para a função Reduce.
  • 9. A função Reduce, também escrita pelo usuário, aceita  uma chave intermediária e um conjunto de valores para essa chave.  Ela faz uma fusão desses valores em conjunto, para formar um menor conjunto de valores possível.  Tipicamente apenas zero ou um valor de saída é produzido por um método Reduce.  Os valores intermédios são fornecidos para a função através de uma iteração. Isto permite-nos lidar com listas de valores que são demasiadamente grandes para caber na memória.
  • 10.
  • 11. Estudo de Caso  Base de Segurança Pública do Estado do Pará: Nº Total de Registros: 769.254  Bairros: 46 Bairros  Crime: 388 Crime  Local: 32 Local  Logradouro: 3.312 Logradouro  Unidade Policial: 304 Policial  Classe Crime: 46 Crime
  • 12. Problemáticas  BAIRRO → 46  BAIRRO, CRIME → 6.238  BAIRRO,CRIME,LOCAL → 26.772  Muitas iterações dentro de muitas combinações  457784406908348220669381056297854997416 34114232516550750301927014...
  • 13. MapReduce e o estudo de caso  As etapas mais com maior custo computacional foram todas substituidas por redução de mapa.  O fluxo do algoritmo foi modificado de modo a invocar a redução de mapa no lugar da busca no banco de dados  Cenário:  Banco de Dados NoSQL MongoDB2 que implementa MapReduce nativamente utilizando seu Grid File System interno.
  • 14. MapReduce e o estudo de caso  As Reduções de mapa a seguir , representam a etapa de busca por frequencia equivalente ao aijk do algoritmo
  • 15. Redução de Mapa por Bairro (Count: 46, Time: 17030ms) 17030ms Processamento interno do banco de dados 117100/769254 15% 260800/769254 33% 400600/769254 52% 534600/769254 69% 667600/769254 86%
  • 16.
  • 17.
  • 18. Redução de Mapa por CRIME (Count: 388, Time: 22393ms) Processamento interno do banco de dados 82600/769254 10% 193800/769254 25% 307500/769254 39% 404900/769254 52% 517000/769254 67% 628800/769254 81% 734300/769254 95%
  • 19.
  • 20.
  • 21.
  • 22. Para as bucas compostas, onde o resultado é a combinação entre estados de vários atributos:  Ex.: BAIRRO,CRIME (Count: 6238, Time: 24348ms) 53800/769254 6% 141700/769254 18% 239300/769254 31% 330300/769254 42% 423300/769254 55% 513600/769254 66% 598800/769254 77% 690300/769254 89%
  • 23.
  • 24.
  • 25. BAIRRO,CRIME,LOCAL (Count: 26772, Time: 20219ms) 53800/769254 6% 141700/769254 18% 239300/769254 31% 330300/769254 42% 423300/769254 55% 513600/769254 66% 598800/769254 77% 690300/769254 89%
  • 26.
  • 27. Considerações Finais  Conclusão  Melhor desempenho do algoritmo bayesiano  Maior aproveitamento dos dados  Maior capacidade de processamento de consultas complexas  Apesar de aumentar o desempenho em relação às buscas complexas, ainda temos as barreiras matemáticas.  Produtórios, Somatórios...