Por que transformar os dados em um espaço de recurso de alta dimensão no qual as classes são linearmente separáveis ​​leva ao sobreajuste?

10

Li no meu livro (classificação estatística de padrões por Webb e Wiley) na seção sobre SVMs e dados linearmente não separáveis:

Em muitos problemas práticos do mundo real, não haverá limite linear que separa as classes e o problema de procurar um hiperplano de separação ideal não tem sentido. Mesmo se usássemos vetores de recursos sofisticados, , para transformar os dados em um espaço de recursos de alta dimensão no qual as classes são linearmente separáveis, isso levaria a um excesso de ajuste dos dados e, portanto, à fraca capacidade de generalização.Φ(x)

Por que transformar os dados em um espaço de recursos de alta dimensão, no qual as classes são linearmente separáveis, leva ao excesso de ajuste e à fraca capacidade de generalização?

Gigili
fonte

Respostas:

8

O @ffriend tem um bom post sobre isso, mas de um modo geral, se você se transformar em um espaço de alta dimensão dimensional e treinar a partir daí, o algoritmo de aprendizado será 'forçado' a levar em conta os recursos de espaço mais alto, mesmo que eles não tenham nada a ver com os dados originais e não oferece qualidades preditivas.

Isso significa que você não generalizará adequadamente uma regra de aprendizado ao treinar.

Tome um exemplo intuitivo: suponha que você queira prever o peso a partir da altura. Você tem todos esses dados, correspondentes aos pesos e alturas das pessoas. Digamos que, de maneira geral, eles sigam uma relação linear. Ou seja, você pode descrever o peso (W) e a altura (H) como:

W=mHb

mb

Digamos que você seja um biólogo experiente e que saiba que o relacionamento é linear. Seus dados parecem um gráfico de dispersão tendendo para cima. Se você mantiver os dados no espaço bidimensional, ajustará uma linha através dele. Pode não atingir todos os pontos, mas tudo bem - você sabe que o relacionamento é linear e, de qualquer maneira, deseja uma boa aproximação.

HH2H3H4H5H2+H7

ci

W=c1H+c2H2+c3H3+c4H4+c5H5+c6H2+H7

H2+H7

É por isso que, se você transformar os dados em dimensões de ordem superior às cegas, corre um risco muito grande de superajustar e não generalizar.

Spacey
fonte
6

Digamos que estamos tentando encontrar uma função que se aproxime de um conjunto de pontos 2D na planície usando regressão linear (que é basicamente o que o SVM faz). Em 3 imagens abaixo, cruzes vermelhas são observações (dados de treinamento) e 3 linhas azuis representam equações com diferentes graus de polinômio usados ​​para regressão.

insira a descrição da imagem aqui

A primeira imagem é gerada pela equação linear. Como você pode ver, ele reflete pontos bastante mal. Isso é chamado de falta de ajuste , porque atribuímos ao algoritmo de aprendizado muito pouco "grau de liberdade" (polinômio de grau muito pequeno). A segunda imagem é muito melhor - usamos o polinômio de segundo grau e parece muito bom. No entanto, se aumentarmos ainda mais o "grau de liberdade", obtemos a terceira imagem. A linha azul passa pelas cruzes, mas você acredita que essa linha realmente descreve dependência? Acho que não. Sim, no erro de aprendizado do conjunto de treinamento (a distância entre cruzamentos e a linha) é muito pequena, mas se adicionarmos mais uma observação (digamos, a partir de dados reais), provavelmente o erro será muito maior do que se usássemos a equação do segundo imagem. Esse efeito é chamado de sobreajustexxx2x3. Em resumo, você divide seus dados em, digamos, 10 partes, leva 9 deles para treinamento e 1 para validação. Se o erro no conjunto de validação for muito maior do que no conjunto de trens, você terá um excesso de ajuste. A maioria dos algoritmos de aprendizado de máquina usa alguns parâmetros (por exemplo, parâmetros de kernels no SVM) que permitem superar o super ajuste. Além disso, uma palavra-chave popular aqui é regularização - modificação de algoritmo que afeta diretamente o processo de otimização, literalmente dizendo que "não segue os dados de treinamento muito de perto".

BTW, não tenho certeza de que o DSP é o site certo para esse tipo de perguntas, provavelmente você também estará interessado em visitar o CrossValidated .

amiga
fonte
Isso foi roubado emprestado das palestras em vídeo de Andrew Ng sobre Machine Learning. A menos que seja você, Dr. Ng. Nesse caso, você está procurando um aluno de doutorado para o seu laboratório? (As palestras podem ser encontradas no coursera.com para aqueles de vocês que estão interessados)
CYBERMEN
@ CyberMen: foi roubado do images.google.com :) Mas sim, a notação é muito semelhante à de Ng. Definitivamente, eu sugeriria seu curso (e outros documentos) para introdução ao aprendizado de máquina.
ffriend
Acho que o DSP é o lugar certo para esse tipo de pergunta, entre outros sites da SE, pelo menos.
Gigili 13/11
2

Você leu mais?

No final da seção 6.3.10:

"No entanto, geralmente existem parâmetros do kernel que devem ser definidos e uma má escolha pode levar a uma generalização ruim. A escolha do melhor kernel para um determinado problema não é resolvida e kernels especiais foram derivados para problemas específicos, por exemplo, classificação de documentos "

o que nos leva à seção 6.3.3:

" Os núcleos aceitáveis devem ser expressos como um produto interno em um espaço de recurso, o que significa que eles devem satisfazer a condição da Mercer"

Por sua própria área bastante difícil, você pode ter grandes dados em que partes diferentes devem aplicar parâmetros diferentes, como suavização, mas não sabem exatamente quando. Portanto, é difícil generalizar tal coisa.

sigrlami
fonte
Estou lendo "4.2.5 Support vector machines", como eu disse, não sei sobre o que a seção 6 você está falando. Como o parágrafo após o que mencionei na pergunta não tem nada a ver, achei melhor perguntar aqui.
Gigili 11/11
Desculpe, eu misturei isso com o Statistical Pattern Recognition também de Webb, que eu estou procurando agora e que têm os mesmos capítulos.
sigrlami