Definição matemática / algorítmica para super adaptação

18

Existe uma definição matemática ou algorítmica de sobreajuste?

As definições geralmente fornecidas são o gráfico 2-D clássico de pontos, com uma linha passando por cada ponto e a curva de perda de validação subindo subitamente.

Mas existe uma definição matematicamente rigorosa?

Brian Ko
fonte

Respostas:

22

Sim, existe uma definição (um pouco mais) rigorosa:

Dado um modelo com um conjunto de parâmetros, pode-se dizer que o modelo está ajustando demais os dados se, após um certo número de etapas de treinamento, o erro de treinamento continuar a diminuir enquanto o erro fora da amostra (teste) começar a aumentar.

insira a descrição da imagem aqui Neste exemplo, o erro fora da amostra (teste / validação) diminui primeiro em sincronia com o erro do trem, depois começa a aumentar por volta da época 90, ou seja, quando o overfitting é iniciado

Outra maneira de ver isso é em termos de viés e variação. O erro fora da amostra para um modelo pode ser decomposto em dois componentes:

  • Viés: erro devido ao valor esperado do modelo estimado ser diferente do valor esperado do modelo verdadeiro.
  • Variação: erro devido ao modelo ser sensível a pequenas flutuações no conjunto de dados.

X

Y=f(X)+ϵϵE(ϵ)=0 0Vumar(ϵ)=σϵ

e o modelo estimado é:

Y^=f^(X)

xt

Err(xt)=σϵ+BEuumas2+VumarEuumance

BEuumas2=E[f(xt)-f^(xt)]2VumarEuumance=E[f^(xt)-E[f^(xt)]]2

(Estritamente falando, essa decomposição se aplica no caso de regressão, mas uma decomposição semelhante funciona para qualquer função de perda, ou seja, também no caso de classificação).

Ambas as definições acima estão ligadas à complexidade do modelo (medida em termos do número de parâmetros no modelo): Quanto maior a complexidade do modelo, maior a probabilidade de ocorrer um sobreajuste.

Veja o capítulo 7 dos Elementos de Aprendizagem Estatística para um tratamento matemático rigoroso do tópico.

insira a descrição da imagem aqui Compensação de desvio e desvio e desvio (ou seja, super ajuste) aumentando com a complexidade do modelo. Retirado do capítulo 7 da ESL

Skander H. - Restabelecer Monica
fonte
1
É possível que os erros de treinamento e teste diminuam, mas o modelo ainda se ajusta demais? Na minha opinião, a divergência de treinamento e erro de teste demonstra super adequação, mas a super adequação não implica necessariamente a divergência. Por exemplo, um NN que aprende a distinguir criminosos de não criminosos reconhecendo o fundo branco das fotos da prisão é excessivo, mas os erros de treinamento e teste provavelmente não são divergentes.
yters 03/07
@yters nesse caso, acho que não haveria meio de medir o sobreajuste que ocorre. Tudo o que você tem acesso é treinar e testar dados, e se os dois conjuntos de dados exibem o mesmo recurso que o NN tira proveito (fundo branco), então esse é simplesmente um recurso válido que deve ser aproveitado e não necessariamente sobreajustado. Se você não quisesse esse recurso, teria que incluir variações nos seus conjuntos de dados.
Calvin Godfrey
1
@yters, seu exemplo é o que considero "superajuste social": matematicamente, o modelo não está superajuste, mas há algumas considerações sociais externas que levam o preditor a não ter um bom desempenho. Um exemplo mais interessante são algumas competições do Kaggle e vários conjuntos de dados abertos, como Boston Housing, MNIST, etc ... o modelo em si pode não ser adequado (em termos de viés, variação, etc ...), mas há muitos conhecimento sobre o problema na comunidade em geral (resultados de equipes e trabalhos de pesquisa anteriores, kernels compartilhados publicamente etc ...) que levam ao excesso de ajustes.
Skander H. - Restabelece Monica
1
@yters (continuação) é por isso que, em teoria, um conjunto de dados de validação separado (além do conjunto de dados de teste) deve permanecer em um "cofre" e não ser usado até a validação final.
Skander H. - Restabelece Monica
1
@CalvinGodfrey, aqui está um exemplo mais técnico. Digamos que eu tenha um conjunto de dados de classificação binária que seja dividido igualmente entre as duas classes e, em seguida, adicione ruído à classificação de uma distribuição Bernoulli bastante desequilibrada para que o conjunto de dados fique inclinado em direção a uma das classes. Dividi o conjunto de dados em um trem e teste e obtenho alta precisão em ambos, em parte devido à distribuição desequilibrada. No entanto, a precisão do modelo não é tão alta na classificação verdadeira do conjunto de dados porque o modelo aprendeu a distribuição distorcida de Bernoulli.
yters 03/07