• Nenhum resultado encontrado

Um Histórico do Desenvolvimento do Trabalho de Pesquisa

CAPÍTULO 7 – CONCLUSÕES E TRABALHOS FUTUROS

7.1 Um Histórico do Desenvolvimento do Trabalho de Pesquisa

O trabalho de pesquisa descrito nesta dissertação teve início em Abril/2013, com reuniões e troca de e-mails entre orientadora e aluno, na busca e familiarização de possíveis áreas de pesquisa de interesse comum, considerando a área de pesquisa de aprendizado de máquina e áreas subjacentes.

Durante a disciplina Estudo Orientado, iniciada em Agosto/2013, o plano de pesquisa de mestrado foi delineado e o processo de levantamento bibliográfico e aquisição dos conceitos básicos relacionados à área de pesquisa escolhida, i.e., mineração de padrões temporais frequentes e regras de associação derivadas teve início.

Durante o levantamento bibliográfico e leitura dos principais artigos na área escolhida, ficou claro a falta de rigidez e de padronização dos principais conceitos e formalismos na área. Isso inicialmente se apresentou como uma grande dificuldade

para aprender a conceituação envolvida. Particularmente, a falta de padronização promoveu, inicialmente, uma desorientação com relação aos objetivos de determinadas propostas; a maioria das propostas analisadas faz uso de uma notação própria o que tornou difícil abordá-las comparativamente.

A proposta ARMADA (WINARKO; RODDICK, 2007) foi escolhida para ser investigada com mais detalhes, por duas razões: ser uma das mais recentes que executa a mineração de padrões considerando intervalos temporais e, também, por ser a mais completa, considerando que, além do tratamento do aspecto temporal, o ARMADA realiza um processo de geração de regras de associação.

Inicialmente ficou decidido abordar a contribuição da proposta MEMISP (LIN; LEE, 2002), que fundamenta a proposta ARMADA e, também, investigar o processo de geração de regras de associação, com base na proposta Apriori (AGRAWAL et al.,1993), como feito pelo ARMADA. Diferentemente do Apriori que segue a abordagem de Geração e Poda de Candidatos, tanto o MEMISP quanto o ARMADA são algoritmos que seguem a metodologia de Crescimento de Padrões e, portanto, a pesquisa foi expandida de modo a investigar, também, o algoritmo PrefixSpan (HAN et al., 2001), que foi utilizado como base para a proposta MEMISP. O PrefixSpan é uma variação do FreeSpan (HAN et al., 2000), o algoritmo mais antigo da abordagem. Os trabalhos que descrevem ambos os algoritmos, tanto o PrefixSpan quanto o FreeSpan, subsidiaram uma quantidade considerável de definições e conceitos, que foram analisados e serviram como base principal para a padronização da nomenclatura e sequenciamento das definições, como apresentadas no Capítulo 3.

Durante o trabalho de pesquisa, várias outras propostas foram estudadas e analisadas, particularmente aquela relativa ao algoritmo SPADE (ZAKI, 2001), que talvez seja o elo mais evidente entre as duas categorias de algoritmos para mineração de padrões (i.e., Geração e Poda de Candidatos e Crescimento de

Padrões). O SPADE herdou do Apriori o processo de geração e poda de candidatos

para os primeiros padrões identificados (de tamanho até 2), realizado, como descreve o autor, de uma forma refinada e mais eficiente. O SPADE faz uso da técnica de dividir-para-conquistar, inicialmente utilizada pelos algoritmos FreeSpan e PrefixSpan para a etapa de crescimento de padrões.

Também, durante o trabalho de pesquisa e levantamento bibliográfico, várias aplicações reais de processos de mineração de padrões sequenciais foram

  154 identificadas e analisadas, particularmente aquelas relativas a: levantamento de páginas visitadas (VEERAMALAI et al., 2010) e (BONDE; GORE, 2014) e análise de transações comerciais via Web (OMARI et al., 2007), (YANG; FONG, 2009) e (SIDDIQUI et al., 2014).

