SCC Bancos de Dados e Suas Aplicações

Slides:



Advertisements
Apresentações semelhantes
Medidas de Avaliação de Sistemas de Recuperação de Informação
Advertisements

Mineração de Dados Algoritmo APRIORI
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Fluxo em Redes Prof. Ricardo R. Santos.
Transformação para o Espaço Latente
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Modelos de Mineração de Dados
FINANÇAS EM PROJETOS DE TI
Sinais e Sistemas – Capítulo 3
Recuperação de dados por Conteúdo
Uma das tarefas descritivas da
PERCEPTRON (CONTINUAÇÃO)
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Resolução de problemas
Mineração dePreferências Contextuais A. Soulet et al AULA 19 Data Mining Profa. Sandra de Amo.
Mestrado em Ciência da Computação 2008
Busca em Profundidade Para encontrar um caminho de solução Sol, de um dado nó para algum nó objetivo Se N é um nó objetivo, então Sol=[N] Se há um nó N1.
Universidade Federal do Paraná
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
Michele Mengucci CVRM-Centro de Geo-Sistemas IST Lisboa
Árvores.
15 Introdução à Manipulação de Planilhas Eletrônicas Planilhas Eletrônicas são tabelas usadas para comunicar informações de forma clara, precisa e sucinta.
Reconhecimento de Padrões Segmentação
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Reconhecimento de Padrões Dissimilaridade
Reconhecimento de Padrões Aprendizagem Supervisionada (KNN)
Jacques Robin, Francisco Carvalho, Flávia Barros
Descoberta de Conhecimento:
A FAST APRIORI implementation
CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.
Mineração de Padrões Sequenciais
FUNÇÃO MODULAR.
Agrupamento de padrões Métodos hierárquicos
KDD + IA Técnicas de IA em Descoberta de Conhecimento em Bancos de Dados set/2002.
Estruturas de Dados e Complexidade de Algoritmos
Integrando Textura e Forma para a Recuperação de Imagens por Conteúdo
II. M o d e l o s d e C o n h e c i m e n t o
Aprendizado de Máquina
Análise do Lugar das Raízes
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Inteligência Artificial
Aprendizado Baseado em Instâncias – Algoritmo k-NN
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
K-Means / Clustering.
Sistema Recomendador para Comércio Eletrônico
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
DISCIPLINA: SR, Geoprocessamento I e II e Cartografia A tecnologia do Geoprocessamento – Aplicações e Potencialidades 12/3/ Aula 5.
Aula T06 – BCC202 Análise de Algoritmos (Parte 4) Túlio Toffolo
Avaliação de Clusteres Parte II
INF 1771 – Inteligência Artificial
Introdução à Computação Gráfica Curvas
Técnicas de Modelagem para Aplicações em Computação Gráfica
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Classificação de imagens de fotografias históricas usando detecção de linhas e paralelogramos pela presença de edifícios Natália Cosse Batista Grupo 8.
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Revisão Geral Técnicas de Realce Histogramas
Planilha Eletrônica - Excel
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
MÚLTIPLOS GRAUS DE LIBERDADE
Introdução a Banco de Dados Aula 04
Análise de Agrupamentos Marcílio Souto DIMAp/UFRN.
Locus Localização Eudes Cavalcanti.
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG O Problema Dados –Um banco de transações de compra –Cada transação é um conjunto de ítens comprados Encontrar.
Aprendizado Baseado em Instancias. Introdução Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo. Os.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Sistemas de Informação Inteligentes Aula 1 Nadilma Nunes
Transcrição da apresentação:

SCC0141 - Bancos de Dados e Suas Aplicações Tópicos em mineração de dados: Espaços métricos, Classificação KNN e Regras de associação Prof. Jose Fernando Rodrigues Junior

Introdução – Recuperação de dados baseada em conteúdo Grande volume de dados complexos gerados/manipulados cotidianamente: imagens, video, séries, sequências de DNA, data streams, impressões digitais, textos longos, hipertextos... 2

Introdução Classificações por igualdade ou baseadas em comparações relacionais (=, <, >,…) não são significativas! A similaridade, E NÃO A IGUALDADE, entre pares de elementes é a propriedade mais importante. 3

Introdução Exemplo: “Dada a foto do Ronaldinho, retorne as 2 fotos presentes na base de dados mais similares a ela” ? 4

