A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SCC Bancos de Dados e Suas Aplicações

Apresentações semelhantes


Apresentação em tema: "SCC Bancos de Dados e Suas Aplicações"— Transcrição da apresentação:

1 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

2 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

3 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

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

5 Similaridade intuição

6 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

7 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

8 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)

9 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

10 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

11 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

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

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

14 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

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

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

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

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

19 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.

20 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

21 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

22 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

23 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

24 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.

25 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

26 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

27 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

28 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

29 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

30 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 +

31 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).

32 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.

33 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

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

35 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

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

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

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

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

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

41 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

42 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:

43 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

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

45 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

46 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

47 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.

48 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.

49 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

50 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

51 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

52 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)

53 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

54 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

55 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.

56

57 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.

58 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%

59 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%

60 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


Carregar ppt "SCC Bancos de Dados e Suas Aplicações"

Apresentações semelhantes


Anúncios Google