2COP355 INTELIGÊNCIA COMPETITIVA Algoritmos Sylvio Barbon Junior barbon@uel.br 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 1
Sumário Etapa I Etapa II Inteligência de Negócios Visão Geral sobre Mineração de Dados Input: Conceitos, Instâncias e Atributos Etapas vinculadas à Mineração de Dados Estudo de Caso 1: Segurança em Redes Sociais Digitais Output: Representação do Conhecimento Algoritmos Básicos Weka: Framework para Machine Learning Avaliando os Resultados Estudo de Caso 2: Produção de Uvas 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 2
BI - Business Intelligence Definição: Processo de coleta, organização, análise, compartilhamento, monitoramento de informação que oferecem suporte a gestão de negócios. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 3
Comparação de Terminologia 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 4
Visão Geral sobre Mineração de Dados Data Mining - Mineração de Dados Volume de dados no qual temos acesso e geramos; Redução dos custos de equipamentos de armazenamento; Fácil disponibilidade e compartilhamento dos dados; As the volume of data increases, inexorably, the proportion of it that people understand decreases alarmingly"; Distanciamento entre: compreensão e geração de dados; Um objetivo mais direto da Mineração de Dados é solucionar problemas analisando dados passados, presentes em um conjunto de dados (dataset); Definição de Mineração de Dados: É o processo de descoberta de padrões em dados. Este processo precisa ser automático ou semi-automático. Os padrões reconhecidos precisam ser significativos e agregar vantagens. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 5
Visão Geral sobre Mineração de Dados Machine Learning - Aprendizado de Máquina O que é aprendizado? Adquirir conhecimento por meio de estudos; Tornar-se consciente por meio da informação ou observação; Persistir na memória; Informar-se sobre algo; Receber instruções; Convertendo para computação: Conhecimento e Desempenho; Definição de Aprendizado de Máquina: É uma sub-área da Inteligência Artificial focada no desenvolvimento de algoritmos que podem aprender, melhorar, reconhecer e predizer novas informações baseando-se em dados. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 6
Visão Geral sobre Mineração de Dados Exemplos de Áreas de Aplicação Web Mining: 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 7
Visão Geral sobre Mineração de Dados Exemplos de Áreas de Aplicação Apoio a Decisão Estratégica: 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 8
Exemplos de Áreas de Aplicação Varredura de Imagens: 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 9
Visão Geral sobre Mineração de Dados Exemplos de Áreas de Aplicação Previsão de Consumo Energético: 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 10
Visão Geral sobre Mineração de Dados Exemplos de Áreas de Aplicação Diagnóstico por Imagem: 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 11
Input: Conceitos, Instâncias e Atributos Conceitos Conceito: Aquilo que se está tentando encontrar [Classe, Grupo, Rótulo]; Inteligibilidade: Capacidade de ser compreendido e discutido; Operacional: Capacidade de ser aplicado a exemplos atuais; Instância: É um indivíduo, um exemplo independente do conceito a ser aprendido [Elemento, Exemplo, Amostra]; Atributos: São os valores que qualificam os aspectos de uma Instância [Descritor, Característica, Valor]; Instâncias Multi-rótulos: Quando uma instância pertence a múltiplas classes [ multilabeled instances]; Modelo: É a descrição da solução aprendida Aprendizado Supervisionado: É o nome dado as técnicas de aprendizado baseados em exemplos rotulados, utilizados na fase de treinamento dos modelos. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 12
Input: Conceitos, Instâncias e Atributos Tipos de Atributos Atributos Nominais: Relacionado a nomes, podem ser símbolos ou palavras que relacionam-se as dimensões nos elementos. Exemplo: marrom, vermelho, casado, divorciado. Atributos Binários: São atributos que variam entre duas possibilidades. Normalmente são relacionados a presença ou ausência de uma categoria. Exemplo: fumante e masculino. Podem ser simétricos quando os valores tem o mesmo peso ou assimétricos quando os valores são de importâncias diversas. Exemplos: gênero (simétrico) e HIV (assimétrico). Atributos ordinais: Estão relacionados a ordem ou ranking de algo. Podem ser obtidos pela discretização de informações numéricas. Este atributo, assim como nominal e binário são qualitativos (que descrevem algo). Exemplo: tamanho como pequeno (1), médio (2) e grande (3). Atributos numéricos: É um atributo quantitativo, que mede quantidade de algo e é representado por valores inteiros ou reais. Exemplo: temperatura, altura, pressão, velocidade etc. Devido a sua escala, pode-se computar tendências estatisticamente. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 13
Input: Conceitos, Instâncias e Atributos Tipos de Atributos Dados esparsos: Quando muitos atributos de uma instância são 0". A representação destes dados se torna impraticável. Soluções identificação de atributos não zero normalmente são aplicadas. Exemplo: {0, X, 0, 0, 0, 0, Y, 0, 0, 0, ClasseA } {1X, 6Y, 10 ClasseA } Valores desconhecidos: São valores corrompidos ou que não estão presentes no dataset. Medidas como atribuição pela média ou eliminação da instância, são práticas para lidar com esse tipo de problema. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 14
Input: Conceitos, Instâncias e Atributos Padrão ARFF ARFF: Attribute-Relation File Format é um dos padrões para a criação dos datasets para Mineração de Dados. É um arquivo de texto ASCII que descreve um dataset, seus atributos e instâncias. Exemplo: @RELATION iris @ATTRIBUTE sepallength NUMERIC @ATTRIBUTE sepalwidth NUMERIC @ATTRIBUTE petallength NUMERIC @ATTRIBUTE petalwidth NUMERIC @ATTRIBUTE class Iris-setosa,Iris-versicolor,Iris-virginica @DATA 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa 5.0,3.6,1.4,0.2,Iris-setosa 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 15
Etapas vinculadas à Mineração de Dados KDD Sistemas de Descoberta de Conhecimento: A Mineração de Dados é o kernel de um sistema Knowledge Discovery System KDD 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 16
Etapas vinculadas à Mineração de Dados KDD 1. Seleção: Tem como objetivo agrupar, filtrar e obter os dados que serão minerados. 2. Pré-processamento: Tem o objetivo de melhorar a qualidade dos dados, isto é aumentar a Acurácia, Completitude, Consistência, Sequência, Credibilidade e Interpretabilidade. Data Cleaning (limpeza) [Valores ausentes, ruído] Data Integration (integração) [Redundância, Conflitos e Correlação] Data Reduction (redução) [Redução de Dimensão, Redução de Amostras] Data Discretization (discretização) [Binning, Histograma, Árvore] 3. Transformação: Tem com objetivo agregar atributos, normalizar valores, construir e suavizar valores para contribuir na mineração dos dados. 4. ** Mineração de Dados ** 5. Interpretação, Avaliação e Visualização: Contempla mecanismos que facilitam a exposição e validação do conhecimento obtido. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 17
Etapas vinculadas à Mineração de Dados Projeto de Mineração de Dados Modelo generalizado de projeto de Mineração de Dados. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 18
Estudo de Caso: Segurança em Redes Sociais Digitais Área de Mineração de Texto (mineração em base de dados textuais). 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 19
Estudo de Caso: Segurança em Redes Sociais Digitais IGAWA, R. A. Mineração de Texto e Wavelets na Classificação de Contas em Redes Sociais Digitais. 71 p. Qualificação de Mestrado (Mestrado em Ciência da Computação) Universidade Estadual de Londrina, Londrina PR, 2015. Resumo:Para auxiliar a descoberta de fraudes em RSDs, este trabalho propõe a classificação de contas baseada na TDW para detectar a disseminação de conteúdo textual de bots. O principal objetivo da classificação é distinguir os padrões de classes em: humanos, cyborgs ou bots. A abordagem proposta analisa a distribuição de termos chaves enquanto mantêm custo computacional adequado para RSDs. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 20
Estudo de Caso: Segurança em Redes Sociais Digitais Dataset: Base de Tweets (mensagens do Twitter) relacionados a Copa do Mundo de 2014. Classes: Humano, Cyborg, Bot e Humano, Não Humano Atributos: Descritores textuais (Comprimento do Corpus, Lexicon e Coeficientes TDW) Pré-processamento: Discretização com novo padrão de pesagem LBCA (inovação) Classificador: Random Forests (Ensemble de árvores) e Multilayer Perceptron (ANN) Resultado: 94% para HCB e 100% para HnH. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 21
Estudo de Caso: Segurança em Redes Sociais Digitais Modelo proposto: 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 22
Estudo de Caso: Segurança em Redes Sociais Digitais Resultados: 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 23
Output: Representação do Conhecimento Introdução Quando se obtém o conhecimento, representá-lo pode ser uma tarefa complicada. Qual a diferença entre o gato e o cachorro? Crie um modelo! Antes de se estudar o modelo de classificação, é necessário entender quais são as saídas possíveis do processo de classificação. Cada problema pode ser representado de uma maneira, assim como a solução ou modelo para solucionar: Tabelas; Modelos Lineares; Árvores Regras; Baseada em Instância; Aglomerado (cluters) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 24
Output: Representação do Conhecimento Tabelas Simples e mais rudimentar representação de conhecimento; Exibição condensada de informações; Tem como principal obstáculo decidir quais atributos afetam a decisão final; É um elemento importante na descrição dos dados, porém para a descrição de um modelo ou conhecimento adquirido não é tão adequado; 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 25
Output: Representação do Conhecimento Modelos Lineares Para a Estatísticas os modelos lineares são chamados de regressão. São fáceis de se visualizar em duas dimensões; A reta"representa o melhor ajuste para as dimensões relacionadas; O modelo pode ser descrito por uma equação de reta. Exemplo: desempenho = 37,06 + 2,47 cache; Pode ser utilizado para a representação de classificação binária (2 classes) de problemas. A linha é o limite (boundary) entre cada classe. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 26
Output: Representação do Conhecimento Árvores Abordagem "divisão e conquista"são melhor representados por árvores; Os nós da árvore de decisão são definidos pelos atributos; As folhas definem a classificação esperada; A classificação é obtida percorrendo todos os nós até a folha que descreve a classe; Cada nó deve oferecer dois ou mais "caminhos"para seguir. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 27
Output: Representação do Conhecimento Regras É semelhante à árvore de decisão; Tem nas extremidades do modelo a classe. É dividada em condições antecedentes e consequentes (ou conclusão); Diferente das árvores não são "comparações"são formulações ou expressões lógias. Apresentam soluções mais aprimoradas, complexas e otimizadas do que as árvores. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 28
Output: Representação do Conhecimento Baseado em Instância - Instance-Based É a técnica mais lenta (custosa computacionalmente); As instâncias são avaliadas uma a uma; Técnicas de distância e vizinhança são utilizadas (K-nearest-neighbor KNN) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 29
Output: Representação do Conhecimento Agrupamento - Clustering É uma das abordagens mais utilizadas; A saída é um diagrama (dendograma) que representa a quantidade diversificada de grupos; Esta abordagem pode ser usada em pareceria com outras como Árvores e Regras para verificar um caminho inicial (K-means). 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 30
Referências Imagens: https : //datacleansingservices.files.wordpress.com/2013/04/web mining services.jpg https : //quadconsultancy.files.wordpress.com/2010/09/financial planning decision support executive1.jpg http : //www.sensum project.eu/documents/17293/0/rs20tool.jpg?t = 1403610969811 https : //www.otexts.org/sites/default/files/styles/large/public/elec3.jpg?itok = AEp1hRlF http : //www.simplifiqueocancer.com.br/wp content/uploads/2015/06/exame1.jpg http : //www.zentut.com/wp content/uploads/2012/10/kdprocess.png http : //free stock illustration.com/business + intelligence + data http : //scikit learn.org/0.11/ images/plot classification 11.png Código Fonte ARFF: http : //www.cs.waikato.ac.nz/ml/weka/arff.html 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 31
Referências Livros: Konar, A. Computational Intelligence: Principles, Techniques and Applications (2005) Jensen, R. Shen, Q. Computational Intelligence and Feature Selection (2008) Witten, Ian H., and Eibe Frank. "Data Mining: Practical machine learning tools and techniques". Morgan Kaufmann (2011) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 32
Sumário Etapa II Algoritmos Básicos Weka: Framework para Machine Learning Avaliando os Resultados Estudo de Caso 2: Produção de Uvas 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 33
Algoritmos Básicos Serão apresentados os seguintes algoritmos: MLP - Multilayer Perceptron; SVM - Support Vector Machine; K-means; PCA - Principal Component Analysis; Apriori; SMOTE - Sythetic Minority Oversampling Technique; J48. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 34
MLP - MultiLayer Perceptron Solucionando problemas de classificação como um ser humano! 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 35
MLP - MultiLayer Perceptron Redes neurais artificiais são modelos computacionais inspirados no sistema nervoso de seres vivos ; Possuem capacidade de aquisição e manutenção do conhecimento; Principais funções: Classificação de Padrões; Predição de Comportamentos; Processo de estabelecimento de arquitetura é um processo empírico, tal fato implica em abordagens de tentativa e erro para reconhecimento da solução. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 36
MLP - MultiLayer Perceptron Perceptron de múltiplas camadas (PMC); Apresenta no mínimo duas camadas de neurônios; Modelo supervisionado e Feedfoward; Publicada em 1986; 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 37
MLP - MultiLayer Perceptron Complexidade: O(#epócas*#amostras*#características*#neurônio) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 38
SVM - Support Vector Machine Classificador para qualquer tipo de problema, sem muitas configurações e ideal para problemas binários! 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 39
SVM - Support Vector Machine Máquina de Vetor de Suporte - MVS; Foi publicada em 1992; Tem a característica da teoria do aprendizado estatístico da década de 60; Complexidade: O(n 3 ) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 40
SVM - Support Vector Machine Ideal para aplicações de classificação binária; O kernel da SVM define o comportamento do hiperplano criado; O kernel mais robusto é o SMO (Sequencial Minimal Optimization) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 41
K-means Dada uma base de dados, quais itens se assemelham? 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 42
K-means K-médias Principal propósito é a divisão das amostras em subgrupos (clusters, subsets ou categorias) que compartilham características; Não oferece um "modelo"com os resultados esperados, ele rotula as instâncias baseado na distância entre as características; Aprendizado não supervisionado; 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 43
K-means A quantidade de subgrupos a serem posicionados devem ser passados como parâmetro ao algoritmo. Complexidade: O(amostras*centróides(k)*características) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 44
PCA Muitas características, como reduzi-las para encontrar quais são mais adequadas e auxiliar na compreensão do problema? 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 45
PCA - Principal Component Analysis Análise de Componentes Principais - ACP Exitem diversas variações. É um método simples e não paramétrico usado para extrair informação relevante de uma base redundante e ruidosa; PCA é uma transformação linear que minimiza a redundância (covariância) e maximiza a informação (variância). Complexidade: O(atributos 2 *exemplos + atributos 3 ) 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 46
Apriori Como reconhecer um padrão frequente e quais itens influenciam nas combinações? 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 47
Apriori Utilizado na Mineração de Padrões Frequentes; A partir de conjuntos frequentes, é possível derivar as regras de associação. O espaço de busca de todos os possíveis conjuntos de itens para um conjunto A é de exatamente 2 A itemsets diferentes. A representação tradicional é um reticulado que apresenta em suas extremidades um conjunto vazio e um conjunto com todos os itens na base. Se A é grande o suficiente, então uma proposta simples de gerar e contar os suportes de todos os itemsets não é viável. A proposta de nível de confiança do algoritmo Apriori implica em diversas varreduras sobre o banco de dados para calcular o suporte dos itemsets frequentes candidados. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 48
Apriori Utilizado na Mineração de Padrões Frequentes; O suporte está relacionado à frequencia mínima; 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 49
Apriori 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 50
SMOTE Base de Dados com quantidade de amostras discrepantes entre as classes, como corrigir? 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 51
SMOTE SMOTE - Sythetic Minority Oversampling technique Lidar com distribuição desbalanceada (imbalanced) nas amostras é um problema para o reconhecimento de um determinado padrão ou classe; Isso ocorre quando o número de exemplos que representam uma classe é muito menor que outra; Tal problema está presente em problemas do mundo real: casos raros ou complexos, mas necessários para descrição completa de um problema; Esta característica ocorre em problemas de uma ou mais classes. A maioria dos sistemas de aprendizado de máquina não estão preparados para tratar classes desbalanceadas; É uma técnica de oversampling, criando novas amostras baseadas na interpolação de instâncias da classes minoritárias. Baseado em knn (k nearest neighbors), aleatóriamente selecionam amostras das classes minoritárias e geram as novas. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 52
SMOTE 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 53
SMOTE Classificação, compreensão e visualização do modelo gerado! 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 54
J48 É uma implementação do algoritmo C4.5 Baseado em Árvore de Decisão, é referenciado como uma aboragem estatística; Em 2008 foi escolhido o melhor algoritmo para Mineração de Dados. É calculado com base na entropia e no ganho de informação. Ideal para classificação de padrões; Fortemente vinculado a uma base de treinamento; Exibe os atributos mais significativos hierarquizados em uma árvore; 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 55
J48 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 56
Weka É uma biblioteca com uma grande coleção de algoritmos de Aprendizado de Máquina implementado em Java; Permite as tarefas de Classificação, Regressão, Seleção de Atributos e Agrupamento; É compatível com linguagens como Python e R; aplicativos como Octave; 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 57
Weka Demonstração com a base tradicional Iris.arff (problema de classificação de flores). @ATTRIBUTE sepallength REAL @ATTRIBUTE sepalwidth REAL @ATTRIBUTE petallength REAL @ATTRIBUTE petalwidth REAL @ATTRIBUTE class Iris-setosa,Iris-versicolor,Iris-virginica 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 58
Avaliando os Resultados 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 59
Avaliando os Resultados Quão "preditivo"é o modelo encontrado? Somente o "erro"não é um bom indicador de desempenho; Medir o taxa de sucesso om o training set é uma visão extremamente otimista da solução. Quando existe taxa de erro em avaliações baseadas no training set, chamamos de resubstitution error. Por isso usamos um test set "separado"para calcular o erro real. O test set deve ser independente do training set. Também usamos um validation set para aprimorar a técnica de classificação. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 60
Avaliando os Resultados Técnicas de Avaliação do Modelo: Holdout: é o processo de se isolar uma parte do dataset para treinamento e outro para teste (não usado no treinamento). Crossvalidation: Validação Cruzada, onde o dataset é divido em dobras (folds) de subamostras, onde o processo é avaliado para cada dobra, ao final é contabilizada a média de acurácia. Leave-one-out: Uma instância é escolhida para teste e o restante para treinamento. A vantagem é que o training set é grande e a desvantagem é o custo computacional e problemas de estratificação para futuras comparações. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 61
Avaliando os Resultados Matriz de Confusão: A de uma hipótese h oferece uma medida efetiva do modelo de classificação, ao mostrar o número de classificações corretas versus as classificações preditas para cada classe, sobre um conjunto de exemplos T. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 62
Avaliando os Resultados Exemplo de Matriz de Confusão para avaliação de humanos e bots. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 63
Avaliando os Resultados Métricas: Mean-squared error (Erro quadrático médio): É a principal e mais comum medida. É uma medida fácil de se calculada e interpretada. Mean-absolute error (Erro quadrático absoluto): É uma alternativa ao anterior, indicando erros individuais sem considerar o sinal. Relative squared error (Erro quadrático relativo): Esta métrica é relativa a um classificador, considerando um classificador padrão. Relative absolute error: É como o anterior, sem considerar sinal. Coeficiente de Correlação: Avalia a correlação entre dois modelos, 1 é a correlação perfeita e 0 é ausência de correlação. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 64
Estudo de Caso de Produção de Uvas Estudo de Caso de Produção de Uvas. 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 65
Referências Livros: Konar, A. Computational Intelligence: Principles, Techniques and Applications (2005) Jensen, R. Shen, Q. Computational Intelligence and Feature Selection (2008) Witten, Ian H., and Eibe Frank. "Data Mining: Practical machine learning tools and techniques". Morgan Kaufmann (2011) Silva, IN da, Danilo Hernane Spatti, and Rogério Andrade Flauzino. "Redes neurais artificiais para engenharia e ciências aplicadas."são Paulo: Artliber (2010). 27 de novembro de 2015 DC-UEL Sylvio Barbon Jr 66