Similaridade intuição

Similaridade intuição A similaridade (e não a igualdade) entre os pares de elementos é o que guia a recuperação de dados complexos. Solução: classificação de dados baseada em conteúdo

Recuperação de dados baseada em conteúdo Os elementos de dados não podem ser indexados diretamente  não há relação de ordem; Para indexá-los, primeiro é necessário transformá-los em um formato computacional  vetores de números. Imagem Vetor de números (características) Histograma 544 109 3100 490 199 ..... 2099

Consultas por Similaridade Consultas por similaridade são efetuadas em domínios de dados complexos, usando-se vetores de características; Vetores de características, cujos elementos podem ser tratados como coordenadas de pontos no espaço n-dimensional: x = (x1, x2, ..., xn)

Vetor de Características Define um espaço n-dimensional, onde n é o número de características - ou atributos de uma relação da BD; Cada imagem passa a “ser vista” por meio de seu vetor de características. Essa visão pode ser espacial ! 9

Extrator de características As características de um dado complexo podem ser anotadas manualmente; Um usuário, por exemplo, poderia descrever cada uma das fotos que bateu antes de colocá-las no banco: Quantas cores; Quantos objetos; Quais formatos, entre outras; É justamente este o problema, a anotação manual das características é inviável – trata-se de uma tarefa exaustiva e subjetiva; A solução é o uso de extratores de características: operadores que aplicam algoritmos sobre os dados complexos, gerando vetores automaticamente. 10

Extração de características Vetores de Características: buscam representar a “essência” do conjunto de dados, segundo um aspecto especificado Cor, textura, forma, relacionamento entre os objetos 11

Extração de características Cor – primeiro algoritmo: histograma de intensidades / cores 12

Extração de características Forma – segmentação da imagem 13

Extração de características Forma – segmentação da imagem São extraídas características de cada região identificada na imagem. Os múltiplos vetores são então combinados. 14

Extração de características Textura – segmentação da imagem Imagem original Imagem segmentada 15

Extração de características Imagem Vetores de Características Pre-processing Imagem Processada

Extração de características Descritores de Haralick – cor/textura

Características e Descrições de Imagens : Níveis de Abstração

Funções de Distância São funções matemáticas ou métodos computacionais que medem a dissimilaridade entre 2 elementos de dados complexos: Valor igual a 0 (zero): os elementos são o mesmo; Quanto mais o valor cresce, mais dissimilares os dados são.

Funções Distância Distância Euclidiana com pesos Dados 2 vetores X={x1,x2, … xn} e Y={y1, y2, … yn} onde 0.0 ≤ pk ≤ 1.0 é a importância da k-ésima característica A distância Euclidiana com pesos, ou distância Euclidiana ponderada permite que determinadas características sejam enfatizadas ou desenfatizadas L2(X, Y) = (xk - yk)2 k=1 n 2

Funções Distância Distância Euclidiana com pesos Dados 2 vetores X={x1,x2, … xn} e Y={y1, y2, … yn} onde 0.0 ≤ pk ≤ 1.0 é a importância da k-ésima característica A distância Euclidiana com pesos, ou distância Euclidiana ponderada permite que determinadas características sejam enfatizadas ou desenfatizadas L2(X, Y) = pk (xk - yk)2 k=1 n 2

Funções de Distância Família Minkowski (generalização) Dados 2 vetores X={x1,x2, … xn} e Y={y1, y2, … yn} Lp(X, Y)= (|xk-yk|)p k=1 n p L0=LInfinity=Chebychev L2=Euclidiana L1=Manhatan A generalização é usada por razões de desempenho computacional e para capturar nuances do conjunto de dados r

Funções de Distância Família Minkowski (generalização) Dados 2 vetores X={x1,x2, … xn} e Y={y1, y2, … yn} Diferentes funções distância, correspondem a diferentes seletividades; Existem dezenas de outras funções distância para diferentes aplicações; Exemplo, função distância para redes (grafos): para quaisquer dois pontos da rede, a distância é dada pelo caminho mais curto entre eles. Lp(X, Y)= (|xk-yk|)p k=1 n p A generalização é usada por razões de desempenho computacional e para capturar nuances do conjunto de dados

