Testes de significância estatística para comparar algoritmos de aprendizagem de máquinas

Tweet Share

A última actualização em 8 de Agosto de 2019

Comparar métodos de aprendizagem de máquinas e seleccionar um modelo final é uma operação comum na aprendizagem de máquinas aplicada.

Os modelos são normalmente avaliados utilizando métodos de reamostragem como a validação cruzada k-fold a partir da qual as pontuações médias de competências são calculadas e comparadas directamente. Embora simples, esta abordagem pode ser enganadora, pois é difícil saber se a diferença entre as notas médias de habilidade é real ou o resultado de um acaso estatístico.

Testes de significância estatística são concebidos para resolver este problema e quantificar a probabilidade de as amostras de notas de habilidade serem observadas, dada a suposição de que foram retiradas da mesma distribuição. Se essa suposição, ou hipótese nula, for rejeitada, ela sugere que a diferença nas notas de habilidade é estatisticamente significativa.

Embora não seja infalível, o teste de hipóteses estatísticas pode melhorar tanto a sua confiança na interpretação quanto a apresentação dos resultados durante a seleção do modelo.

Após completar este tutorial, você saberá:

  • Testes estatísticos de hipóteses podem ajudar na comparação de modelos de aprendizagem de máquinas e na escolha de um modelo final.
  • A aplicação ingênua dos testes de hipóteses estatísticas pode levar a resultados enganosos.
  • O uso correto dos testes estatísticos é desafiador, e há algum consenso para o uso do teste McNemar ou da validação cruzada 5×2 com um teste t de Student pareado modificado.

Dê início ao seu projeto com o meu novo livro Statistics for Machine Learning, incluindo tutoriais passo a passo e os arquivos de código fonte Python para todos os exemplos.

Vamos começar.

  • Atualização Out/2018: Adicionado link para um exemplo de uso do teste da McNemar.
Testes de significância estatística para comparação de algoritmos de aprendizagem de máquinas

Testes de significância estatística para comparação de algoritmos de aprendizagem de máquinas
Foto por Fotografías de Javier, alguns direitos reservados.

Visão geral do tutorial

Este tutorial está dividido em 5 partes; elas são:

  1. O problema da seleção de modelos
  2. Testes de hipóteses estatísticas
  3. Problema de escolher um teste de hipóteses
  4. Resumo de algumas descobertas
  5. Recomendações

Ajuda com estatísticas para a aprendizagem de máquinas?

Tomar meu curso de 7 dias grátis por email (com código de exemplo).

Clique para se inscrever e também obter uma versão PDF Ebook grátis do curso.

Download Your FREE Mini-Course

The Problem of Model Selection

Uma grande parte da aprendizagem aplicada à máquina é a seleção de modelos.

Nós podemos descrever isto na sua forma mais simples:

Dando a avaliação de dois métodos de aprendizagem de máquina num conjunto de dados, qual modelo você escolhe?

Você escolhe o modelo com a melhor habilidade.

Isto é, o modelo cuja habilidade estimada ao fazer previsões sobre dados não vistos é a melhor. Isto pode ser precisão máxima ou erro mínimo no caso de problemas de classificação e regressão respectivamente.

O desafio ao selecionar o modelo com a melhor habilidade é determinar o quanto você pode confiar na habilidade estimada de cada modelo. Mais geralmente:

É a diferença de habilidade entre dois modelos de aprendizagem de máquina real, ou devido a uma chance estatística?

Podemos usar testes de hipóteses estatísticas para abordar esta questão.

Testes de Hipóteses Estatísticas

Generalmente, um teste de hipóteses estatísticas para comparar amostras quantifica a probabilidade de se observar duas amostras de dados dada a suposição de que as amostras têm a mesma distribuição.

A suposição de um teste estatístico é chamada de hipótese nula e podemos calcular medidas estatísticas e interpretá-las a fim de decidir se aceitamos ou não a hipótese nula.

