Média (escores) vs Escore (concatenação) na validação cruzada


15

TLDR:

Meu conjunto de dados é bem pequeno (120) amostras. Ao fazer a validação cruzada de 10 vezes, devo:

  1. Colete as saídas de cada dobra de teste, concatene-as em um vetor e calcule o erro nesse vetor completo de previsões (120 amostras)?

  2. Ou devo vez calcular o erro nas saídas que recebo em cada dobra (com 12 amostras por vezes) e, em seguida, obter a minha estimativa de erro final como a média das estimativas de erro de 10 vezes?

Existem trabalhos científicos que discutem as diferenças entre essas técnicas?


Antecedentes: Relação Potencial com Pontuações Macro / Micro na classificação de vários rótulos:

Eu acho que essa pergunta pode estar relacionada à diferença entre médias micro e macro que são frequentemente usadas em uma tarefa de classificação de vários rótulos (por exemplo, cinco rótulos).

Na configuração de vários rótulos, as pontuações micro médias são calculadas criando uma tabela de contingência agregada de verdadeiro positivo, falso positivo, verdadeiro negativo, falso negativo para todas as 5 previsões do classificador em 120 amostras. Essa tabela de contingência é então usada para calcular a micro precisão, micro recall e micro f-measure. Portanto, quando temos 120 amostras e cinco classificadores, as micro medidas são computadas em 600 previsões (120 amostras * 5 etiquetas).

Ao usar a variante Macro , calcula-se as medidas (precisão, rechamada, etc.) independentemente em cada etiqueta e, finalmente, essas medidas são calculadas como média.

A idéia por trás da diferença entre estimativas micro e macro pode ser estendida ao que pode ser feito em uma configuração de dobra K em um problema de classificação binária. Para 10 vezes, podemos calcular a média acima de 10 valores ( medida macro ) ou concatenar os 10 experimentos e calcular as micro medidas.

Plano de fundo - exemplo expandido:

O exemplo a seguir ilustra a pergunta. Digamos que temos 12 amostras de teste e 10 dobras:

  • Dobra 1 : TP = 4, FP = 0, TN = 8 Precisão = 1,0
  • Dobra 2 : TP = 4, FP = 0, TN = 8 Precisão = 1,0
  • Dobra 3 : TP = 4, FP = 0, TN = 8 Precisão = 1,0
  • Dobra 4 : TP = 0, FP = 12, Precisão = 0
  • Fold 5 .. dobra 10 : Todos têm o mesmo TP = 0, PF = 12 e precisão = 0

onde usei a seguinte notação:

TP = Nº de verdadeiros positivos, FP = # Falso positivo, TN = Nº de verdadeiros negativos

Os resultados são:

  • Precisão média em 10 dobras = 3/10 = 0,3
  • Precisão na concatenação das previsões das 10 dobras = TP / TP + FP = 12/12 + 84 = 0,125

Observe que os valores 0,3 e 0,125 são muito diferentes !


O CV não é realmente uma ótima medida para prever o desempenho futuro. A variação é muito pequena. Melhor usar o bootstrap para validar seu modelo.
user765195

2
@ user765195: você pode fazer um backup da sua reivindicação com algumas citações?
Zach

Estive pesquisando, mas não encontrei nenhuma literatura sobre o método de CV agregado. Parece ser uma maneira mais apropriada de calcular a medida, pois ela tem menos variação.
user13420

11
@Zach, há alguma discussão aqui, no livro de Harrell: tinyurl.com/92fsmuv (veja o último parágrafo na página 93 e o primeiro parágrafo na página 94.) Vou tentar lembrar outras referências que são mais explícitas.
user765195

11
k

Respostas:


3

A diferença descrita é falsa do IMHO.

Você o observará apenas se a distribuição de casos verdadeiramente positivos (ou seja, o método de referência diz que é um caso positivo) é muito desigual nas dobras (como no exemplo) e no número de casos de teste relevantes (o denominador da medida de desempenho estamos falando, aqui o verdadeiramente positivo) não é levado em consideração ao calcular a média das dobras.

412=1 13


edit: a pergunta original também foi perguntada sobre a iteração / repetição da validação:

k

  • Quanto as previsões mudam se os dados do treinamento são perturbados pela troca de algumas amostras de treinamento?
  • Ou seja, quanto as previsões de diferentes modelos "substitutos" variam para a mesma amostra de teste?

Você estava solicitando artigos científicos :