Para um planejamento exequível do sistema S_MEMISP+AR, tanto o algoritmo Apriori, quanto o MEMISP precisaram ser estudados e analisados em detalhes. Os resultados desse estudo e análise estão descritos em dois capítulos distintos desta dissertação: o Capítulo 2 e Capítulo 3, respectivamente. Cada um deles traz, também, o pseudocódigo do algoritmo e exemplos de execução.

A efetiva implementação do sistema computacional S_MEMISP+AR foi iniciada em Dezembro/2013. Ao final dessa etapa de desenvolvimento (Março/2014), os resultados obtidos e as pesquisas até então realizadas foram agregadas no documento Exame de Qualificação (realizado em Abril/2014). Após a qualificação, o S_MEMISP+AR continuou a ser desenvolvido, até ser capaz de identificar padrões frequentes em uma base de dados. O experimento com a proposta de utilizar ambos sistemas, MEMISP e S_MEMISP+AR, para confirmação dos mesmos resultados, utilizando uma mesma base de dados, foi realizado e está descrito no Capítulo 5.

A próxima etapa do trabalho teve início em Julho/2014 com a inclusão do tratamento de temporalidade pelo sistema. A escolha pelo uso do formalismo de Höppner (2001) para representar os intervalos temporais da base de dados foi feita considerando que é o formalismo utilizado pelo ARMADA, dado que o ARMADA implementa o tratamento de temporalidade via o formalismo AIA (a notação de Höppner é conveniente para a representação via AIA).

É importante notar, entretanto, que existem várias formas de representar formalmente o aspecto temporal e, muitas vezes, pequenas variações podem impactar os resultados obtidos, tais como a escolha em considerar intervalos ou pontos para representar eventos, adotar intervalos fechados, semiabertos ou abertos, formalismos que podem ser utilizados para representar as relações entre os eventos, etc.

Uma pesquisa com a finalidade de compreender melhor o formalismo de Höppner foi conduzida e as possibilidades de implementação foram analisadas, considerando a base de dados utilizada para realizar os experimentos do sistema proposto, obtida em Agosto/2014. Por se tratar de uma base de dados com registros

de transações comerciais, contendo horário e data dos registros, foi possível identificar vários intervalos relacionados aos registros. As escolhas feitas para incorporar o aspecto temporal ao processo de mineração de padrões, executado pelo S_MEMISP+AR, foram de representar um dia como um intervalo e, também, identificar, de forma manual, características consideradas intrínsecas e de interesse, com seus respectivo intervalos de duração.

Uma dificuldade identificada durante o desenvolvimento foi aquela relacionada aos dados. Nas propostas que descrevem o MEMISP e o ARMADA foram utilizadas bases de dados sintéticas o que, apesar de facilitar o processo de identificação, compromete a validação da eficiência de tais propostas. Para os experimentos com S_MEMISP+AR foi decidido utilizar uma base de dados real, com o objetivo de, também, viabilizar a detecção de dificuldades. O fato da base de dados real disponibilizada não ter muitos registros (aproximadamente 1.500), entretanto, provocou a dificuldade na detecção de padrões significativos. Também, o fato dos registros reais disponibilizados serem relativos a apenas uma semana, encurtou, de certa forma, o escopo na investigação de aspectos temporais; por exemplo, impossibilitou uma investigação de padrões mensais. A busca por uma organização disposta a ceder dados (que geralmente são tratados com uma certa confidencialidade) foi trabalhosa, implicando a visita a várias empresas; apenas uma delas se disponibilizou a fornecer os dados e, ainda assim, apenas relativos a uma semana.

Após todas as definições feitas e com a base de dados disponível, os primeiros experimentos puderam ser executados. Foram realizados três experimentos considerando a mesma base de dados porém seguindo abordagens diferentes:

a) O primeiro experimento considerou a base de dados completa e cada registro de compra contido na BD sendo um itemset, constituído pelos produtos da compra. Os resultados obtidos (padrões identificados e regras de associação geradas) identificaram combinações de produtos (itens) que ocorreram várias vezes durante a semana. Para definir um valor de

min_sup foram realizados vários testes até que o sistema conseguisse

manipular toda a quantidade de combinações possíveis sem erros.