No caso da seleção de modelos com base na sua habilidade estimada, estamos interessados em saber se existe uma diferença real ou estatisticamente significativa entre os dois modelos.

  • Se o resultado do teste sugere que não há evidência suficiente para rejeitar a hipótese nula, então qualquer diferença observada na habilidade do modelo é provavelmente devida à chance estatística.
  • Se o resultado do teste sugerir que há evidência suficiente para rejeitar a hipótese nula, então qualquer diferença observada na habilidade do modelo é provavelmente devida a uma diferença nos modelos.

Os resultados do teste são probabilísticos, ou seja, é possível interpretar corretamente o resultado e que o resultado esteja errado com um erro do tipo I ou tipo II. Resumidamente, um resultado falso positivo ou falso negativo.

Aparar modelos de aprendizagem de máquinas através de testes de significância estatística impõe algumas expectativas que, por sua vez, terão impacto nos tipos de testes estatísticos que podem ser usados; por exemplo:

  • Estimativa de Habilidade. Uma medida específica da habilidade do modelo deve ser escolhida. Pode ser precisão de classificação (uma proporção) ou erro absoluto médio (estatística resumida) que limitará o tipo de testes que podem ser usados.
  • Estimativas repetidas. Uma amostra das notas de habilidade é necessária para o cálculo de estatísticas. O treinamento e testes repetidos de um determinado modelo nos mesmos dados ou em dados diferentes terão impacto no tipo de teste que pode ser usado.
  • Distribuição das Estimativas. A amostra de estimativas de pontuação de habilidade terá uma distribuição, talvez gaussiana ou talvez não. Isto irá determinar se testes paramétricos ou não podem ser usados.
  • Tendência Central. A habilidade de modelo será frequentemente descrita e comparada usando uma estatística resumida, como uma média ou mediana, dependendo da distribuição dos escores de habilidade. O teste pode ou não levar isso diretamente em conta.

Os resultados de um teste estatístico são frequentemente uma estatística de teste e um valor p, ambos podem ser interpretados e usados na apresentação dos resultados a fim de quantificar o nível de confiança ou significância na diferença entre modelos. Isso permite que sejam feitas alegações mais fortes como parte da seleção do modelo do que não usar testes de hipóteses estatísticas.

Dado que o uso de testes de hipóteses estatísticas parece desejável como parte da seleção do modelo, como escolher um teste que seja adequado para o seu caso de uso específico?

Problema de Escolha de um Teste de Hipótese

Vejamos um exemplo comum para avaliar e comparar classificadores para um problema de classificação binária equilibrada.

É prática comum avaliar métodos de classificação usando precisão de classificação, avaliar cada modelo usando validação cruzada de 10 vezes, assumir uma distribuição gaussiana para a amostra de 10 estimativas de habilidade do modelo e usar a média da amostra como um resumo da habilidade do modelo.

Podemos exigir que cada classificador avaliado usando este procedimento seja avaliado exatamente nas mesmas divisões do conjunto de dados via validação cruzada de 10 vezes. Isto daria amostras de medidas pareadas entre dois classificadores, combinadas porque cada classificador foi avaliado nos mesmos 10 conjuntos de teste.

Podemos então selecionar e usar o teste t de Student pareado para verificar se a diferença na precisão média entre os dois modelos é estatisticamente significativa, por exemplo rejeitar a hipótese nula que assume que as duas amostras têm a mesma distribuição.

Na verdade, esta é uma forma comum de comparar classificadores com talvez centenas de trabalhos publicados usando esta metodologia.

O problema é que, uma suposição chave do teste t de Student pareado foi violada.

Namely, as observações em cada amostra não são independentes. Como parte do procedimento de validação cruzada k-fold, uma determinada observação será usada no conjunto de dados de treinamento (k-1) vezes. Isto significa que as pontuações estimadas das habilidades são dependentes, não independentes e, por sua vez, que o cálculo da estatística t no teste estará erroneamente errado, juntamente com quaisquer interpretações da estatística e do valor p.

Esta observação requer uma compreensão cuidadosa tanto do método de reamostragem utilizado, neste caso a validação cruzada k-pold, quanto das expectativas do teste da hipótese escolhida, neste caso o teste t de Student pareado. Sem este fundo, o teste parece apropriado, um resultado será calculado e interpretado, e tudo parecerá bem.

