É 'justo' colocar uma semente em uma regressão aleatória da floresta para produzir a maior precisão?

10

Eu tenho uma regressão aleatória da floresta criada usando skl e observo que produzo resultados diferentes com base na definição da semente aleatória com valores diferentes.

Se eu usar o LOOCV para estabelecer qual semente funciona melhor, esse é um método válido?

user2723494
fonte
1
As pessoas fazem isso em competições. Embora para a academia isso seria difícil de justificar.
Firebug
2
Pense em um cenário extremo: jogamos um jogo: jogamos dois dados e nós que obtemos a soma mais alta ganha. Mas, na verdade, tenho permissão para rolar os dados duas vezes. Você é justo? Deixe-me salientar que definir as sementes aleatórias é parte integrante da pesquisa reproduzível e sempre deve ser feito. Isso não significa, porém, que devemos tentar muitas sementes diferentes até encontrarmos uma "semente favorável".
precisa saber é o seguinte
@ usεr11852 o que você acha do meu comentário sobre a resposta atualmente aceita? Não tenho certeza se isso é diferente de reinicializações aleatórias, como com kmeans. Ninguém pensa que devemos ser forçados a aceitar a primeira execução dele, a ponto de as reinicializações aleatórias serem incorporadas à função padrão em R. A menos que você considere o modelo rodando kmeans 100 vezes ao invés do modelo sendo apenas o melhor clustering único
jld 19/04/18
Não - parece a própria definição de sobreajuste na aleatoriedade real.
Mark White
@ Chaconne: Apoio totalmente o seu ponto de vista sobre a necessidade de validação adequada. Dito isso, acho que há uma diferença central nos dois casos de uso: no caso dos meios-k (ou otimização estocástica em geral), procuramos um "conjunto ótimo" de parâmetros, enquanto no CV cuidamos de um "conjunto representativo". " Nos primeiros casos, nos esforçamos para mostrar "quão bons podemos ser", enquanto, no caso posterior, "quão bons seremos".
precisa saber é o seguinte

Respostas:

10

A resposta é não .

Seu modelo fornece um resultado diferente para cada semente que você usa. Isso é resultado da natureza não determinística do modelo. Escolher uma semente específica que maximize o desempenho no conjunto de validação significa que você escolheu o "arranjo" que melhor se ajusta a esse conjunto. No entanto, isso não garante que o modelo com essa semente tenha um desempenho melhor em um conjunto de testes separado . Isso significa simplesmente que você ajustou demais o modelo no conjunto de validação .

Esse efeito é o motivo pelo qual você vê muitas pessoas com uma classificação alta em competições (por exemplo, kaggle) no conjunto de testes público, caindo muito no conjunto de testes oculto. Essa abordagem não é considerada de forma alguma a abordagem correta.

Djib2011
fonte
4
Sim, é por isso que a validação cruzada é uma técnica tão forte e também porque as pessoas usam uma validação e um conjunto de testes (um para basear a seleção do modelo e outro para obter uma avaliação imparcial).
precisa saber é o seguinte
1
Não estou convencido. Com a otimização não-convexa, é rotina fazer reinicializações aleatórias, porque sementes diferentes podem levar a estimativas de parâmetros de modelo muito diferentes e, por azar, você pode obter uma convergência ruim. Por exemplo, com kmeans isso é bem conhecido. Com a floresta aleatória por acaso, talvez o seu modelo acabe fazendo muitas divisões abaixo da média. Eu não acho que seja apropriado reconhecer que execuções diferentes levam a estimativas de parâmetros de modelo diferentes e algumas podem realmente generalizar melhor do que outras. Tudo isso está condicionado à avaliação adequada do desempenho fora da amostra, é claro.
jld
5
@ user2723494 É válido para hiperparâmetros na esperança de aumentar o desempenho sem o custo da generalização. No entanto, o ajuste fino contínuo dos parâmetros no conjunto de validação produziria o mesmo efeito que eu descrevi (ajuste excessivo no conjunto de validação). Como a propagação aleatória é, por natureza, estocástica, é muito mais provável que você melhore o desempenho devido ao sobreajuste do que por ter realmente produzido um modelo melhor.
precisa saber é o seguinte
4
@ Chaconne eu não disse que era impossível. No entanto, por este procedimento é muito mais provável para selecionar uma semente que causa overfitting do que aquela que realmente produz um modelo melhor ...
Djib2011
4
Para ser sincero, nunca considerei semear algoritmos ML (e privá-los de sua natureza estocástica) uma boa prática. O OP criou uma nova pergunta fazendo exatamente isso. Eu estaria interessado em ler sua resposta!
precisa saber é o seguinte