SVM, sobreajuste, maldição da dimensionalidade


37

Meu conjunto de dados é pequeno (120 amostras), no entanto, o número de recursos é grande varia de (1000 a 200.000). Embora eu esteja fazendo a seleção de recursos para escolher um subconjunto de recursos, ele ainda pode se ajustar demais.

Minha primeira pergunta é: como o SVM lida com o sobreajuste, se houver.

Em segundo lugar, à medida que estudo mais sobre o ajuste excessivo em caso de classificação, cheguei à conclusão de que mesmo conjuntos de dados com pequeno número de recursos podem se ajustar demais. Se não temos recursos correlacionados com o rótulo da classe, o ajuste excessivo ocorre de qualquer maneira. Então, agora estou me perguntando qual é o objetivo da classificação automática se não conseguirmos encontrar os recursos certos para um rótulo de classe. No caso de classificação de documentos, isso significaria a criação manual de um dicionário de palavras relacionadas aos rótulos, o que consome muito tempo. Eu acho que o que estou tentando dizer é que, sem escolher manualmente os recursos certos, é muito difícil criar um modelo generalizado?

Além disso, se os resultados experimentais não mostrarem que os resultados têm baixo / nenhum ajuste excessivo, isso se torna sem sentido. Existe uma maneira de medir isso?

Respostas:


41

Na prática, o motivo pelo qual os SVMs tendem a ser resistentes ao ajuste excessivo, mesmo nos casos em que o número de atributos é maior que o número de observações, é que ele usa regularização. A chave para evitar o ajuste excessivo está no ajuste cuidadoso do parâmetro de regularização, , e no caso de SVMs não lineares, na escolha cuidadosa do kernel e no ajuste dos parâmetros do kernel.C

O SVM é uma implementação aproximada de um limite para o erro de generalização, que depende da margem (essencialmente a distância do limite de decisão ao padrão mais próximo de cada classe), mas é independente da dimensionalidade do espaço de recurso (é por isso que usar o truque do kernel para mapear os dados em um espaço dimensional muito alto não é uma idéia tão ruim quanto possa parecer). Portanto, em princípio, os SVMs devem ser altamente resistentes a ajustes excessivos, mas na prática isso depende da escolha cuidadosa de e dos parâmetros do kernel. Infelizmente, o ajuste excessivo também pode ocorrer com bastante facilidade ao ajustar os hiper parâmetros, que é minha principal área de pesquisa, consulteC

GC Cawley e NLC Talbot, Prevenindo o ajuste excessivo na seleção de modelos via regularização bayesiana dos hiperparâmetros, Journal of Machine Learning Research, volume 8, páginas 841-861, abril de 2007. ( www )

e

GC Cawley e NLC Talbot, excesso de ajuste na seleção de modelos e viés de seleção subsequente na avaliação de desempenho, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, julho de 2010. ( www )

Ambos os trabalhos usam regressão de crista do núcleo, em vez do SVM, mas o mesmo problema surge com a mesma facilidade com os SVMs (também limites semelhantes se aplicam ao KRR, portanto não há muito o que escolher entre eles na prática). Então, de certa forma, os SVMs não resolvem realmente o problema de ajuste excessivo, eles apenas mudam o problema de ajuste de modelo para seleção de modelo.

Muitas vezes, é uma tentação tornar a vida um pouco mais fácil para o SVM, executando algum tipo de seleção de recurso primeiro. Isso geralmente piora a situação, pois, diferentemente do SVM, os algoritmos de seleção de recursos tendem a exibir mais ajustes à medida que o número de atributos aumenta. A menos que você queira saber quais são os atributos informativos, geralmente é melhor pular a etapa de seleção de recursos e usar a regularização para evitar o excesso de ajuste dos dados.

Em resumo, não há nenhum problema inerente ao uso de um SVM (ou outro modelo regularizado, como regressão de crista, LARS, Lasso, rede elástica etc.) em um problema com 120 observações e milhares de atributos, desde que os parâmetros de regularização sejam ajustados adequadamente .


Existem documentos mostrando métodos de seleção de recursos, como o ranking baseado em Ganho de Informação, são mais propensos a superajustar?
user13420

11
Não que eu saiba, o ponto era que o SVM tem alguns resultados teóricos que sugerem que eles são resistentes a ajustes excessivos devido ao número de atributos, mas os métodos de seleção de recursos nem sequer têm isso. FWIW, a monografia de Miller sobre "seleção de subconjuntos em regressão" aconselha o uso de métodos de regularização se o desempenho preditivo é tudo o que é necessário. Houve alguns desafios em aberto na seleção de recursos, que sugerem que a regularização tende a superar a seleção de recursos (consulte nipsfsc.ecs.soton.ac.uk e causality.inf.ethz.ch/challenge.php ).
Dikran Marsupial

Conforme declarado no primeiro parágrafo, os SVMs tendem a ser resistentes ao excesso de ajuste; é que ele usa regularização (parâmetro C) ; portanto, por padrão, svmesses parâmetros de regularização C ? E não tenho certeza de quais variáveis ​​controladas por este C , você quer dizer aquelas variáveis ​​de folga ?
abacate