Consultas por conteúdo em bases de dados complexos Definido um espaço, não faz mais sentido o uso de consultas pontuais, mas sim: CONSULTAS POR SIMILARIDADE envolvem: um objeto de busca (centro da consulta); parâmetros dependentes do tipo de consulta por similaridade: consultas por abrangência; consultas aos k-vizinhos mais próximos.

Consultas por conteúdo em bases de dados complexos Consulta por abrangência: recupera os objetos que apresentem até dado grau r de similaridade ao objeto de busca sq. r sq

Consultas por conteúdo em bases de dados complexos Consulta aos k-vizinhos mais próximos: recupera os k objetos mais “próximos” (similares) ao objeto de busca sq. sq

Consultas por similaridade Similaridade – Consulta por Abrangência Ex: quais são as cidades que estão localizadas até 100km de Ribeirão Preto. CIDADES DO CONJUNTO DE RESPOSTA: B, C, H G E D (A, C) 70 km D (A, B) 95 km D (A, D) 110 km D (A, H) 20 km D (A, E) 160 km D (A, G) 170 km D (A, F) 175 km D (A, K) 145 km D (A, I) D (A, J) 180 km F C CIDADES FORA DO CONJUNTO DE RESPOSTA: 70 Km J B 100 Km A 95 Km 20 Km D D, E, F, G, I, J, K, 110 Km H K I

CIDADES FORA DO CONJUNTO DE RESPOSTA: Consultas por similaridade Similaridade – Consulta aos k-vizinhos mais Próximos, k-NN Ex: selecione as 2 cidades mais próximas de Ribeirão Preto CIDADES DO CONJUNTO DE RESPOSTA: C, H G E D (A, C) 70 km D (A, B) 95 km D (A, D) 110 km D (A, H) 20 km D (A, E) 160 km D (A, G) 170 km D (A, F) 175 km D (A, K) 145 km D (A, I) D (A, J) 180 km 170 Km 160 Km F 175 Km C CIDADES FORA DO CONJUNTO DE RESPOSTA: 180 Km 70 Km J B A 95 Km 110 Km 20 Km D B, D, E, F, G, I, J, K H K 145 Km 160 Km I

Consultas por Similaridade Os elementos retornados em uma consulta por similaridade são definidos baseando-se em uma função distância Dado S, um espaço de características d: S X S  R+ A função distância, também denominada métrica, calcula a distância entre dois objetos e retorna um valor numérico Quanto menor o valor retornado, mais similares são os objetos Note que a idéia de função distância também se aplica a dados com dimensões indefinidas ou adimensionais, exemplo: grafos de impressões digitais R+: conjuntos dos reais positivos

Espaço Métrico: Definição Um conjunto determinado por um espaço de características e por uma função distância determina um Espaço Métrico; Consultas por similaridade são suportadas por estruturas de dados projetadas para ESPAÇOS MÉTRICOS; Espaço Métrico é um par M = (S, d) onde: S é um domínio ou universo de objetos válidos; d( ) é uma função de distância métrica ou apenas métrica, com as propriedades: 1. Simetria:  x, y  S, d(x, y) = d(y, x); 2. Não-negatividade:  x, y  S, x  y, d(x, y) > 0 e d(x, x) = 0; 3. Desigualdade triangular:  x, y, z  S, d(x, y)  d(x, z) + d(z, y). Caso alguma destas propriedades não seja satisfeita, não há garantia de que as consultas por similaridade farão sentido, os dados retornados podem não satisfazer à percepção desejada ou esperada. 1 2 3 a c b a c b  +

Espaço métrico Caso particular de espaço métrico: Espaço Vetorial, associado a uma métrica. Envolve domínios de dados complexos representados pelo modelo de espaço vetorial. Métricas usuais: família Lp (ou Minkowski).

Métodos de acesso métrico Dado um elemento de consulta, a realização de uma consulta por similaridade pode ser resolvida calculando-se a distância entre este elemento e todos os demais elementos da base de dados  sequential scan; No entanto, esta solução não é eficiente; Para melhor desempenho, são usados métodos de acesso métrico (MAM), os quais permitem a indexação de um espaço métrico; O MAM usado como referência é a M-Tree.

Recuperação de dados baseada em conteúdo - síntese Extratores de características transformam objetos em vetores de características Em tese, a anotação de características também poderia ser usada para o mesmo propósito