b) O segundo experimento considerou o mesmo valor para o min_sup, porém a base de dados foi particionada em 7 blocos, cada um deles

  156 contendo registros relativos a um dia particular da semana. A motivação para a implementação de tal abordagem se deve ao fato que, além de identificar padrões e gerar regras de associação particulares a cada dia da semana, os resultados obtidos puderam ser utilizados para refinar aqueles identificados em (a).

c) Subsidiado pela análise dos resultados em (a) e (b), o terceiro experimento foi planejado. Nesse experimento a base de dados foi analisada com auxílio de um especialista do domínio e várias características de interesse (para o processo de decisão associado ao supermercado) puderam ser identificadas. Tais características, com seus respectivos valores temporais de início e fim possibilitaram que o sistema pudesse ser implementado de maneira a usar o formalismo de Höppner para armazenar as informações. As características identificadas foram utilizadas para compor uma nova base de dados que, posteriormente, foi pré-processada via um script em php, (script_II) desenvolvido com essa finalidade de customizar os dados para serem tratados pelo S_MEMISP+AR.

O sistema computacional S_MEMISP+AR foi desenvolvido, quase que na totalidade, em linguagem C++, sendo utilizado para tal implementação, o ambiente de desenvolvimento Xcode (versão 6.1.1) fornecido nativamente pela Apple. Foi utilizado um microcomputador com o sistema operacional OS-X (versão 10.9.4), um processador 2.7GHz Intel Core i7 e 8GB de memória RAM.

Durante o processo de implementação do sistema, devido à aridez da linguagem C++ e à grande quantidade de combinações entre os itens que o sistema teve que processar, erros em tempo de execução foram reportados pelo sistema, tais como estouro de pilha e sobrecarga na memória confirmando a necessidade de uma configuração de hardware mais robusta. Essa dificuldade foi um dos fatores que mais impactaram o tempo de desenvolvimento, uma vez que em poucas das execuções realizadas o S_MEMISP+AR conseguiram minerar toda a base de dados sem gerar qualquer erro em tempo de execução.

Para o desenvolvimento dos dois scripts (script_I e scrit_II), para as tarefas de pré-processamento, foi utilizada a linguagem php devido à familiaridade do aluno com tal linguagem para manipular arquivos de texto.

7.2 Conclusões

Como evidenciado anteriormente, existem várias formas de incorporar o tratamento do aspecto temporal ao processo de mineração de padrões. Os três experimentos apresentados no Capítulo 6 comprovam tal afirmação; a tarefa de mineração de padrões temporais, executada pelo S_MEMISP+AR, é bem flexível e, consequentemente, pode ser bastante explorada com a finalidade de combinar resultados obtidos em abordagens diferentes, para uma análise mais refinada do domínio. De fato, as abordagens adotadas nos três experimentos apresentados não são as únicas possibilidades para o domínio analisado, tampouco as melhores escolhas, entretanto, colaboraram para revelar várias informações temporais importantes, implícitas na base de dados analisada. A possibilidade de abordar o tratamento temporal de várias formas colabora na redução de uma possível análise tendenciosa pela interferência do operador do sistema. Evidentemente, com a obtenção de vários resultados é possível que análises diferentes possam ser realizadas levando em conta a real necessidade da mineração de padrões temporais, i.e., quais os tipos de informações q se deseja obter como resultados.

Apesar das dificuldades encontradas no uso do S_MEMISP+AR, nas execuções em que o sistema retornou resultados sem erros o tempo de execução foi relativamente baixo (em média de 4 minutos), fato que comprova a capacidade do sistema em minerar grandes volumes de dados em pouco tempo.

É importante ressaltar que além do S_MEMISP+AR atingir o objetivo que era esperado, i.e., conseguir identificar padrões temporais frequentes e gerar regras de associação a partir de tais padrões identificados, uma outra grande contribuição deste trabalho é a apresentação de um conjunto de definições e formalismos claros e coerentes. Como evidenciado anteriormente, a falta de clareza e padrão nas definições dos estudos analisados foi uma das maiores dificuldades encontradas nesse trabalho e, portanto, é muito importante que esse estudo colabore com trabalhos futuros, facilitando o entendimento de tais conceitos.  

  158