590 likes | 705 Views
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.
E N D
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...
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.
Introdução ? • Exemplo: • “Dada a foto do Ronaldinho, retorne as 2 fotos presentes na base de dados mais similares a ela”
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. 544 109 3100 490 199 ..... 2099 Vetor de números (características) Imagem Histograma
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 !
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.
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
Extração de características Cor – primeiro algoritmo: histograma de intensidades / cores
Forma – segmentação da imagem Extração de características
Forma – segmentação da imagem Extraçã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 segmentada Imagem original Extração de características
Extração de características Pre-processing Vetores de Características Imagem Imagem Processada Extração de Características
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.
n 2 L2(X, Y) = (xk - yk)2 k=1 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
n 2 L2(X, Y) = pk(xk - yk)2 k=1 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
L0=LInfinity=Chebychev r L2=Euclidiana n p Lp(X, Y)= (|xk-yk|)p k=1 L1=Manhatan Funções de DistânciaFamília Minkowski (generalização) • Dados 2 vetores X={x1,x2, … xn} e Y={y1, y2, … yn}
n p Lp(X, Y)= (|xk-yk|)p k=1 Funções de DistânciaFamí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.
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.
r sq Consultas por conteúdo em bases de dados complexos • Consulta por abrangência: recupera os objetos que apresentem até dado grau rde similaridade ao objeto de busca sq.
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.
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 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
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 170 Km 160 Km F 175 Km C CIDADES FORA DO CONJUNTO DE RESPOSTA: 180 Km 70 Km J B A 110 Km 95 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
2 a c a b + c 1 3 b 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, yS, d(x, y) = d(y, x); 2. Não-negatividade:x, yS, x y,d(x, y) > 0 e d(x, x) = 0; 3. Desigualdade triangular: x, y, zS, d(x, y) d(x, z) + d(z, y).
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 Função Distância Vetores de características
Recuperação de dados baseada em conteúdo - síntese SimilarityQueries Função Distância Vetores de características
Features Extraction Recuperação de dados baseadaemconteúdo - síntese Features Extraction Metric Structure Distance Function
Features Extraction Recuperação de dados baseada em conteúdo - síntese Features Extraction Data retrieval Metric Structure Distance Function
Features Extraction Recuperação de dados baseada em conteúdo - síntese Features Extraction Exemplo: http://gbdi.icmc.usp.br/~junio/MetricSPlat/index.htm Data retrieval Metric Structure Distance Function
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 Leite Manteiga Leite Manteiga Leite Do total de transações, 50% = 3/6 contém Leite e Manteiga Leite, 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 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 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 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 A B C D Item