Recuperação de dados baseada em conteúdo - síntese Funçõs distância determinam a distância entre vetores de características

Recuperação de dados baseada em conteúdo - síntese Métodos de acesso métrico permitem a indexação de espaços métricos com melhor desempenho

Recuperação de dados baseada em conteúdo - síntese Vetores de características Função Distância

Recuperação de dados baseada em conteúdo - síntese Similarity Queries Vetores de características Função Distância

Recuperação de dados baseada em conteúdo - síntese Metric Structure Distance Function Features Extraction 38

Recuperação de dados baseada em conteúdo - síntese Metric Structure Data retrieval Distance Function Features Extraction

Recuperação de dados baseada em conteúdo - síntese Metric Structure Exemplo: http://gbdi.icmc.usp.br/~junio/MetricSPlat/index.htm Data retrieval Distance Function Features Extraction

Classificação KNN Dado um conjunto de elementos pré-classificados em classes c1, c2, c3, ... distribuídos em um espaço métrico – Conjunto de treino; Dado um elemento e1 não classificado A classe de e1 é dada pela classe majoritária de seus k vizinhos mais próximos

Classificação KNN Qual valor de k usar: Valor pequeno: a classificação será sensível a ruído Valor muito grande: problemas de desempenho e possível perda do princípio de classificação – os dados tenderão a ser classificados como pertencentes à classe com maior número de elementos no conjunto de treino Heurística aceita k = n^1/2 Como ponderar a importância dos vizinhos? Comumente o peso do k-ésimo vizinho é igual a 1/k, isto é, os elementos mais próximos terão maior importância. Exemplo: http://cs.joensuu.fi/pages/oili/PR/?a=Applets&b=kNN__Classifier http://www.leonardonascimento.com/knn.html

Regras de Associação O que é ? Formalização do Problema Algoritmo Apriori para Mineração de Itemsets Mineração de Regras de Associação Exemplos Exercicio

Regras de Associação Itens = {Pão, Leite, Açúcar, ... } Pão, Leite Manteiga Vinho Queijo ITEM, ITEM, ITEM ITEM

Exemplo ID Compras 1 2 3 4 5 6 Pão, , ,Açucar Manteiga, Açúcar Vinho, Queijo 6 Pão, Leite, Manteiga Leite Manteiga Leite Manteiga Leite Leite, Manteiga Do total de transações, 50% = 3/6 contém Leite e Manteiga Do total de transações que compraram Leite, 75% = 3/4, também compraram Manteiga

Medidas de Interesse Suporte de A, B , C D Confiança de A, B , C D número de transações que compraram A,B,C,D Total de transações número de transações que compraram A,B,C,D número de transações que compraram A,B,C

Exemplo ID Compras 1 2 3 4 5 6 Pão, , ,Açucar Manteiga, Açúcar Vinho, Queijo 6 Pão, Leite, Manteiga Leite Manteiga Leite Manteiga Do total de transações, 50% = 3/6 contém Leite e Manteiga (Suporte) Leite Leite, Manteiga Do total de transações que compraram Leite, 75% = 3/4, também compraram Manteiga (Confiança)  São desejadas regras que possuam alto suporte e alta confiança.

Exemplo  São desejadas regras que possuam alto suporte e alta confiança. Por exemplo: imagine que todas as transações que possuem Leite também possuem Manteiga; nesse caso a confiança é de 100% ! Mas imagine que na mesma situação, apenas 5 de 1000 transações possuem Leite e Manteiga; nesse caso o suporte é de 5% ! Começa-se pelo suporte, portanto.

Encontrar as regras de associação mais significativas é um problema que envolve combinatória ABCD Itemset ABC ABD ACD BCD AB AC AD BC BD CD De acordo com a propriedade 2 do próximo slide, se um elemento da árvore é podado, então todos os elementos que vêm acima dele também podem ser podados. A B C D Item

Encontrar as regras de associação mais significativas é um problema que envolve combinatória ABCD Itemset ABC ABD ACD BCD AB AC AD BC BD CD De acordo com a propriedade 2 do próximo slide, se um elemento da árvore é podado, então todos os elementos que vêm acima dele também podem ser podados. A B C D Item

