TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE Engenharia de Computação Professor: Rosalvo Ferreira de Oliveira Neto O processo de descoberta do conhecimento - KDD Roteiro Introdução Definição Etapas Desafios Conclusão Introdução KDD envolve a interseção de várias áreas de pesquisas tais como: - Bancos de dados Aprendizagem de Máquina Reconhecimento de padrões Estatísticas Inteligência artificial Banco de Dados A teoria e ferramentas de banco de dados fornecem a infra-estrutura necessária para armazenar, acessar e manipular dados. Data warehousing referencia uma coleção de dados transacionais para analises on-line e suporte a decisão. Uma abordagem popular para análise de data warehouses é chamada online analytical processing (OLAP). Banco de Dados As ferramentas OLAP focam em prover analises multi dimensional que é superior a linguagem SQL no calculo de sumarizações e quebras de várias dimensões. Enquanto as ferramentas OLAP tem como objetivo analise interativa dos dados, o processo de descoberta do conhecimento KDD propõe automação dos componentes de descoberta do conhecimento. Como o KDD difere dos outros campos? KDD foca no processo geral de descoberta do conhecimento, incluindo como os dados estão armazenados e acessados, como os algoritmos podem ser escaláveis para grandes massas de dados e ainda executar de forma eficiente e como os resultados podem ser interpretados e visualizados. Definição "The nontrivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data.“Fayyad et al. Etapas do KDD 1- Aprender o domínio da aplicação: inclui o conhecimento prévio relevante do domínio e os objetivos da aplicação. 2- Criação de uma base de dados alvo: inclui selecionar uma base de dados ou focar em um subconjunto de variáveis ou amostra de dados para desenvolvimento do projeto. Etapas do KDD 3- Limpeza dos dados e pré-processamento: inclui operações básicas, tais como remover ruídos ou outliers se for apropriado, decidir estratégias para manipulação de missing data. 4- Redução e projeção dos dados: inclui buscar atributos úteis para representar os dados, dependendo do objetivo da tarefa, e usar métodos para redução da dimensionalidade dos dados ou transformações para reduzir o número de variáveis. Etapas do KDD 5- Escolher a função de mineração de dados: inclui decidir o objetivo do modelo derivado pelo algoritmo de mineração de dados (Sumarização, Classificação, Regressão e Agrupamento). 6- Escolher o algoritmo de mineração de dados: inclui selecionar o método que será utilizado na busca por padrões nos dados, quais modelos e parâmetros são apropriados para o objetivo do projeto. Etapas do KDD 7- Mineração de dados: inclui a busca por padrões de interesse em uma forma particular de representação, incluindo regras de classificação ou árvore, regressão, clustering entre outros. 8- Interpretação: inclui a interpretação dos padrões descoberto e possivelmente um retorno a qualquer etapa anterior do processo, assim como a visualização dos padrões extraídos, remoção de padrões redundantes ou irrelevantes, e traduzir os padrões úteis em termos compreensíveis pelos usuários Etapas do KDD 9- Utilização do conhecimento descoberto: inclui incorporar esse conhecimento dentro de um sistema de desempenho, realizar ações baseada neste conhecimento, ou simplesmente documentá-lo e reportar para as partes interessadas. Etapas do KDD Desafios • • • • • • • Grandes bases de dados e alta dimensionalidade Interação com usuário e conhecimento a priori Overfitting Valores ausentes Compreensão dos padrões Gerenciamento de mudanças dos dados e do conhecimento Integração Grandes bases de dados e alta dimensionalidade Bases de dados com Terabyte e milhões de registros, com um grande número de campos (atributos e variáveis) são comuns. Esses conjuntos de dados criam uma explosão combinatória no espaço de busca para a indução do modelo e aumentam as chances de que um algoritmo de mineração de dados encontre padrões irrelevantes. As soluções possíveis incluem algoritmos muito eficientes, amostragem, métodos de aproximação, processamento paralelo, técnicas de redução de dimensionalidade, e incorporação de conhecimento prévio. Interação com usuário e conhecimento a priori Muitos dos atuais métodos de KDD e ferramentas não são verdadeiramente interativa e não disponibiliza meios para incorporar o conhecimento prévio sobre um problema, exceto em formas simples. Uso de conhecimento de domínio é importante em todas as etapas do processo de KDD. Overfitting Quando um algoritmo busca pelos melhores parametros para um particular modelo utilizando um conjunto limitado de dados, ele pode memorizar os dados, resultando em um desempenho pobre do modelo. Soluções possíveis incluem validação cruzada e outras sofisticas estratégias estatísticas Valores ausentes Este problema é bastante comum em bancos de dados de empresas. Atributos importantes podem estar faltando, se o banco de dados não foi projetado para a descoberta do conhecimento ou um erro do operador, falhas de medição, ou a partir de uma revisão do processo de coleta de dados ao longo do tempo (por exemplo, novas variáveis). As soluções possíveis incluem mais sofisticadas estratégias estatísticas para identificar variáveis ocultas e dependências. Compreensão dos padrões Em muitas aplicações, é importante tornar os padrões descobertos mais compreensíveis por seres humanos. As soluções possíveis incluem representações gráficas, estruturação de regra, geração de linguagem natural, e técnicas de visualização de dados e conhecimento. Gerenciamento de mudanças dos dados e do conhecimento Mudança rápida dos dados podem fazer padrões previamente descobertos inválido. Além disso, as variáveis medidas numa base de dados pode ser modificada, eliminada ou aumentada com novas medições ao longo do tempo. As soluções possíveis incluem métodos incrementais para atualizar os padrões. Integração Há uma oportunidade em potencial e um desafio para o desenvolvimento de técnicas para integrar as ferramentas OLAP da comunidade de banco de dados e as ferramentas de mineração de dados de aprendizado de máquina e modelos estatísticos. Conclusão Diante do rápido crescimento, o campo de KDD ainda está na sua infância. Existem vários desafios para serem superados, mas muito sucesso já foi alcançado.