scc0141 - bancos de dados e suas aplicações tópicos em mineração de dados: espaços métricos,...

Post on 16-Apr-2015

111 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Grande volume de dados complexos gerados/manipulados cotidianamente: imagens, video, séries, sequências de DNA, data streams, impressões digitais, textos longos, hipertextos...

Introdução – Recuperação de dados baseada em conteúdo

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

Introdução

Exemplo: “Dada a foto do Ronaldinho, retorne as 2 fotos

presentes na base de dados mais similares a ela”

Introduçã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

Similaridade intuição

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.

ImagemVetor de números (características)Histograma

544 109 3100 490 199 ..... 2099

Recuperação de dados baseada em conteúdo

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)

Consultas por Similaridade

Vetor de CaracterísticasVetor 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 !

Extrator de característicasExtrator 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.

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

Extração de característicasExtração de características

Extração de característicasExtração de características

Cor – primeiro algoritmo: histograma de intensidades / cores

Forma – segmentação da imagem

Extração de característicasExtração de características

Forma – segmentação da imagem

Extração de característicasExtração de características

São extraídas características de cada região identificada na imagem.Os múltiplos vetores são então combinados.

Textura – segmentação da imagem

Imagem original Imagem segmentada

Extração de característicasExtração de características

Imagem Vetores de Característica

s

Pre-processing

Imagem Processada

Extração de Características

Extração de característicasExtração de características

Descritor Equação Significado

Variance i j

jiPji ),()( 2 level of contrast of the image

Entropy i j

jiPjiP ),(log),( suavity of the image

Energy i j

jiP ),(2 uniformity of the image

Homogeneity i j

jijiP |)|1/(),( homogeneity of pixels distribution

3td Order Moment i j

jiPji ),()( 3 distortion level of image

Inverse Variance i j

jijiP 2)/(),( inverse level of contrast

Descritores de Haralick – cor/textura

Extração de característicasExtração de características

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

Nível 1: Pixels da imagem

Nível 2: Procurar bordas,linhas, curvas e regiões

Nível 3 - Combinar einterpretar os atributos donível 2

Nível 4: Mapeamento humano,relacionamento entre os objetos donível 3

Sintático

Semântico

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ânciaDistâ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

n2

Funções DistânciaDistâ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

n2

Funções de DistânciaFamília Minkowski (generalização)

L2=Euclidiana

L0=LInfinity=Chebychev

L1=Manhatan

r

Lp(X, Y)= (|xk-yk|)p

k=1

np

• Dados 2 vetores X={x1,x2, … xn} e Y={y1, y2, … yn}

Funções de DistânciaFamília Minkowski (generalização)

Lp(X, Y)= (|xk-yk|)p

k=1

np

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

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 Consultas por conteúdo em bases de dados complexoscomplexos

Consulta por abrangência: recupera os objetos que apresentem até dado grau r de similaridade ao objeto de busca sq.

rssqq

Consultas por conteúdo em bases Consultas por conteúdo em bases de dados complexosde dados complexos

Consulta aos k-vizinhos mais próximos: recupera os k objetos mais “próximos” (similares) ao objeto de busca sq.

ssqq

Consultas por conteúdo em bases Consultas por conteúdo em bases de dados complexosde dados complexos

Consultas por similaridadeConsultas por similaridade

CIDADES DO CONJUNTO DE RESPOSTA:

CIDADES DO CONJUNTO DE RESPOSTA:

B, C, HB, C, H

CIDADES FORA DO CONJUNTO DE RESPOSTA:CIDADES FORA DO CONJUNTO DE RESPOSTA:

D, E, F, G, I, J, K,D, E, F, G, I, J, K,

BAA

C

D

E

F

G

H

I

J

K

100 Km100 Km70 Km70 Km

20 Km20 Km95 Km95 Km

110 Km110 Km

Similaridade – Consulta por AbrangênciaSimilaridade – Consulta por Abrangência

Ex: quais são as cidades que estão localizadas até Ex: quais são as cidades que estão localizadas até 100km de Ribeirão Preto.100km de Ribeirão Preto.

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) 160 km

D (A, J) 180 km

Consultas por similaridadeConsultas por similaridade

CIDADES DO CONJUNTO DE RESPOSTA:CIDADES DO CONJUNTO DE RESPOSTA:

C, HC, H

CIDADES FORA DO CONJUNTO DE RESPOSTA:

CIDADES FORA DO CONJUNTO DE RESPOSTA:

B, D, E, F, G, I, J, KB, D, E, F, G, I, J, K

BAA

C

D

E

F

G

H

I

J

K

70 Km70 Km

20 Km20 Km95 Km95 Km 110 Km110 Km

Similaridade – Consulta aos Similaridade – Consulta aos kk-vizinhos mais -vizinhos mais Próximos, k-NNPróximos, k-NN

Similaridade – Consulta aos Similaridade – Consulta aos kk-vizinhos mais -vizinhos mais Próximos, k-NNPróximos, k-NN

Ex: selecione as 2 cidades mais próximas de Ribeirão Preto

170 Km170 Km

145 Km145 Km

175 Km175 Km160 Km160 Km

180 Km180 Km

160 Km160 Km

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) 160 km

D (A, J) 180 km

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

Consultas por Similaridade

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

Espaço Métrico: Definição

11

22

33

aa cc

bb

aa ccbb ++

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

L - Infinity

L1 - Manhattan

L2 - Euclidian

Espaço 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.

Métodos de acesso métrico

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

Funçõs distância determinam a distância entre vetores de características

L2=Euclidiana

r

L0=LInfinity=Chebychev

L1=Manhatan

Recuperação de dados baseada em conteúdo - síntese

Função DistânciaVetores de características

Recuperação de dados baseada em conteúdo - síntese

Função DistânciaVetores de características

Similarity QueriesSimilarity Queries

Recuperação de dados baseada em conteúdo - síntese

Metric Structure

Distance Function

Features ExtractionFeatures Extraction

Recuperação de dados baseada em conteúdo - síntese

Metric Structure

Distance Function

Features ExtractionFeatures Extraction

Data retrieval

Recuperação de dados baseada em conteúdo - síntese

Metric Structure

Distance Function

Features ExtractionFeatures Extraction

Data retrieval

Recuperação de dados baseada em conteúdo - síntese

Exemplo:

http://gbdi.icmc.usp.br/~junio/MetricSPlat/index.htm

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

Classificação KNN

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çãoItens = {Pão, Leite, Açúcar, ... }

Pão, Leite Manteiga

Vinho Queijo

ITEM, ITEM, ITEM ITEM

45

ExemploID Compras

1 Pão, ,

2 ,Açucar

3

4 Manteiga, Açúcar

5 Vinho, Queijo

6 Pão, Leite, Manteiga

Leite

LeiteLeite Manteiga

Manteiga

Leite, Manteiga Do total de transações, 50% = 3/6contém Leite e Manteiga

Do total de transações que compraramLeite, 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 número de transações que compraram A,B,C

número de transações que compraram A,B,C,D Total de transações

47

ExemploID Compras

1 Pão, ,

2 ,Açucar

3

4 Manteiga, Açúcar

5 Vinho, Queijo

6 Pão, Leite, Manteiga

Leite

Leite

Leite Manteiga

Manteiga

Leite, Manteiga

Do total de transações, 50% = 3/6contém Leite e Manteiga

(Suporte)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

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.

São desejadas regras que possuam alto suporte e alta confiança.

49

A CB D

ADACAB BC BD

ABCD

ABD ACDABC

CD

Itemset

Item

BCD

Encontrar as regras de associação mais significativas é um problema que envolve combinatória

50

A CB D

ADACAB BC BD

ABCD

ABD ACDABC

CD

Itemset

Item

BCD

Encontrar as regras de associação mais significativas é um problema que envolve combinatória

51

A CB D

ADACAB BC BD

ABCD

ABD ACDABC

CD

Itemset

Item

BCD

Encontrar as regras de associação mais significativas é um problema que envolve combinatória

Exemplo, caso C seja podado, todos os sets que possuem C também podem ser podados.

AlgoritmoTrê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)

AlgoritmoTrê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

AlgoritmoTrê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

AlgoritmoTrê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

58

Um Exemplo

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

L1 = {1}, {2}, {3},{5}

Suporte minimo = 50%

{1,2}

{1,3}

{1,5}

{2,3}

{2,5}

{3,5}

C2 =

C3 = {1,2,3} {1,2,5} {1,3,5}

{1,2}

{1,3}

{1,5}

{3,5}

L2 =

L3 = {1,3,5}

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}

F1 = {2}, {3}, {5}, {7}

Suporte = 50%

C1 = {1}, {2}, {3}, {4} ,{5}, {6 },{7}, {8}, {9},{11}

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}

F3 = vazio

top related