Felizmente, a seleção de um teste estatístico apropriado para a seleção de modelos na aprendizagem aplicada à máquina é mais desafiadora do que parece pela primeira vez. Felizmente, há um corpo crescente de pesquisas ajudando a apontar as falhas das abordagens ingênuas, e sugerindo correções e métodos alternativos.

Resumo de algumas descobertas

Nesta seção, vamos dar uma olhada em algumas das pesquisas sobre a seleção de testes de significância estatística apropriados para a seleção de modelos na aprendizagem de máquinas.

Usar teste de McNemar ou 5×2 Cross-Validation

Talvez o trabalho seminal sobre este tópico seja o artigo de 1998 intitulado “Testes Estatísticos Aproximados para Comparação de Algoritmos de Aprendizagem de Classificação Supervisionada” por Thomas Dietterich.

É um excelente artigo sobre o tópico e uma leitura recomendada. Cobre, em primeiro lugar, um excelente enquadramento para pensar os pontos durante um projecto de aprendizagem de máquinas onde um teste estatístico de hipóteses pode ser necessário, discute as expectativas sobre as violações comuns dos testes estatísticos relevantes para comparar métodos de aprendizagem de máquinas de classificação, e termina com uma avaliação empírica dos métodos para confirmar os resultados.

Este artigo revisa cinco testes estatísticos aproximados para determinar se um algoritmo de aprendizagem supera o desempenho de outro numa determinada tarefa de aprendizagem.

O foco da seleção e avaliação empírica dos testes de hipóteses estatísticas no artigo é a calibração do erro Tipo I ou falsos positivos. Ou seja, selecionando um teste que minimize o caso de sugerir uma diferença significativa quando tal diferença não existe.

Existem vários achados importantes neste trabalho.

O primeiro achado é que o teste t de Student pareado sobre os resultados de habilidade estimados através de resmas aleatórias de um conjunto de dados de treinamento nunca deve ser feito.

… podemos concluir, com segurança, que o teste t de amostra t nunca deve ser empregado.

As suposições do teste t pareado são violadas no caso de amostragens aleatórias e no caso de validação cruzada do k-pedido (como observado acima). No entanto, no caso da validação cruzada k dobrada, o teste t será otimista, resultando em um erro Type I mais alto, mas apenas um erro Type II modesto. Isto significa que esta combinação poderia ser usada em casos onde evitar erros de Tipo II é mais importante do que sucumbir a um erro de Tipo I.

O teste t com validação cruzada de 10 vezes tem um erro tipo I elevado. Entretanto, ele também tem alta potência e, portanto, pode ser recomendado nos casos em que o erro tipo II (a falha em detectar uma diferença real entre algoritmos) é mais importante.

Dietterich recomenda o teste de hipótese estatística de McNemar nos casos em que há uma quantidade limitada de dados e cada algoritmo só pode ser avaliado uma vez.

O teste de McNemar é como o teste do Qui-Squarto, e neste caso é usado para determinar se as diferenças nas proporções observadas na tabela de contingência do algoritmo são significativamente diferentes das proporções esperadas. Este é um achado útil no caso de grandes redes neurais de aprendizado profundo que podem levar dias ou semanas para treinar.

Nossos experimentos nos levam a recomendar o teste de McNemar, para situações onde os algoritmos de aprendizado podem ser executados apenas uma vez.

Dietterich também recomenda um método de reamostragem de sua própria concepção chamado de validação cruzada 5×2 que envolve 5 repetições de validação cruzada de 2 vezes.

Duas dobras são escolhidas para garantir que cada observação apareça apenas no conjunto de dados do trem ou teste para uma única estimativa da habilidade do modelo. Um teste t de Student pareado é usado nos resultados, atualizado para refletir melhor os graus de liberdade limitados, dada a dependência entre as notas estimadas de habilidade.

Nossos experimentos nos levam a recomendar o teste t 5 x 2cv, para situações nas quais os algoritmos de aprendizado são eficientes o suficiente para executar dez vezes

