• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Planejamento de Experimentos e Comparação Estatística de Algoritmos
 

Planejamento de Experimentos e Comparação Estatística de Algoritmos

on

  • 1,572 views

Palestra proferida no WPOS 2012 - Workshop do Programa de Pós-graduação em Informática da UnB.

Palestra proferida no WPOS 2012 - Workshop do Programa de Pós-graduação em Informática da UnB.

Statistics

Views

Total Views
1,572
Views on SlideShare
1,572
Embed Views
0

Actions

Likes
1
Downloads
26
Comments
0

0 Embeds 0

No embeds

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

    Planejamento de Experimentos e Comparação Estatística de Algoritmos Planejamento de Experimentos e Comparação Estatística de Algoritmos Presentation Transcript

    • Planejamento de Experimentos e Comparação Estatística de Algoritmos Felipe Campelo fcampelo@ufmg.br Departamento de Engenharia Elétrica Brasília 24 de novembro de 2012
    • Conceitos principais Time to target Definition of Hypotheses Test Value problems achieved Dominance Performance analysis Metric(s) Pre-exp. Fixed Confidence Performance Design parameters intervals tables Problem ANOVA Reporting of results Dimen- GLMs sion Experimental Blocking Modelling AlgorithmANCOVA Comparisons Design Statistical Regres- of exper- Power sion analysis iments Sample size Post-hoc Model tests Independ. Randomi- validation zation Effects of interest MHT cor- Effect Nesting rections sizes Distribution Homog. Variances
    • MotivaçãoAnálise experimental de algoritmos • J.N. Hooker, 1994: “In other words, we should try to build an empirical science of algorithms”; • Análises puramente teóricas são elegantes, mas frequentemente inadequadas, infactíveis, ou não-representativas. • Análises experimentais podem fornecer informações valiosas sobre comportamentos de caso médio e outros aspectos de interesse. • Desde que feitas de forma metodologicamente sólida; Situação ideal: teoria + experimentação
    • MotivaçãoPergunta central Quanto das diferenças de desempenho observadas entre os algoritmos testados pode ser atribuída a diferenças reais entre os mesmos, e quanto é atribuível a fatores espúrios?
    • MotivaçãoExperimentação descuidada “To consult the statistician after an experiment is finished is often merely to ask him to conduct a post mortem examination. He can perhaps say what the experiment died of.” Sir Ronald Fisher • Infelizmente ainda frequente em determinadas áreas; • Mas não por muito tempo... • Tende a produzir resultados fortemente enviesados em favor do algoritmo proposto
    • MotivaçãoExperimentação descuidadaAlgoritmo proposto Algoritmo concorrente • Implementação cuidadosa e • Implementação relativamente verificação de erros no código; descuidada; • Ajuste exaustivo dos • Uso dos “parâmetros da parâmetros livres; literatura”; • Execução de diversas rodadas • Execução de uma única de experimentos; rodada de experimentos;
    • MotivaçãoExperimentação descuidadaAlgoritmo proposto Algoritmo concorrente • Implementação cuidadosa e • Implementação relativamente verificação de erros no código; descuidada; • Ajuste exaustivo dos • Uso dos “parâmetros da parâmetros livres; literatura”; • Execução de diversas rodadas • Execução de uma única de experimentos; rodada de experimentos;Como sai no artigo: “Os resultados apresentados representam amédia de 30 execuções dos algoritmos”.
    • MotivaçãoExperimentação descuidada • Outros problemas: • Falta de definição clara das perguntas que se deseja responder (hipóteses de teste); • Falta de aleatorização experimental (em comparações de tempo de execução); • Inversão da razão de experimentação: busca por mostrar que determinado método é melhor, ao invés de investigar se ele é melhor. • Não replicabilidade;
    • Boas práticasPrincípios importantes para a pesquisa experimental comalgoritmos • Experimentos relevantes; • Reproducibilidade; • Conexão com literatura; • Comparabilidade; • Problemas de teste • Descrição completa; apropriados; • Suporte das conclusões; • Design experimental apropriado; • Apresentação adequada dos dados. • Implementações eficientes; Baseado em: D.S. Johnson, A Theoretician’s Guide to the Experimental Analysis of Algorithms - http://goo.gl/WxSci
    • Planejamento Pré-experimentalAntes de mais nada... • A comparação pretendida é relevante? • Os resultados obtidos seriam de interesse da comunidade-alvo? • Relevância prática? • Uso de experimentos exploratórios; • Contextualização com a literatura; • Evitar repetição e irrelevância.“Sometimes one should do a completely wild experiment,like blowing the trumpet to the tulips every morningfor a month. Probably nothing would happen, but what if it did?”– Sir George Howard Darwin
    • Planejamento Pré-experimentalDefinição das hipóteses do experimento • Experimentação exploratória = experimentação descuidada; • Coleta de dados orientada pelas questões de interesse; • Diferenças no desempenho esperado dos algoritmos; • Variabilidade no desempenho; • A tradução pergunta de interesse → hipóteses de teste requer cuidados; • E um sólido conhecimento da área de experimentação;
    • Planejamento Pré-experimentalSeleção de métricas de desempenho • Informação de interesse; • Ruído, tendenciosidades não-controláveis; • Usuais: • Qualidade da solução: • tendência central, valores extremos, variância, etc. • Tempo até convergência; • Importante em certas famílias de aplicações; • Dependente de equipamento, linguagem, programador, etc. • Comparações entre implementações versus comparações entre algoritmos;
    • Planejamento Pré-experimentalSeleção de problemas de teste • Conjuntos de benchmark versus instâncias aleatórias; • Benchmark: risco de overfitting dos algoritmos aos problemas; • Instâncias aleatórias: risco de não-representatividade dos problemas reais; • Seleção arbitrária de problemas: risco de viés do experimentador;Algumas ideias • Amostragem aleatória de problemas representativos (abordagem random factor ) • “Treinamento e validação” (abordagem machine learning)
    • Planejamento Pré-experimentalDefinição de parâmetros não-experimentaisParâmetros que não são de interesse no experimento; • Uso de parâmetros fixos? (Problema de generalização) • Uso de valores aleatorizados? (Problema de representatividade) • Uso de valores da literatura? (Problema de adequação) • Abordagem de tuning: • Uso de parte do esforço computacional total para o ajuste de parâmetros; • Esforço balanceado para o ajuste de todos os algoritmos;
    • Planejamento do ExperimentoPlanejamento de experimentos (DoE)Definição de protocolo para de coleta de dados de forma a possibilitaruma correta análise por ferramentas estatísticas, capazes de embasarconclusões válidas e objetivas. • Aplicável a sistemas e processos sujeitos a ruído, erros experimentais, etc. • Necessário para que as conclusões tenham significado; • Evita∗ a ocorrência de erros devidos a tendências pessoais • e outros artefatos de experimentação e análise.
    • Planejamento do ExperimentoReplicação • Importante para corroborar conclusões iniciais; • Replicação por grupos independentes: padrão em biologia e medicina, ainda (muito) raro em pesquisa com algoritmos; • Disponibilidade de instâncias; • Disponibilidade do código; • Informações sobre condições experimentais; • Métricas baseadas em tempo de execução; • Replicação = tamanho amostral;
    • Planejamento do ExperimentoAleatorização • Importante para evitar contaminação dos dados por fatores dependentes de tempo/localização; • Efeitos de aquecimento • Efeitos de desgaste • Interferências externas; • Particularmente importante para métricas baseadas em tempo de execução;
    • Planejamento do ExperimentoBlocagem • Controle sistemático de condições experimentais heterogêneas; • Diferentes problemas de teste, dimensões, equipamentos, etc. • Remoção dos efeitos indesejados, isolamento dos efeitos de interesse; • Atenção a fatores espúrios influenciando a variável de resposta; “Block what you can, randomize what you cannot.” George E.P. Box
    • Planejamento do ExperimentoProblema-dependente • Dependendo do que se deseja testar (pergunta estatística), requer-se um dado planejamento experimental; • Um planejamento bem fundamentado tende a determinar de forma clara a técnica de análise utilizada; • Pelo menos a forma geral dos testes • Determinação da relação entre variabilidade intra-grupos e entre-grupos; • Coleta dos dados deve sempre seguir o plano! • Paradas prematuras; • No-peeking rule;
    • Análise EstatísticaUma consequência do planejamento • Técnicas de análise relativamente tranquilas • mas exigem atenção aos detalhes. • Uso de ferramentas estatísticas existentes: • Gratuito, completo∗ , boas capacidades gráficas, simples∗ ;
    • Análise EstatísticaModelagem estatística • Procedimento geral para o teste das hipóteses do experimento: • Definição de um modelo-nulo (ausência de efeitos) e de um nível desejado de significância; • Determinação de P(dados|modelo nulo); • Decisão pela rejeição ou não da hipótese de ausência de efeitos; • Validação das premissas; • Estimação da magnitude das diferenças; Quantificação da proporção entre variabilidade entre- e intra-níveis;
    • Relato dos resultadosDescrição completa • Evitar observação seletiva (cherrypicking); • Reportar e descrever resultados anômalos • mesmo que os mesmos sejam descartados como artefatos pela análise estatística; • Descrever critérios de parada adotados, custo computacional, e outros dados relevantes para a compreensão e replicabilidade dos resultados;
    • Relato dos resultadosApresentação dos resultados • Combinar informação textual, numérica e gráfica; • Facilita compreensão e análise dos resultados • Carinho com as figuras; • (E. Tufte: The Visual Display of Quantitative Information) • Coerência interna e geral em gráficos e tabelas; • Intervalos simultâneos de confiança, análise de dominância, tabelas de desempenho médio e erro padrão, etc.
    • ConclusõesDerivação de conclusões • Conclusões devem ser solidamente embasadas pelos dados; • É comum exagerar a generalidade dos resultados; • Níveis de significância; • Premissas sob as quais os resultados são válidos • Sugerir explicações para os resultados observados; • Cuidado com a caça por anomalias;
    • Considerações finaisPesquisa experimental em/com algoritmos • Necessidade de melhorias metodológicas; • Já está acontecendo; • Uso de ferramentas e técnicas estatísticas; • Conhecimento já estabelecido em outras áreas que lidam com sistemas sujeitos a variabilidades experimentais; • Potencial para publicações de alto impacto! • Editores valorizam artigos metodologicamente sólidos“ However, experiments require a lot of work,so the reader may be warned: performing a goodexperiment is as demanding as proving a new theorem.”– Hans-Paul Schwefel
    • A quem interessar...Recursos: • F. Campelo, Notas do Curso de Planejamento e Análise de Experimentos - http://goo.gl/okdJF; • D.S. Johnson, A Theoretician’s Guide to the Experimental Analysis of Algorithms - http://goo.gl/WxSci • T. Bartz-Beielstein, Beyond Particular Problem Instances: How to Create Meaningful and Generalizable Results - http://goo.gl/j7wM1