View
1.417
Download
1
Category
Tags:
Preview:
DESCRIPTION
Palestra proferida no WPOS 2012 - Workshop do Programa de Pós-graduação em Informática da UnB.
Citation preview
Planejamento de Experimentos e ComparaçãoEstatística de Algoritmos
Felipe Campelofcampelo@ufmg.br
Departamento de Engenharia Elétrica
Brasília24 de novembro de 2012
Conceitos principais
ExperimentalAlgorithm
Comparisons
Pre-exp.Design
PerformanceMetric(s)
Valueachieved
Time totarget Definition
ofHypotheses Test
problems
Fixedparameters
Designof exper-iments
Blocking
Problem
Dimen-sion
Samplesize
Power
Effects ofinterest
Nesting
Randomi-zation
Statisticalanalysis
Modelling
ANOVA
GLMs
ANCOVA
Regres-sion
Modelvalidation
Independ.
Distribution
Homog.Variances
Post-hoctests
Effectsizes
MHT cor-rections
Reportingof results
Confidenceintervals
Dominanceanalysis
Performancetables
Motivação
Aná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 frequentementeinadequadas, infactíveis, ou não-representativas.
• Análises experimentais podem fornecer informações valiosassobre comportamentos de caso médio e outros aspectos deinteresse.
• Desde que feitas de forma metodologicamente sólida;
Situação ideal:teoria + experimentação
Motivação
Pergunta central
Quanto das diferenças de desempenho observadas entre osalgoritmos testados pode ser atribuída a diferenças reais entre os
mesmos, e quanto é atribuível a fatores espúrios?
Motivação
Experimentação descuidada
“To consult the statistician after an experiment isfinished is often merely to ask him to conduct a postmortem 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 doalgoritmo proposto
Motivação
Experimentação descuidadaAlgoritmo proposto• Implementação cuidadosa e
verificação de erros no código;
• Ajuste exaustivo dosparâmetros livres;
• Execução de diversas rodadasde experimentos;
Algoritmo concorrente• Implementação relativamente
descuidada;
• Uso dos “parâmetros daliteratura”;
• Execução de uma únicarodada de experimentos;
Motivação
Experimentação descuidadaAlgoritmo proposto• Implementação cuidadosa e
verificação de erros no código;
• Ajuste exaustivo dosparâmetros livres;
• Execução de diversas rodadasde experimentos;
Algoritmo concorrente• Implementação relativamente
descuidada;
• Uso dos “parâmetros daliteratura”;
• Execução de uma únicarodada de experimentos;
Como sai no artigo: “Os resultados apresentados representam amédia de 30 execuções dos algoritmos”.
Motivação
Experimentaçã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 deexecução);
• Inversão da razão de experimentação: busca por mostrar quedeterminado método é melhor, ao invés de investigar se ele émelhor.
• Não replicabilidade;
Boas práticas
Princípios importantes para a pesquisa experimental comalgoritmos• Experimentos relevantes;
• Conexão com literatura;
• Problemas de testeapropriados;
• Design experimentalapropriado;
• Implementações eficientes;
• Reproducibilidade;
• Comparabilidade;
• Descrição completa;
• Suporte das conclusões;
• Apresentação adequada dosdados.
Baseado em: D.S. Johnson, A Theoretician’s Guide to the Experimental Analysis of Algorithms - http://goo.gl/WxSci
Planejamento Pré-experimental
Antes 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é-experimental
Definição das hipóteses do experimento• Experimentação exploratória 6= 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 requercuidados;
• E um sólido conhecimento da área de experimentação;
Planejamento Pré-experimental
Seleçã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 entrealgoritmos;
Planejamento Pré-experimental
Seleçã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 dosproblemas 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é-experimental
Definiçã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 Experimento
Planejamento 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, errosexperimentais, 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 Experimento
Replicação• Importante para corroborar conclusões iniciais;
• Replicação por grupos independentes: padrão em biologia emedicina, 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 6= tamanho amostral;
Planejamento do Experimento
Aleatorizaçã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 deexecução;
Planejamento do Experimento
Blocagem• 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 deinteresse;
• Atenção a fatores espúrios influenciando a variável de resposta;
George E.P. Box
“Block what you can, randomize what youcannot.”
Planejamento do Experimento
Problema-dependente• Dependendo do que se deseja testar (pergunta estatística),
requer-se um dado planejamento experimental;
• Um planejamento bem fundamentado tende a determinar deforma clara a técnica de análise utilizada;
• Pelo menos a forma geral dos testes
• Determinação da relação entre variabilidade intra-grupos eentre-grupos;
• Coleta dos dados deve sempre seguir o plano!• Paradas prematuras;• No-peeking rule;
Análise Estatística
Uma 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ística
Modelagem 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íveldesejado 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 resultados
Descriçã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, eoutros dados relevantes para a compreensão e replicabilidadedos resultados;
Relato dos resultados
Apresentaçã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ões
Derivaçã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 finais
Pesquisa 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 comsistemas 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 ExperimentalAnalysis of Algorithms - http://goo.gl/WxSci
• T. Bartz-Beielstein, Beyond Particular Problem Instances: How toCreate Meaningful and Generalizable Results -http://goo.gl/j7wM1
Recommended