Refinições de validação cruzada 5×2

O uso do teste McNemar ou da validação cruzada 5×2 se tornou uma recomendação básica durante a maior parte dos 20 anos desde que o trabalho foi publicado.

No entanto, foram feitas mais melhorias para corrigir melhor o teste t de Student pareado para a violação da suposição de independência da repetida validação cruzada k-fold.

Dois artigos importantes entre muitos incluem:

Claude Nadeau e Yoshua Bengio propõem uma correção adicional em seu artigo de 2003 intitulado “Inference for the Generalization Error” (Inferência para o Erro de Generalização). É um trabalho denso e não recomendado para os fracos de coração.

Esta análise nos permitiu construir duas estimativas de variância que levam em conta tanto a variabilidade devida à escolha dos conjuntos de treinamento quanto a escolha dos exemplos de teste. Um dos estimadores propostos parece semelhante ao método cv (Dietterich, 1998) e foi especificamente concebido para sobrestimar a variância de modo a produzir uma inferência conservadora.

Remco Bouckaert e Eibe Frank em seu artigo de 2004 intitulado “Evaluating the Replicuability of Significance Tests for Comparing Learning Algorithms” (Avaliando a Replicabilidade de Testes de Significância para Comparação de Algoritmos de Aprendizagem) têm uma perspectiva diferente e consideram a capacidade de replicar resultados como mais importante que os erros do Tipo I ou Tipo II.

Neste artigo nós argumentamos que a replicabilidade de um teste também é importante. Dizemos que um teste tem baixa replicabilidade se o seu resultado depende fortemente da partição aleatória particular dos dados que são usados para realizá-lo

Surprendentemente, eles recomendam usar ou 100 execuções de reamostragem aleatória ou 10×10-validação cruzada com a correção de Nadeau e Bengio para o teste pareado Student-t, a fim de alcançar uma boa replicabilidade.

Esta última abordagem é recomendada no livro de Ian Witten e Eibe Frank e na sua plataforma de mineração de dados de código aberto Weka, referindo-se à correção de Nadeau e Bengio como o “teste t corrigido de resamostragem”.

Várias modificações do teste t padrão foram propostas para contornar este problema, todas elas heurísticas e sem justificação teórica sólida. Um que parece funcionar bem na prática é o teste t corrigido e resampledado. A mesma estatística modificada pode ser usada com validação cruzada repetida, que é apenas um caso especial de retenção repetida em que os conjuntos de teste individuais para uma validação cruzada não se sobrepõem.

– Página 159, Capítulo 5, Credibilidade: Avaliando o que foi aprendido, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.

Recommendations

Não há balas de prata quando se trata de selecionar um teste de significância estatística para a seleção de modelos na aprendizagem de máquinas aplicadas.

Vejamos cinco abordagens que você pode usar no seu projeto de aprendizagem de máquinas para comparar classificadores.

Amostras de dados independentes

Se você tiver dados quase ilimitados, junte k conjuntos de dados de treinamento e teste separados para calcular 10 pontuações de habilidades verdadeiramente independentes para cada método.

Você pode então aplicar corretamente o teste t do Aluno emparelhado. Isto é muito improvável, pois muitas vezes estamos trabalhando com pequenas amostras de dados.

… a suposição de que há essencialmente dados ilimitados para que vários conjuntos de dados independentes do tamanho certo possam ser usados. Na prática, geralmente há apenas um único conjunto de dados de tamanho limitado. O que pode ser feito?

– Página 158, Capítulo 5, Credibilidade: Avaliando o que foi aprendido, Data Mining: Practical Machine Learning Tools and Techniques, Terceira Edição, 2011.

Acept the Problems of 10-fold CV

A validação cruzada ingênua de 10 vezes pode ser usada com um teste t de Student pareado não modificado pode ser usado.

>

Tem boa repetibilidade em relação a outros métodos e um erro modesto de tipo II, mas sabe-se que tem um erro alto de tipo I.