Encontrar as regras de associação mais significativas é um problema que envolve combinatória ABCD Exemplo, caso C seja podado, todos os sets que possuem C também podem ser podados. Itemset ABC ABD ACD BCD AB AC AD BC BD CD De acordo com a propriedade 2 do próximo slide, se um elemento da árvore é podado, então todos os elementos que vêm acima dele também podem ser podados. A B C D Item

Algoritmo Três fatores são importantes: 1. O Suporte mínimo é um parâmetro decisivo – desejam-se apenas itemsets frequentes suporte(itemSet) ≥ min_support 2. Se um itemSet é frequente  todos os seus subItemSets também são frequentes 3. A confiança pode ser calculada em termos de suporte Conf(A, B, C) = suporte(A,B,C) ≥ min_confidence suporte(A,B)

Se um itemSet não tem o suporte mínimo ele pode ser podado Algoritmo Três fatores são importantes: 1. O Suporte mínimo é um parâmetro decisivo – desejam-se apenas itemsets frequentes suporte(itemSet) ≥ min_support 2. Se um itemSet é frequente  todos os seus subItemSets também são frequentes 3. A confiança pode ser calculada em termos de suporte Conf(A, B, C) = suporte(A,B,C) ≥ min_confidence suporte(A,B) Se um itemSet não tem o suporte mínimo ele pode ser podado

Se um itemSet não tem o suporte mínimo ele pode ser podado Algoritmo Três fatores são importantes: 1. O Suporte mínimo é um parâmetro decisivo – desejam-se apenas itemsets frequentes suporte(itemSet) ≥ min_support 2. Se um itemSet é frequente  todos os seus subItemSets também são frequentes 3. A confiança pode ser calculada em termos de suporte Conf(A, B, C) = suporte(A,B,C) ≥ min_confidence suporte(A,B) Se um itemSet não tem o suporte mínimo ele pode ser podado Se um subItemSet não é frequente  pode-se descartar seus superItemSets

Se um itemSet não tem o suporte mínimo ele pode ser podado Algoritmo Três fatores são importantes: 1. O Suporte mínimo é um parâmetro decisivo – desejam-se apenas itemsets frequentes suporte(itemSet) ≥ min_support 2. Se um itemSet é frequente  todos os seus subItemSets também são frequentes 3. A confiança pode ser calculada em termos de suporte Conf(A, B, C) = suporte(A,B,C) ≥ min_confidence suporte(A,B) Se um itemSet não tem o suporte mínimo ele pode ser podado Se um subItemSet não é frequente  pode-se descartar seus superItemSets Basta calcular a frequencia (suporte) dos itemSets para se calcular também o suporte.

Candidatos da combinação 1,3 x 2,5 = {{1,2,3}, {1,3,5}, {2,3,5}}, 2 deles repetidos pelas outras combinações de candidatos, portanto, apenas o {1, 3, 5} é suficiente. Dois dos 3 candidatos tem contagem menos que 2 (não coube na ilustração) e poderiam ser cortados baseando-se em seus subItemSets, que têm contagem abaixo do mínimo.

Um Exemplo L1 = {1}, {2}, {3},{5} Id Compras 1 1,3,5 2 1,2,3,5,7 3 1,2,4,9 4 1,2,3,5,9 5 1,3,4,5,6,8 6 2,7,8 {1,3} C2 = {1,2} {1,5} {2,3} {3,5} {2,5} L2 = {1,2} {1,3} {1,5} {3,5} C3 = {1,2,3} {1,2,5} {1,3,5} L3 = {1,3,5} Suporte minimo = 50%

Exercicio {1,3,5,7,8} {3,4,5,7} {2,3,5,6} {2,4,5,8,9} {2,3,5,11} {1,2,3,7,9} Suporte = 50%

Exercicio {1,3,5,7,8} {3,4,5,7} {2,3,5,6} {2,4,5,8,9} {2,3,5,11} {1,2,3,7,9} C1 = {1}, {2}, {3}, {4} ,{5}, {6 },{7}, {8}, {9},{11} F1 = {2}, {3}, {5}, {7} C2 = {2 3}, {2 5}, {2 7}, {3 5}, {3 7}, {5 7} F2 = {2,3}, {2 5}, {3 5}, {3 7} C3 = {2,3,5}, {3,5,7}, {2,5,7}, {2,3,7} Apos a poda : C3 = {2,3,5} Suporte = 50% F3 = vazio