Sobreajuste com classificadores lineares

10

Hoje, nosso professor declarou em sala de aula que "não é possível adaptar demais aos classificadores lineares". Considero que isso está errado, uma vez que até os classificadores lineares podem ser sensíveis a outliers no conjunto de treinamento - por exemplo, uma margem rígida Support Vector Machine: Um único ponto de dados barulhento pode alterar qual hiperplano será usado para separar os conjuntos de dados. Ou eu estou errado? Obviamente, a linearidade provavelmente evitará o excesso de ajuste devido à menor complexidade do modelo, ainda não vejo por que o excesso de ajuste deve ser impossível. Um ponto adicional é que, quando tentei pensar sobre esse problema, percebi que o "ajuste excessivo" não parece formalmente definido. Por que é que? Uma medida de distância entre o treinamento e o desempenho do conjunto de testes não permitiria essa formalização? obrigado

Pugl
fonte
4
Por que você diz classificador linear? A maioria dos modelos lineares é para previsão, não para classificação. E você está certo - os modelos lineares podem ser muito propensos a sobreajuste. Não tanto quanto os métodos de aprendizado de máquina, mas o excesso de ajustes pode ser um problema.
Frank Harrell
5
É muito fácil ajustar demais o classificador linear. Apenas ajuste o modelo a algum conjunto de dados (barulhento, do mundo real) e não use nenhuma regularização.
Vladislavs Dovgalecs
2
Cuidado com a classificação - geralmente não há necessidade de definir seus objetivos tão baixos.
31715 Frank
2
@FrankHarrell ... e por quê?
Pugl
11
Sim, se era originalmente binário. Se era originalmente contínuo, a classificação é ainda mais problemática. YY
Frank Harrell

Respostas:

12

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 ye 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)

insira a descrição da imagem aqui

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 == 1y == 015

"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:

ω=EtestEtrain

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 .

Matthew Drury
fonte
uau, que boa resposta, muito obrigado. uma pergunta: os SVMs lineares são menos propensos a sobreajuste do que, por exemplo, log. regressão que você mencionou (devido às diferentes maneiras de otimizar para o limite de decisão linear)?
Pugl
11
Devo admitir que não sou especialista em SVMs e não tenho experiência prática em seu uso. Eu realmente não quero arriscar uma resposta e correr o risco de estar muito errado. Se você pode formulá-lo com precisão, provavelmente vale a pena fazer uma pergunta.
Matthew Drury
Os SVMs são regularizados e, portanto, menos propensos a super ajuste. Para perceber que você só precisa observar a função que está minimizando: inclui a norma l1 ou a norma l2 dos pesos, diminuindo-os na otimização e, portanto, preferindo modelos "simples" a modelos "complexos". O parâmetro que controla esse é o parâmetro C hyper. No caso limitador (C = infinito), o SVM se encaixa "perfeitamente" no conjunto de treinamento e, portanto, provavelmente está super ajustado (observe que eu disse provavelmente, você precisa de um conjunto de teste para ter certeza!). Observe também que usei muitas aspas, mas isso pode ser definido corretamente.
skd
2

Nos anos 70, experimentos com algoritmos de reconhecimento de padrões em grandes conjuntos de dados revelaram que a adição de recursos extras aumentou em alguns casos as taxas de erro do conjunto de testes. Isso é contra-intuitivo, porque seria de esperar que a adição de um recurso extra aumente sempre o desempenho do classificador ou, caso o recurso adicionado seja 'ruído branco', sua adição não influencia em nada o desempenho do classificador. O efeito de adicionar ainda mais recursos extras a um classificador, eventualmente levando a uma diminuição no desempenho do conjunto de testes, ficou conhecido como fenômeno de pico [1].

O pico dos recursos é causado pela generalização excessiva durante o aprendizado. Os recursos extras causam a inclusão de tantos parâmetros adicionais que o classificador começa a superestimar os dados. Portanto, o ponto de pico é passado.

Em geral, enfrentamos uma troca de viés e variação ao treinar classificadores. Quanto mais variáveis ​​de recurso usarmos, melhor o mecanismo classificador subjacente ( desconhecido ) possivelmente será modelado por nosso classificador. Portanto, o desvio sistemático entre o modelo ajustado e a 'verdade' diminuirá, ou seja, resultará em um viés menor. Por outro lado, aumentar o espaço de recursos do classificador implica necessariamente a adição de parâmetros (aqueles que se encaixam nos recursos adicionados). Assim, a variação do classificador ajustado também aumenta.

Portanto, o classificador que excede o ponto de pico é apenas uma realização estocástica de um problema de classificação de alta dimensão, e um novo ajuste resultará em um vetor de parâmetro altamente diferente. Esse fato reflete o aumento da variância.

[1 GV Trunk, "Um problema de dimensionalidade: um exemplo simples", em IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-1, n. 3, pp. 306-307, julho de 1979]

Match Maker EE
fonte
1

Eu acho que o ajuste excessivo se refere à complexidade do modelo e não à capacidade de generalização. Entendo a citação "um classificador linear não pode ser sobrescrito", pois sua complexidade é pequena e não há outro classificador mais simples que ofereça um melhor desempenho.

O exemplo está vinculado à capacidade de generalização de classificadores lineares (e complexos). Mesmo nesta segunda parte, os classificadores lineares geralmente fornecem menos variação do que os complexos, portanto, o valor de "super adaptação" dos classificadores lineares, seguindo esse conceito, também é menor (embora o risco empírico deles possa ser tão grande). atb

pepe Catro
fonte
0

Como o @ match-maker-ee disse, os classificadores lineares podem se ajustar demais, dependendo dos recursos de entrada.

O seguinte modelo f é linear nos parâmetros de um , b e c , mas pode ser equipado com uma curva quadrática no espaço de características de x :

f(x)=ax2+bx+c

Os SVMs também podem se ajustar demais, por exemplo, quando usam o truque do kernel, apesar de serem basicamente um modelo linear em um espaço de recurso aumentado.

sem graça
fonte