Os experimentos também sugerem cautela na interpretação dos resultados do teste t com 10 vezes a validação cruzada. Este teste tem uma probabilidade elevada de erro tipo I (até duas vezes o nível alvo), embora não seja tão severo quanto o problema com o teste t resampled.

– Testes Estatísticos Aproximados para a Comparação de Algoritmos de Aprendizagem de Classificação Supervisionada, 1998.

É uma opção, mas é muito pouco recomendado.

Utilizar o teste de McNemar ou 5×2 CV

As recomendações de duas décadas do teste de McNemar para resultados de precisão de classificação de uma única execução e validação cruzada de 5×2 vezes com um teste t de Student pareado modificado em geral.

Outras, a correção adicional de Nadeau e Bengio para a estatística do teste pode ser usada com a validação cruzada de 5×2 vezes ou com a validação cruzada de 10×10 vezes como recomendado pelos desenvolvedores de Weka.

Um desafio ao usar a estatística t modificada é que não há implementação fora da prateleira (por exemplo, na SciPy), exigindo o uso de código de terceiros e os riscos que isso implica. Você pode ter que implementá-lo você mesmo.

A disponibilidade e complexidade de um método estatístico escolhido é uma consideração importante, bem dito por Gitte Vanwinckelen e Hendrik Blockeel no seu artigo de 2012 intitulado “On Estimating Model Accuracy with Repeated Cross-Validation”:

Embora estes métodos sejam cuidadosamente concebidos e se mostre que melhoram em relação aos métodos anteriores de várias maneiras, eles sofrem do mesmo risco que os métodos anteriores, nomeadamente que quanto mais complexo for um método, maior será o risco de os investigadores o utilizarem incorrectamente, ou interpretarem incorrectamente o resultado.

Eu tenho um exemplo de uso do teste de McNemar aqui:

  • Como calcular o teste de McNemar para comparar dois classificadores de aprendizado de máquina

Utilizar um teste não paramétrico pareado

Podemos usar um teste não paramétrico que faz menos suposições, como não assumir que a distribuição dos resultados de habilidade é gaussiana.

Um exemplo é o teste Wilcoxon com pontuação assinada, que é a versão não paramétrica do teste t do aluno emparelhado. Este teste tem menos poder estatístico do que o teste t pareado, embora mais poder quando as expectativas do teste t são violadas, como independência.

Este teste de hipótese estatística é recomendado para comparar algoritmos diferentes conjuntos de dados por Janez Demsar em seu trabalho de 2006 “Comparações Estatísticas de Classificadores sobre Múltiplos Conjuntos de Dados”.

Recomendamos, portanto, o uso do teste Wilcoxon, a menos que as suposições do teste t sejam cumpridas, seja porque temos muitos conjuntos de dados ou porque temos razões para acreditar que a medida de desempenho entre conjuntos de dados está distribuída normalmente.

Embora o teste seja não-paramétrico, ele ainda assume que as observações dentro de cada amostra são independentes (por exemplo, iid), e usar a validação cruzada k-fold criaria amostras dependentes e violaria essa suposição.

Use Estimation Statistics Instead

Em vez de testes de hipóteses estatísticas, estatísticas de estimativa podem ser calculadas, como intervalos de confiança. Estes sofreriam de problemas similares onde a suposição de independência é violada dados os métodos de reamostragem pelos quais os modelos são avaliados.

Tom Mitchell faz uma recomendação semelhante em seu livro de 1997, sugerindo tomar os resultados dos testes de hipóteses estatísticas como estimativas heurísticas e buscar intervalos de confiança em torno de estimativas de habilidade do modelo:

Para resumir, nenhum procedimento único para comparar métodos de aprendizagem baseados em dados limitados satisfaz todas as restrições que gostaríamos. É sensato ter em mente que os modelos estatísticos raramente se ajustam perfeitamente às restrições práticas no teste de algoritmos de aprendizagem quando os dados disponíveis são limitados. No entanto, eles fornecem intervalos de confiança aproximados que podem ser de grande ajuda na interpretação de comparações experimentais de métodos de aprendizagem.