Subestimando a variação Por fim, seu conjunto de dados tem um tamanho de amostra finito (n = 120), independentemente de quantas iterações de inicialização ou validação cruzada você faz.

  • Você tem (pelo menos) 2 fontes de variação nos resultados da validação de reamostragem (validação cruzada e fora do bootstrap):

    • variação devido ao número finito de amostra (teste)
    • variação devido à instabilidade das previsões dos modelos substitutos
  • Se seus modelos são estáveis, então

    • k
    • No entanto, a estimativa de desempenho ainda está sujeita a variações devido ao número finito de amostras de teste.
    • Se sua estrutura de dados for "simples" (ou seja, um único vetor de medição para cada caso estatisticamente independente), você pode assumir que os resultados do teste são os resultados de um processo de Bernoulli (lançamento de moeda) e calcular a variação do conjunto de testes finitos.
  • nk


Além disso, estou classificando vários rótulos com quatro classificadores. Então, quero examinar as medidas F de micro e macro na tarefa 4. Presumo que a validação cruzada "combinada" seria necessária nesse caso? Também não tenho certeza se o out-of-bootstrap é o mesmo que o método CV "combinado" que estou mencionando acima. Houve também alguma discussão em stats.stackexchange.com/questions/4868/…
user13420 20/08/2012

@ user13420: nem tenho certeza do que você quer dizer com CV combinado ... Aqui está uma resposta em que escrevi o que a validação cruzada e de inicialização significa para mim: stats.stackexchange.com/a/26548/4598
cbeleites suporta Monica

@ user13420: A terminologia é muito diferente em diferentes campos. Você pode atualizar sua resposta com informações sobre o que são as medidas F de micro e macro? No entanto, a validação cruzada é uma técnica muito geral: é um esquema para calcular os resultados dos testes de modelo. Você pode calcular qualquer medida de desempenho que precise como entrada, o valor de referência para cada caso e o valor previsto para cada caso.
Cbeleites suporta Monica

CV combinado significa que você coleta a previsão de cada item e calcula a medida após todos os 10 itens. Então, se eu medir a precisão, recordação para uma tarefa de classificação, ele teria um único precisão, recordação, em oposição a 10 valores e uma média (que é o caso em CV usual)
user13420

2
Obrigado cbeleites - adicionei esses esclarecimentos porque achei um pouco confuso o texto da pergunta original. Espero que minhas edições tenham sido melhores - tentei destacar melhor o dilema -, mas informe-me o contrário. Tudo isso dito, quando você mencionou que acha a diferença falsa - eu gostaria de observar que @ user13420 obtém dois resultados substancialmente diferentes na parte inferior de seu OP ao seguir as abordagens 1 ou 2 . Eu me vi diante desse dilema. Acredito que a segunda abordagem seja mais comum, mas seria ótimo ter sua opinião.
21413 Josh

1

Você deve fazer a pontuação (concatenação). É um equívoco comum no campo que a média (pontuações) é a melhor maneira. Ele pode introduzir mais preconceitos em sua estimativa, especialmente em classes raras, como no seu caso. Aqui está um documento que confirma isso:

http://www.kdd.org/exploration_files/v12-1-p49-forman-sigkdd.pdf

No artigo, eles usam "Favg" no lugar da sua "média (pontuações)" e "Ftp, fp" no lugar da sua "pontuação (concatenação)"

Exemplo de brinquedo:

Imagine que você tem uma validação cruzada de 10 vezes e uma classe que aparece 10 vezes e é atribuída para que apareça uma vez em cada dobra. Além disso, a classe é sempre prevista corretamente, mas há um único falso positivo nos dados. A dobra de teste que contém o falso positivo terá precisão de 50%, enquanto todas as outras dobras terão 100%. Então, média (pontuação) = 95%. Por outro lado, a pontuação (concatenação) é 10/11, cerca de 91%.

Se assumirmos que a população verdadeira está bem representada pelos dados e que os 10 classificadores de validação cruzada representam o classificador final, a precisão do mundo real seria de 91%, e a estimativa média (pontuações) de 95% é muito tendenciosa .

Na prática, você não desejará fazer essas suposições. Em vez disso, você pode usar as estatísticas de distribuição para estimar a confiança, permutando aleatoriamente os dados e recalculando a pontuação (concatenação) várias vezes, bem como o bootstrap.


Este é um ótimo artigo! Penso que o resultado na linguagem da pergunta original (não usada no artigo) é que, ao calcular a pontuação F, use uma abordagem de "micro-média"; especificamente, some o TP, TN, FP, FN de todas as dobras, para obter uma única matriz de confusão e depois calcule a pontuação F (ou outras métricas desejadas).
travelingbones
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.