Train vs Test Error Gap e sua relação com Overfitting: reconciliando conselhos conflitantes

13

Parece haver conselhos conflitantes por aí sobre como lidar com a comparação de erro de teste de trem versus teste, principalmente quando há uma lacuna entre os dois. Parece haver duas escolas de pensamento que, para mim, parecem conflitar. Estou procurando entender como conciliar os dois (ou entender o que estou perdendo aqui).

Pensamento # 1: Uma lacuna entre o desempenho do trem e do conjunto de testes por si só não indica ajuste excessivo

Primeiro, (também discutido aqui: como as comparações de erro de treinamento e teste podem ser indicativas de super ajuste) ? ), A idéia de que uma diferença entre o conjunto de treinamento e teste não pode indicar super ajuste. Isso concorda com minha experiência prática com, por exemplo, métodos de árvore de conjuntos, onde, mesmo após o ajuste de hiperparâmetro baseado na validação cruzada, a diferença entre erro de trem e teste pode permanecer um pouco grande. Mas (independentemente do tipo de modelo), desde que o erro de validação não volte, você estará bem. Pelo menos, esse é o pensamento.

Pensamento 2: Quando você vê uma lacuna entre o desempenho do trem e do teste: faça coisas que combatam o excesso de ajuste

No entanto, existem conselhos de fontes muito boas que sugerem que uma diferença entre erro de trem e teste é indicativa de sobreajuste. Aqui está um exemplo: A palestra "Porcas e parafusos da aprendizagem profunda", de Andrew Ng (uma palestra fantástica) https://www.youtube.com/watch?v=F1ka6a13S9I onde, por volta do horário 48:00, ele desenha um fluxograma que diz "se o erro do seu conjunto de trens é baixo e o erro do conjunto de trens é alto, você deve adicionar regularização, obter mais dados ou alterar a arquitetura do modelo" ... que são todas as ações que você pode executar para combater o super ajuste.

O que me leva a ... : Estou perdendo alguma coisa aqui? Essa é uma regra prática específica do modelo (geralmente os modelos mais simples parecem ter menos espaço entre o trem e o teste)? Ou existem simplesmente duas escolas de pensamento diferentes?

ednaMode
fonte

Respostas:

4

Eu não acho que este seja um conselho conflitante. O que realmente interessa é o bom desempenho fora da amostra, não a redução da diferença entre o treinamento e o desempenho do conjunto de testes. Se o desempenho do conjunto de teste é representativo do desempenho fora da amostra (ou seja, o conjunto de teste é grande o suficiente, não contaminado e é uma amostra representativa dos dados aos quais nosso modelo será aplicado), desde que obtenhamos um bom desempenho no conjunto de teste, não estamos adaptando demais, independentemente da diferença.

Freqüentemente, no entanto, se houver uma grande lacuna, isso pode indicar que poderíamos obter um melhor desempenho do conjunto de testes com mais regularização / introdução de mais preconceitos no modelo. Mas isso não significa que uma lacuna menor signifique um modelo melhor; é que, se temos uma pequena ou nenhuma lacuna entre o desempenho do treinamento e do conjunto de testes, sabemos que definitivamente não estamos adaptando demais; portanto, adicionar regularização / introduzir mais preconceitos ao modelo não ajudará.

rinspy
fonte
Ponto interessante. Resumir "nenhuma lacuna entre o trem e o teste" significa, definitivamente, sem ajuste excessivo, mas "alguma lacuna entre o trem e o teste" pode ou não significar ajuste demais. Se seguirmos essa lógica, o fluxograma na palestra de Andrew Ng parecerá um pouco enganador: não é tão slam dunk quanto o slide sugere, ou seja, se você tem uma lacuna, pode tentar regularizar ou obter mais dados, mas pode não ajudar. Você concordaria?
ednaMode
1
Pela minha experiência, sim, eu concordo.
Rinspy
"Resumir nenhuma lacuna entre o trem e o teste significa definitivamente que não há excesso de ajuste" pode não ser necessariamente o caso. Quando você tem uma quantidade infinita de dados, obtém um intervalo zero entre o trem e o teste, mesmo que o modelo se ajuste demais. Então, para que essa declaração seja válida, você precisa de mais algumas suposições.
LKS
@ LKS Não sei ao certo o que você quer dizer com sobreajuste aqui. O desempenho fora da amostra sempre será menor ou igual ao desempenho dentro da amostra, assumindo que a distribuição dos dados permaneça constante. Portanto, o gap zero é o nosso melhor cenário. Como pode haver sobreajuste com gap zero?
rinspy
@rinspy Se você definir sobreajuste como o intervalo numérico entre os dados de treinamento e teste, sua declaração estará correta. Mas eu gostaria de pensar mais sobre o que o modelo está fazendo. Por exemplo, temos uma função polinomial de grau 3 e o resultado incluirá um pequeno ruído gaussiano. Se tivermos amostras finitas e usarmos um polinômio de grau 5 para ajustar, há um grande desempenho entre e fora da amostra (previsão). Mas se pudermos desenhar amostras quase infinitas, um modelo que memorize puramente terá zero de entrada / saída de erro de amostra.
LKS