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 .
svm
esses 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 ?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.
fonte
Há pelo menos duas fontes principais de sobreajuste que você pode querer considerar.
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.
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.
fonte