Seleção automática de recursos para detecção de anomalias

11

Qual é a melhor maneira de selecionar automaticamente os recursos para detecção de anomalias?

Eu normalmente trato a Detecção de Anomalias como um algoritmo em que os recursos são selecionados por especialistas humanos: o que importa é o intervalo de saída (como em "entrada anormal - saída anormal"); portanto, mesmo com muitos recursos, você pode criar um subconjunto muito menor combinando as características.

No entanto, supondo que, em geral, uma lista de recursos possa ser enorme, talvez um aprendizado automatizado às vezes seja preferível. Tanto quanto posso ver, existem algumas tentativas:

  • "Seleção automatizada de recursos para detecção de anomalias" ( pdf ) que generaliza Descrição de dados de vetores de suporte
  • "Um sistema rápido de detecção de intrusões baseado em host usando a teoria dos conjuntos aproximados" (nenhum pdf disponível?) Que, eu acho, usa a teoria dos conjuntos aproximados
  • "Regras de aprendizagem para detecção de anomalias do tráfego de rede hostil" ( pdf , vídeo ), que utiliza abordagem estatística

Então agora eu me pergunto se alguém pode dizer - assumindo a detecção de anomalias e um conjunto de recursos realmente grande (centenas?):

  1. Esses enormes conjuntos de recursos fazem sentido? Não devemos apenas reduzir o recurso configurado para, digamos, algumas dezenas e é isso?
  2. Se conjuntos enormes de recursos fazem sentido, qual das abordagens acima daria melhores previsões e por quê? Existe algo não listado que é muito melhor?
  3. Por que eles deveriam fornecer melhores resultados comparando, por exemplo, a redução da dimensionalidade ou a construção de recursos por meio de cluster / ranking / etc?
andreister
fonte
Seu link não trouxe nenhuma pergunta específica para mim. Você pode dar uma breve descrição do problema? Qual é o objetivo? É um problema de aprendizado supervisionado ou não supervisionado?
23412 AdamO
A pergunta era do ML.SE, que está encerrada agora - aparentemente os administradores não haviam se unido a todas as perguntas. Editei o texto agora para declarar explicitamente o problema!
andreister 23/02

Respostas:

1

Uma abordagem prática (pelo menos no caso de aprendizado supervisionado) é incluir todos os recursos possivelmente relevantes e usar um modelo linear (generalizado) (regressão logística, svm linear etc.) com regularização (L1 e / ou L2). Existem ferramentas de código aberto (por exemplo, Vowpal Wabbit) que podem lidar com trilhões de combinações de exemplo / recurso para esses tipos de modelos, de modo que a escalabilidade não é um problema (além disso, sempre é possível usar subamostragem). A regularização ajuda a lidar com a seleção de recursos.

Yevgeny
fonte
Mas como selecionar recursos em configurações não supervisionadas (sem a necessidade de usar modelos lineares etc. para criar recursos importantes)? Uma maneira de pensar é usar o PCA para reter alguma variação e reduzir o tamanho dos dados. Mas, novamente, reduzir dados no problema de detecção de anomalias parece perigoso, pois você pode acabar perdendo os valores discrepantes reais que desejava prever. Daí a confusão.
exAres 18/11/2015