– Página 150, Capítulo 5, Evaluating Hypotheses, Machine Learning, 1997.

Métodos estatísticos como o bootstrap podem ser usados para calcular intervalos de confiança não-paramétricos defensáveis que podem ser usados tanto para apresentar resultados como para comparar classificadores. Esta é uma abordagem simples e eficaz que você pode sempre recorrer e que eu recomendo em geral.

De fato os intervalos de confiança receberam o estudo mais teórico de qualquer tópico na área de bootstrap.

– Página 321, An Introduction to the Bootstrap, 1994.

Extensões

Esta seção lista algumas idéias para estender o tutorial que você pode querer explorar.

  • Liste e liste três artigos de pesquisa que usam incorretamente o teste t de Student não modificado para comparar e escolher um modelo de aprendizagem de máquina.
  • Summar a estrutura para usar testes de hipóteses estatísticas em um projeto de aprendizagem de máquina apresentado no artigo de Thomas Dietterich de 1998.
  • Liste e liste três artigos de pesquisa que usam corretamente o teste de McNemar ou a validação cruzada 5×2 para comparação e escolha um modelo de aprendizagem de máquina.

Se você explorar alguma dessas extensões, eu adoraria saber.

Outra Leitura

Esta seção fornece mais recursos sobre o tópico se você estiver procurando ir mais fundo.

Papers

  • Testes Estatísticos Aproximados para Comparação de Algoritmos de Aprendizagem de Classificação Supervisionada, 1998.
  • Inferência para o Erro de Generalização, 2003.
  • Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms, 2004.
  • On estimating model accuracy with repeated cross-validation, 2012.
  • Comparações Estatísticas de Classificadores sobre Conjuntos de Dados Múltiplos, 2006.

Livros

  • Capítulo 5, Avaliando Hipóteses, Aprendizagem Mecânica, 1997.
  • Capítulo 5, Credibilidade: Evaluating What’s Been Learned, Data Mining: Practical Machine Learning Tools and Techniques, Terceira Edição, 2011.
  • An Introduction to the Bootstrap, 1994.

Artigos

  • Teste t do aluno na Wikipédia
  • Validação cruzada (estatística) na Wikipédia
  • Teste McNemar na Wikipédia
  • Teste wilcoxon assinado na Wikipédia

Discussões

  • Para seleção/comparação de modelos, que tipo de teste devo usar?
  • Como realizar testes de hipóteses para comparar diferentes classificadores
  • Metodologia do teste de soma de pontos deilcoxon
  • Como escolher entre teste t ou teste não-paramétrico, por exemplo Wilcoxon em pequenas amostras

Resumo

Neste tutorial, você descobriu a importância e o desafio de selecionar um teste estatístico de hipóteses para comparar modelos de aprendizagem de máquinas.

Especificamente, você aprendeu:

  • Testes estatísticos de hipóteses podem ajudar na comparação de modelos de aprendizagem de máquinas e na escolha de um modelo final.
  • A aplicação ingênua dos testes de hipóteses estatísticas pode levar a resultados enganosos.
  • O uso correto dos testes estatísticos é um desafio, e há algum consenso para o uso do teste McNemar ou da validação cruzada 5×2 com um teste t de Student pareado modificado.

Você tem alguma pergunta?
Ponha suas perguntas nos comentários abaixo e eu farei o meu melhor para responder.

Confirme-se com estatísticas para a aprendizagem de máquinas!

Métodos Estatísticos para Aprendizagem de Máquinas

Desenvolver um entendimento de trabalho de estatística

…escrevendo linhas de código em python

Descobre como no meu novo Ebook:
Métodos Estatísticos para Aprendizagem de Máquinas

Provê tutoriais de auto-estudo em tópicos como:
Testes de Hipóteses, Correlação, Estatísticas Não Paramétricas, Reamostragem, e muito mais…

Descobre como Transformar Dados em Conhecimento

>

Skip the Academics. Just Results.

Veja o que está dentro

Partilha de Tweet Share

Deixe uma resposta

O seu endereço de email não será publicado.