Número de características vs. número de observações

26

Existem documentos / livros / idéias sobre a relação entre o número de características e o número de observações necessárias para treinar um classificador "robusto"?

Por exemplo, suponha que eu tenha 1000 recursos e 10 observações de duas classes como um conjunto de treinamento e 10 outras observações como um conjunto de testes. Eu treino algum classificador X e isso me dá 90% de sensibilidade e 90% de especificidade no conjunto de testes. Digamos que estou feliz com essa precisão e, com base nisso, posso dizer que é um bom classificador. Por outro lado, aproximei uma função de 1000 variáveis ​​usando apenas 10 pontos, o que pode parecer não ser muito ... robusto?

Leo
fonte

Respostas:

20

O que você encontrou aqui é a maldição da dimensionalidade ou o problema p >> n (onde p é preditores e n são observações). Muitas técnicas foram desenvolvidas ao longo dos anos para resolver esse problema. Você pode usar o AIC ou o BIC para penalizar modelos com mais preditores. Você pode escolher conjuntos aleatórios de variáveis ​​e avaliar sua importância usando a validação cruzada . Você pode usar regressão de cume , laço ou rede elástica para regularização . Ou você pode escolher uma técnica, como uma máquina de vetores de suporte ou floresta aleatória que lida bem com um grande número de preditores.

Honestamente, a solução depende da natureza específica do problema que você está tentando resolver.

Zach
fonte
9

Suspeito que tais regras gerais não sejam geralmente aplicáveis. Considere um problema com duas classes gaussianas centradas em+1 1-1 10,000001EuEu, nenhuma quantidade de dados de treinamento fornecerá um classificador útil. No final do dia, a quantidade de amostras necessárias para um determinado número de recursos depende de como os dados são distribuídos; em geral, quanto mais recursos você tiver, mais dados serão necessários para descrever adequadamente a distribuição dos dados. (exponencial no número de recursos, se você tiver azar - veja a maldição da dimensionalidade mencionada por Zach).

Se você usa regularização, em geral, (um limite superior), o erro de generalização é independente do número de recursos (consulte o trabalho do Vapnik na máquina de vetores de suporte). No entanto, isso deixa o problema de encontrar um bom valor para o parâmetro de regularização (a validação cruzada é útil).

Dikran Marsupial
fonte
9

Você provavelmente está impressionado com a modelagem clássica, que é vulnerável aos problemas do tipo paradoxo de Runge e, portanto, requer algum ajuste de parcimônia no pós-processamento.
No entanto, no caso de aprendizado de máquina, a idéia de incluir robustez como objetivo de otimização de modelo é apenas o núcleo de todo o domínio (geralmente expresso como precisão em dados não vistos). Então, bem, desde que você saiba que seu modelo funciona bem (por exemplo, no CV), provavelmente não há motivo para se preocupar.

O verdadeiro problema com pnno caso de BC, os atributos são irrelevantes - principalmente porque alguns deles podem se tornar mais úteis para regenerar a decisão do que os realmente relevantes, devido a algumas flutuações aleatórias. Obviamente, essa questão não tem nada a ver com parcimônia, mas, como no caso clássico, acaba em terrível perda de poder de generalização. Como resolvê-lo é uma história diferente, chamada seleção de recursos - mas a idéia geral é pré-processar os dados para eliminar o ruído, em vez de restringir o modelo.


fonte
1

Um dos meus livros absolutamente mais valiosos ao longo dos anos foi o Tinsley and Brown's Handbook . Há muitos lugares no livro onde este tópico é discutido, por diferentes autores contribuintes.

rolando2
fonte