Alguma “regra de ouro” no número de recursos versus número de instâncias? (pequenos conjuntos de dados)

17

Pergunto-me, se há alguma heurística no número de características versus número de observações. Obviamente, se um número de recursos for igual ao número de observações, o modelo será super ajustado. Usando métodos esparsos (LASSO, rede elástica), podemos remover vários recursos para reduzir o modelo.

Minha pergunta é (teoricamente): antes de usarmos métricas para avaliar a seleção do modelo, existem observações empíricas que relacionam o número ideal de recursos ao número de observações?

Por exemplo: para um problema de classificação binária com 20 instâncias em cada classe, existe algum limite superior no número de recursos a serem usados?

Arnold Klein
fonte

Respostas:

13

Vários artigos opinaram que

somente em casos raros, há uma distribuição conhecida do erro em função do número de recursos e do tamanho da amostra.

A superfície de erro para um determinado conjunto de instâncias e recursos é uma função da correlação (ou falta de) entre os recursos.

Este artigo sugere o seguinte:

  • Para recursos não correlacionados, o tamanho ideal do recurso é (onde é o tamanho da amostra)NN-1N
  • À medida que a correlação de recursos aumenta, e o tamanho ideal do recurso se torna proporcional a para recursos altamente correlacionados.N

Outra abordagem (empírica) que pode ser adotada é desenhar as curvas de aprendizado para diferentes tamanhos de amostra do mesmo conjunto de dados e usá-lo para prever o desempenho do classificador em diferentes tamanhos de amostra. Aqui está o link para o artigo .

shark8me
fonte
2
Acho essa resposta um tanto enganadora, pois falta uma suposição crucial do artigo de Hua: Os recursos de Hua et al. As considerações no artigo vinculado são todas informativas, o que não é o que você pode esperar ter na prática. IMHO, isso deve ser claramente indicado, pois o tipo mais comum de "recursos" não correlacionados da IMHO são canais de medição não informativos.
Cbeleites suporta Monica
Wrt. as curvas de aprendizado: o OP provavelmente não poderá usá-los com 2 × 20 casos, pois eles não podem ser medidos com uma precisão útil em tão poucos casos. Hua menciona isso brevemente, e discutimos essa dificuldade com mais detalhes no artigo que vinculei na minha resposta abaixo.
Cbeleites suporta Monica
8

da minha própria experiência: em um caso, trabalhei com banco de dados real muito pequeno (300 imagens) com muitas classes, grave problema de desequilíbrio de dados e acabei usando 9 recursos: SIFT, HOG, contexto de forma, SSIM, GM e 4 recursos baseados em DNN. Em outro caso, trabalhei com um banco de dados muito grande (> 1 milhão de imagens) e acabei usando apenas o recurso HOG. Eu acho que não há relação direta entre o número de instâncias e o número de recursos necessários para obter alta precisão. MAS: o número de classes, a semelhança entre as classes e a variação dentro da mesma classe (esses três parâmetros) podem afetar o número de recursos. ao ter um banco de dados maior com muitas classes e grande semelhança entre classes e grande variação na mesma classe, você precisará de mais recursos para obter alta precisão. LEMBRAR:

Bashar Haddad
fonte
@Bashar Haddad: Corrija-me se eu estiver errado (como eu sou novo na visão computacional e no ML), o recurso HOG não é realmente um vetor de alta dimensão (no meu caso, eu estava obtendo recursos HOG dimensionais em 1764). Então, quando você diz 9 recursos e um deles é HOG, você não está realmente obtendo um espaço de recursos de alta dimensão apenas para o HOG?
Mathmath
1
Na literatura, eles usam a palavra recurso para indicar o tipo de recurso ou o índice de dimensão. Então, quando digo que estou usando 6 recursos, isso significa que estou usando 6 tipos de recursos, cada um deles é um vetor (1 x D). se eu estou falando sobre o tipo de recurso Hog, cada dimensão pode ser um recurso.
Bashar Haddad
2

Depende ... mas é claro que essa resposta não leva a lugar algum.

Ele é uma regra prática para a complexidade do modelo: Aprendendo com dados - dimensão VC

"Muito aproximadamente" você precisa de 10 pontos de dados para cada parâmetro do modelo. E o número de parâmetros do modelo pode ser semelhante ao número de recursos.

Gerenuk
fonte
2

Um pouco atrasado para a festa, mas aqui estão algumas heurísticas.

problema de classificação binária com 20 instâncias em cada classe, existe algum limite superior no número de recursos a serem usados?

  • Para o treinamento de classificadores lineares, recomenda-se 3 a 5 casos independentes por classe e recurso. Esse limite fornece modelos confiáveis ​​e estáveis , não garante um bom modelo (isso não é possível: você pode ter dados não informativos onde nenhum modelo pode obter um bom desempenho de generalização)

  • No entanto, para tamanhos de amostra tão pequenos quanto o seu cenário, a verificação (validação) em vez do treinamento é o gargalo, e a verificação depende do número absoluto de casos de teste, e não de casos relacionados à complexidade do modelo: como regra geral, você precisa de 100 testes casos no denominador para estimar uma proporção com um intervalo de confiança que não seja superior a 10% em pontos.

    Infelizmente, isso também significa que você basicamente não pode obter a curva de aprendizado empírico para a sua aplicação: não pode mensurá-la com precisão suficiente e, na prática, de qualquer maneira, teria enormes dificuldades em extrapolá-la, porque, para o treinamento, você reage ao pequeno tamanho da amostra restringindo seu modelo complexidade - e você relaxaria isso com o aumento do tamanho da amostra.

    Veja nosso artigo para detalhes: Beleites, C. e Neugebauer, U. e Bocklitz, T. e Krafft, C. e Popp, J .: Planejamento de tamanho de amostra para modelos de classificação. Anal Chim Acta, 2013, 760, 25-33.
    DOI: 10.1016 / j.aca.2012.11.007

    manuscrito aceito no arXiv: 1211.1323

  • Nunca tive nada próximo a essas recomendações (dados de espectroscopia, também para aplicações médicas). O que faço então é: eu medo de perto a estabilidade do modelo como parte do processo de modelagem e verificação.

cbeleites suporta Monica
fonte