Identificando padrões sequenciais

8

Estou trabalhando com dados de sequência, que são longas listas de chamadas win-api de malware. Estou tentando converter o problema de identificar 'comportamento de malware' em um dos padrões sequenciais. Trato cada chamada da API como um único item Itemset. O número de diferentes itens possíveis (chamadas da API) é bastante grande.

Agora, quando aplico o algoritmo SPADE (veja também, Zaki, SPADE: um algoritmo eficiente para minerar seqüências frequentes , Machine Learning, 42, 31-60, 2001), encontro problemas de memória. Existe uma maneira alternativa melhor de encontrar padrões seqüenciais entre grandes seqüências de alto vocabulário?

chet
fonte
Você poderia usar uma abordagem de Markov-Chain Monte-Carlo?
Zach

Respostas:

2

Você pode mapear os dados em um espaço de recurso em que a sequência é importante, juntamente com as duas estatísticas calculadas sobre janelas deslizantes e estatísticas cumulativas e usá-las em uma árvore de decisão.

Uma árvore de decisão pode lidar com sequências e dados não sequenciais. Isso pode reduzir substancialmente a complexidade dos dados.

Iterador
fonte
1

Você pode tentar outro algoritmo de mineração de padrão sequencial.

Por exemplo, a biblioteca de mineração de dados Java SPMF de código aberto oferece SPADE, mas também PrefixSpan, SPAM, CM-SPAM, CM-SPADE, GSP, etc. (a propósito, eu sou o fundador do projeto). Que eu saiba, o CM-SPADE geralmente é mais rápido que o SPADE. Em termos de memória, talvez o SPAM use menos memória. Você pode tentar.

Phil
fonte