10

Começarei com a segunda e a última pergunta.

O problema da generalização é obviamente importante, porque se os resultados do aprendizado de máquina não puderem ser generalizados, eles serão completamente inúteis.

Os métodos para garantir a generalização provêm das estatísticas. Normalmente, assumimos que os dados são gerados a partir de alguma distribuição de probabilidade que se origina na realidade. Por exemplo, se você é um homem nascido no ano de 2000, existe uma distribuição de probabilidade de qual é o seu peso / altura / cor dos olhos quando você atingir 10, o que resulta do pool genético disponível no ano de 2000, possíveis fatores ambientais etc. temos muitos dados, podemos dizer algo sobre essas distribuições subjacentes, por exemplo, que com alta probabilidade elas são gaussianas ou multinomiais. Se tivermos uma imagem precisa das distribuições e, em seguida, dada a altura, peso e cor dos olhos de uma criança de 10 anos em 2010, podemos obter uma boa aproximação da probabilidade da criança ser do sexo masculino. E se a probabilidade for próxima de 0 ou 1, podemos ter uma boa ideia do que realmente é o sexo das crianças.

Mais formalmente, geralmente tentamos dizer que, se o erro de treinamento for , com alta probabilidade ( ), o erro em alguns dados gerados a partir da mesma distribuição será menor que . Existem relações conhecidas entre o tamanho do conjunto de treinamento, epsilon e a probabilidade de erro de teste exceder . A abordagem que introduzi aqui é conhecida como Provavelmente Aproximadamente Correta, e é uma parte importante da teoria da aprendizagem computacional que lida com o problema de generalização de algoritmos de aprendizagem. Há também vários outros fatores que podem diminuir o épsilon e aumentar o delta nesses limites, ou seja. complexidade do espaço de hipóteses.δ k + ϵ k + ϵkδk+ϵk+ϵ

Agora de volta ao SVM. Se você não usa kernels ou usa mapeamentos em espaços dimensionais finitos, a chamada dimensão Vapnik-Chervonenkis, que é uma medida da complexidade do espaço de hipótese, é finita e, com isso e com exemplos de treinamento suficientes, você pode obtê-lo com alta probabilidade de o erro no conjunto de teste não ser muito maior que o erro no conjunto de treinamento. Se você usar kernels mapeados em espaços de recursos de dimensão infinita, a dimensão Vapnik-Chervonenkis também será infinita, e o pior é que as amostras de treinamento por si só não podem garantir uma boa generalização, independentemente do número delas. Felizmente, o tamanho da margem de um SVM acaba sendo um bom parâmetro para garantir a generalização. Com grande margem e conjunto de treinamento, você pode garantir que o erro de teste não será muito maior que o erro de treinamento também.


7

Há pelo menos duas fontes principais de sobreajuste que você pode querer considerar.

  1. Sobreajuste de um algoritmo que deduziu muito das amostras de treinamento disponíveis. É melhor evitar isso empiricamente usando uma medida da capacidade de generalização do modelo. A validação cruzada é um desses métodos populares.

  2. Sobreajuste porque a distribuição subjacente é subamostrada. Geralmente, pouco se pode fazer sobre isso, a menos que você possa coletar mais dados ou adicionar conhecimento de domínio sobre o problema ao seu modelo.

Com 120 amostras e um grande número de recursos, é muito provável que você caia em 2 e também pode ser propenso a 1.

Você pode fazer algo sobre 1 observando cuidadosamente o efeito da complexidade do modelo nos erros de teste e treinamento.


Mas, como detectamos se estamos ajustando demais? Se os modelos se saem bem na validação cruzada, eles estão fazendo isso porque é realmente bom ou por causa de sobreajuste devido a 1 ou 2? Também com milhares de recursos, analisar cada recurso manualmente seria complicado. Se não for possível identificar o ajuste excessivo, como podemos confiar em qualquer resultado de validação cruzada?
user13420

11
Sem dados adicionais, é muito difícil saber se você está se adaptando demais a uma população com pouca amostra. Você pode dividir os dados em três conjuntos usando um conjunto de validação para ajustar o modelo e, em seguida, um conjunto de testes separado para testá-lo. Outra abordagem é modificar a complexidade do modelo e ver como a precisão e o conjunto de testes variam. Um aumento no erro do conjunto de testes indicará algum grau de adaptação do modelo a partir dos dados.
image_doctor

A aplicação de tentativas repetidas de 50/50 de resistência dará a você uma ideia se os conjuntos de treinamento e teste estão equilibrados. Eles provavelmente não serão. Alguns modelos, como o KNN, alcançam uma precisão perfeita no conjunto de treinamento, por isso são inerentemente superalimentados em algum sentido. Mas eles ainda podem atingir um desempenho aceitável no conjunto de testes. Assim como acontece com muito aprendizado de máquina, no final tudo depende das especificidades precisas dos dados.
image_doctor

@image_doctor Você pode falar sobre "modificar a complexidade do modelo"?
Keith Hughitt 23/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.