Uma regressão / classificador linear pode ser superestimada se usada sem os devidos cuidados.
Aqui está um pequeno exemplo. Vamos criar dois vetores, o primeiro é simplesmente lançamentos aleatórios de moedas:5000
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
O segundo vetor é de observações, cada uma atribuída aleatoriamente a uma das classes aleatórias:5000500
N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
Não deve haver relação entre nossos flips y
e nossas classes aleatórias rand.class
, elas foram determinadas de forma completamente independente.
No entanto, se tentarmos prever o giro aleatório com a classe aleatória usando regressão logística (um classificador linear), certamente pensará que existe um relacionamento
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
O valor real de cada um desses coeficientes é zero. Mas como você pode ver, temos uma grande expansão. Esse classificador linear é com certeza super adaptado.
Nota: Os extremos deste histograma, onde os coeficientes foram para e , são casos em que uma classe não teve observações ou valores com . Os valores reais estimados para esses coeficientes são mais e menos infinito, mas o algoritmo de regressão logística é codificado com um limite de .- 1515y == 1
y == 0
15
"overfitting" não parece ser formalmente definido. Por que é que?
O sobreajuste pode ser melhor compreendido no contexto de uma classe de modelos que possui algum parâmetro de complexidade. Nesse caso, pode-se dizer que um modelo está super ajustado ao diminuir ligeiramente a complexidade, resultando em melhor desempenho esperado da amostra.
Seria muito difícil definir com precisão o conceito de maneira independente do modelo. Um modelo único é adequado, você precisa de algo para compará-lo para que fique em excesso ou em falta. No meu exemplo acima, essa comparação foi com a verdade, mas você geralmente não sabe a verdade, daí o modelo!
Uma medida de distância entre o treinamento e o desempenho do conjunto de testes não permitiria essa formalização?
Existe um conceito assim, chamado otimismo. É definido por:
ω = Eteste- Etrem
onde significa erro, e cada termo é calculado sobre todos os conjuntos de testes e treinamento possíveis para o seu algoritmo de aprendizado.E
No entanto, não chega à essência do overfitting, porque o desempenho em um conjunto de testes pode ser um pouco pior que o trem, mesmo que um modelo de maior complexidade diminua os dois .