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

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

Reconhecimento de Padrões

Apresentações semelhantes


Apresentação em tema: "Reconhecimento de Padrões"— Transcrição da apresentação:

1 Reconhecimento de Padrões

2 TE073 – Processamento Digital de Sinais II
Introdução O que é RP ? RP engloba uma literatura tão vasta que sua definição é polêmica. RP está ligada a busca de “regularidades” Deste tempos pré-históricos, o homem buscou “regularidades” em que pudesse confiar e que lhe desse uma sensação de segurança num mundo hostil. TE073 – Processamento Digital de Sinais II

3 Distâncias na Aprendizagem Automática

4 TE073 – Processamento Digital de Sinais II
Sumario Pesquisa nos dados  Princípio da similaridade  Distâncias e Métrica de Distâncias  Um modelo unificado de distância TE073 – Processamento Digital de Sinais II

5 TE073 – Processamento Digital de Sinais II
Pesquisa nos dados Pesquisar dados é fundamental na Ciência da Computação Tradicionalmente BD organizadas em “dados estruturados” Evolução Tec. de Informação: “dados não estruturados”: Pesquisa por similaridade ou proximidade (similarity/proximity searching) Procurar objetos que são parecidos ou próximos Similaridade modelada como função da distância que satisfaz desigualdade do triângulo. Objetos formam “espaço métrico” TE073 – Processamento Digital de Sinais II

6 TE073 – Processamento Digital de Sinais II
Espaço métrico   Uma função d(x,y) não negativa que descreve a distância entre pontos vizinhos num conjunto constitui uma métrica Espaço métrico um conjunto que possui uma métrica: (S, d) Formado por conjunto S de objetos válidos com uma função de distância global d(x, y) > 0 onde a distância entre pontos está definida. Satisfaz x, y, z  S: (I) d(x, y)  não negativa (II) d(x, y) = d(y, x) simetria (III) d(x, x) = reflexividade (IV) x  y  d(x, y) > estritamente positiva (V) d(x, y)  d(x, z) + d(z, y) desigualdade triangular bioinformatics, medical applications, electronic commerce, Web Intelligence and Business Intelligence. TE073 – Processamento Digital de Sinais II

7 r= (A1|v1, A2|v2,..,Ai|vi,.,Ax|vk , cL )
Se os objetos do espaço métrico têm k coordenadas de valores reais, então temos um espaço métrico especial chamado Espaço Vectorial (vector space) e os vectores: VECTOR K-DIMENSIONAL r= (A1|v1, A2|v2,..,Ai|vi,.,Ax|vk , cL ) Em qualquer espaço métrico podemos definir Bolas Abertas: B(x; r) = {y   | d(x, y) < r} x  , r =raio da bola Quais dados seleccionar, onde colocar o ênfases, quais são representativos? Como limpar os dados. Qual estratégia? Simplesmente apagar, substituir valores em falta Por algum valor médio? O que fazer com “outliers”? São válidos? Como vão alterar os patrões e modelos a construir? Redução dos dados: quais variáveis eliminar Projecção dos dados: podemos reduzir os dados a alguma forma invariante? TE073 – Processamento Digital de Sinais II

8 Objetos no espaço 2-dimensional
Classificação: Fazer o mapeamento dos dados em uma de varias classes existentes Clustering: descritiva. Tarefa que procura identificar um conjunto de categorias ou ilustres para a descrição dos dados. O O O O O O O O O A2 TE073 – Processamento Digital de Sinais II

9 Objetos no espaço 3-dimensional
Classificação: Fazer o mapeamento dos dados em uma de varias classes existentes Clustering: descritiva. Tarefa que procura identificar um conjunto de categorias ou ilustres para a descrição dos dados. A3 TE073 – Processamento Digital de Sinais II

10 Principio da Similaridade
A similaridade é uma medida continua de uma simetria imperfeita. (Sendo a simetria uma medida de algo que não é possível distinguir) Aplicado nas mais diversas ciências: Medicina e Homeopatia : A lei dos similares Psicologia cognitiva: comportamento Estrutura molecular: entropia e similaridade Percepção visual Geometria computacional Teoria da Informação: entropia - similaridade - informação Reconhecimento de Padrões: métodos baseados em casos TE073 – Processamento Digital de Sinais II

11 TE073 – Processamento Digital de Sinais II
O Principio de similaridade afirma que as coisas que partilham características visuais tais como a forma, o tamanho, a cor, textura, valor ou orientação, serão vistas como pertencentes a um todo. No exemplo a direita as duas linhas enchidas dão aos nossos olhos a impressão de duas linhas horizontais, mesmo se todos os círculos presentes são equidistantes entre eles. No exemplo a esquerda, os círculos maiores aparecem pertencer juntos pela sua similaridade em tamanho. (fonte: Gestalt principles, Bonnie Skaalid) TE073 – Processamento Digital de Sinais II

12 Principio da Similaridade e Classificação
Um registo pertence à classe c, se o(s) registo(s) mais próximo(s) no espaço n-dimensional dos registos conhecidos (treino) pertence à mesma classe c Utiliza: Abstração matemática de distância TE073 – Processamento Digital de Sinais II

13 Aplicações na Pesquisa por Similaridade
 Bases de Dados estruturadas pesquisa de chave, intervalo, proximidade   Objetos Multimédia Imagens, impressões digitais, áudio, SIG Texto livre não estruturado Conceitos semânticos, palavras relevantes, pronuncia  Biologia computacional: sequências DNA e proteínas  Reconhecimento de Padrões e Funções de Aproximação  Compressão de áudio e vídeo: enviando frames e sub-frames num canal de comunicação TE073 – Processamento Digital de Sinais II

14 TE073 – Processamento Digital de Sinais II
Distâncias A distância entre dois pontos é o comprimento da linha que os conecta. No caso de vetores: muitas funções para calcular as distâncias Estruturas de pesquisa para espaços vectoriais : SAM kd-trees, R-trees, X-trees, quad-trees,...  A mais utilizada é aquela da família de distâncias Minkowski: Ls((x1,...,xk),(y1,...,yk)) = No caso de vectores é conhecida como norma L2 ||x||2 ou Euclidiana Quais dados seleccionar, onde colocar o ênfases, quais são representativos? Como limpar os dados. Qual estratégia? Simplesmente apagar, substituir valores em falta Por algum valor médio? O que fazer com “outliers”? São válidos? Como vão alterar os patrões e modelos a construir? Redução dos dados: quais variáveis eliminar Projecção dos dados: podemos reduzir os dados a alguma forma invariante? TE073 – Processamento Digital de Sinais II

15 TE073 – Processamento Digital de Sinais II
Distâncias L= 1, Manhattan (City block) L = 2, Euclidiana L = , Chebychev Mahalanobis Hamming distance, Edit distance, Housdorff distance, etc. TE073 – Processamento Digital de Sinais II

16 TE073 – Processamento Digital de Sinais II
Canberra Quadrática Correlação Chi-quadrado E ainda Hamming , Edit, Housdorff distances TE073 – Processamento Digital de Sinais II

17 TE073 – Processamento Digital de Sinais II
Pesquisas de interesse nos espaços métricos:  1) Pesquisa por intervalos: (q, r) d Obter todos os objetos que estão a uma distância r de q. { x  S | d(q, x)  r }  2) Pesquisa do Vizinho mais Próximo: (Nearest Neighbor ou NN): Obter os objetos mais perto de q  S. { x  S, |  y  S, d(q, x)  d(q, y) }  3) k-NN: Tirar os k objetos mais próximos de q S obter um conjunto A  S tal que |A|= k , e x A, y S - A, d(q, x)  d(q, y) (NN)q: Em alguns casos ficamos satisfeitos com 1 elemento. Opcionalmente podemos dar uma distancia maxima R*: se o elemento mais proximo identificado está a uma distancia superior a r*, então não queremos qualquer elemento deste query. TE073 – Processamento Digital de Sinais II

18 TE073 – Processamento Digital de Sinais II
Exemplo de pesquisa de intervalo para 2 3 pesquisa 4 2 10 5 1 8 7 {x  , d(q, x)  r} q 6 9 11 12 Seleccionamos um objecto arbitrário p em S como a raiz da árvore. Para cada distancia i seleccionamos o subconjunto Si, como o conjunto de todos os objectos a uma distancia i da raiz p. Logo, para um conjunto não vazio Si, construimos o filho de p (etiquetado como i) onde recursivamente construímos a árvore BKT para Si. Este processo pode ser repetido até que resta só um elemento, ou até ficar um número b de elementos (uma página por exemplo). Dada uma distancia, começamos na raiz e entramos em todos os filhos i tais que estejam a uma distancia d(p,q)- r <= i <= d(p,q)+ r (q, r)d q  , r é um número real indicando o raio (tolerância) da pesquisa Espaço: (n), construção: (n log n), query: (n) TE073 – Processamento Digital de Sinais II

19 TE073 – Processamento Digital de Sinais II
Conjunto dos pontos a uma mesma distância do centro. Depende do tipo de distância TE073 – Processamento Digital de Sinais II

20 TE073 – Processamento Digital de Sinais II
2 7 12 5 4 9 1 3 8 6 pesquisa 10 11 Para cada distância i > 0: i = { x , d(x, p) = i } q p = raiz , , ,8,9, i = Seleccionamos um objecto arbitrário p em S como a raiz da árvore. Para cada distancia i seleccionamos o subconjunto Si, como o conjunto de todos os objectos a uma distancia i da raiz p. Logo, para um conjunto não vazio Si, construimos o filho de p (etiquetado como i) onde recursivamente construímos a árvore BKT para Si. Este processo pode ser repetido até que resta só um elemento, ou até ficar um número b de elementos (uma página por exemplo). Dada uma distancia, começamos na raiz e entramos em todos os filhos i tais que estejam a uma distancia d(p,q)- r <= i <= d(p,q)+ r Árvore BKT : pesquisa de intervalo para funções discretas Dados pesquisa q e distancia r, percorremos todos os filhos i tais que: d(p, q) - r  i  d(p, q) + r (recursivamente) Espaço: (n), constr: (n log n), query: (n) TE073 – Processamento Digital de Sinais II

21 TE073 – Processamento Digital de Sinais II
12 3 p <= > 3.1 <= >2.9 <= >4 2 3.1 4 10 p 6 7 9 14 15 1 5 13 8 Espaço: (n), constr: (n log n), query: (log n), r pequeno Árvore VPT : pesquisa para funções distância continuas árvore binária recursiva com qualquer objeto p como raiz Calcula-se a mediana do conjunto de todas as distâncias: M = mediana {d(p, x) x  S} sub-árvore esq: d(p, x) <= M sub-árvore dir: d(p, x) > M Pesquisa: d = d(q, p). if d - r >= M -----> esquerda if d + r > M -----> direita TE073 – Processamento Digital de Sinais II

22 TE073 – Processamento Digital de Sinais II
Pesquisa método Vizinho mais próximo (NN) Principio de similaridade Aprendizagem com dados de treino A1 A2 TE073 – Processamento Digital de Sinais II

23 NN: Método de pesquisa por incremento do raio
Procurar q com raio fixo r = ai  (a > 1), a começar com i = 0; Incrementar até obter Sk = {x  S, r = ai } O valor do raio pode ser refinado mais tarde entre: r= ai-1  e r = ai  Complexidade aumenta rapidamente com r por isto incremento pode ser a --> 1 TE073 – Processamento Digital de Sinais II

24 TE073 – Processamento Digital de Sinais II
NN: Backtracking com raio descrescente Iniciar a procura numa estrutura qualquer com raio r* =  Cada vez q comparado com elemento p, atualiza raio de pesquisa: r*  min((r*, d(q, p)) e continua a pesquisa agora com este raio reduzido ..... Importante encontrar rapidamente os objetos próximos A complexidade da procura dependerá da estrutura de dados utilizada Por exemplo em BKT poderiamos começar na raiz e medir i = d(p, q). Logo consideramos as arestas i, i -1, i -1, i -2, i + 2, etc TE073 – Processamento Digital de Sinais II

25 TE073 – Processamento Digital de Sinais II
k-Nearest Neighbors: aprendizagem "preguiçosa" Ideia: manter os k objetos mais próximos de q, Fixando o valor de r* como a distância máxima entre aqueles elementos e q. Inicialmente raio r* =  Cada novo objeto relevante, é inserido como um dos k vizinhos mais próximos. Por exemplo em BKT poderiamos começar na raiz e medir i = d(p, q). Logo consideramos as arestas i, i -1, i -1, i -2, i + 2, etc Complexidade classificação: ( n x m) n=registos, m atributos TE073 – Processamento Digital de Sinais II

26 Árvores k- dimensionais
Uma árvore binária onde os nós correspondem a regiões no espaço n-dimensional A raiz da árvore corresponde a todo o espaço Os dois filhos num nó correspondem a divisão em uma dimensão Exemplo árvore 2-dimensional [2,5] [8,9] [3,8] [6,3] [3,8] [2,5] [6,3] [8,9] TE073 – Processamento Digital de Sinais II

27 Procura nas Árvores k-d (kd-trees)
Primeira aproximação: procura o nó que contém o alvo Procura NN num kd-tree (log n) x Objeto que contem o nó onde está o alvo Voltamos ao pai do nó atual Solução possível só se há interseção entre o círculo e a área do pai não precisamos calcular para este algoritmo volta ao nó anterior (acima da horizontal ) A primeira aproximação não é necessariamente o vizinho mais próximo. TE073 – Processamento Digital de Sinais II

28 Procura nas Árvores k-d (kd-trees) Pesquisando nós em uma kd-tree
Primeira aproximação: procura o nó que contém o alvo Pesquisando nós em uma kd-tree Só uns poucos nós são pesquisados x A primeira aproximação não é necessariamente o vizinho mais próximo. TE073 – Processamento Digital de Sinais II

29 Procura nas Árvores k-d (kd-trees) Pesquisando nós em uma kd-tree
Primeira aproximação: procura o nó que contem o alvo Pesquisando nós em uma kd-tree Uma má distribuição dos objectos faz com que quase todos os nós sejam pesquisados De la distribucion espacial de los objetos depende mucho la eficacia de la pesquisa. TE073 – Processamento Digital de Sinais II

30 Indexação em espaços métricos
Dados Index Em geral: Todos os algoritmos utilizando índices partilham o conjunto S em subconjuntos Indexação em espaços métricos TE073 – Processamento Digital de Sinais II

31 Pesquisar em classes candidatas
Percorrer o Índice q TE073 – Processamento Digital de Sinais II

32 Modelo unificado [Chávez et al, 2001]
Todos algoritmos utilizando índices na pesquisa proximidade, constróem relações equivalentes. A pesquisa só se concentra em algumas classes relações equivalentes : Dado conjunto  definimos uma partição () = {1, 2,...n} uma colecção de conjuntos disjuntos cuja união é  i =  e  i  j, i  j = . Cada elemento da partição: classe equivalente Uma relação é um subconjunto do produto externo  x  de . Dois elementos x,y estão relacionados x~y, se o par (x, y) está no subconjunto. A relação equivalente x  y, se para x, y   satisfaz: Reflexividade: (x  x) Simetria: (x  y  y  x) Transitividade: (x  y  y  z x  z) Cada partiçao pi(x) induce uma relação equivalente, y conversamente cada relação equivalente induce uma partição. Dois elementos estão relacionados se eles pertencem ao mesmo elemento de partição pi. Cada elemento pi(i) da partição é uma classe equivalênte. TE073 – Processamento Digital de Sinais II

33 Relações equivalentes são de 2 tipos:
a) Relacões são definidas em termos de distâncias a um "pivot" Dois objetos são equivalentes se estão a mesma distância de todos os pivots x y  d(x, p) = d(y, p) e a relação de equivalência do pivot: x  {pi} y  d(x, pi) = d(y, pi) b) Baseadas na proximidade a "grupos" Baseadas na relação de equivalência de Voronoi Grupos ou centros : {g1, g2,..,gm} X  (gi) y  closest(x, {gi} = closest(y, {gi}) Onde closest(x, S) = {w  S,  w'  S, d(z, w)  d(z, w')} Voronoi: dividimos o espaço com uma partição para cada gi e a classe de ci é aquela dos pontos que tem gi como o seu centro mais próximo. TE073 – Processamento Digital de Sinais II

34 Relações equivalentes tipo "pivot"
A distância d(x, y) não pode nunca ser menor que: d(x, y)  |d(x, p) - d(y, p)| para qualquer elemento p, devido à desigualdade triangular. Alternativamente as relações equivalentes podem ser consideradas como as projeções no espaço vetorial k onde k = número de pivots utilizados ver---> Voronoi: dividimos o espaço com uma partição para cada gi e a classe de ci é aquela dos pontos que tem gi como o seu centro mais próximo. TE073 – Processamento Digital de Sinais II

35 TE073 – Processamento Digital de Sinais II
Mapear um espaço métrico em um "vector space" com métrica L utilizando dois pivots p1 p2 a1 b2 b1 a2 d(x, p2) q d(x, p1) Como saber se elemento u   ? Procuramos aleatoriamente em pivots se: |d(q, pi) - d(u, pi) | > r, logo por desig. Triângulo sabemos d(q, u) > r sem ter que avaliar d(q, u) Distâncias aos pivots: pre-processamento!! TE073 – Processamento Digital de Sinais II

36 TE073 – Processamento Digital de Sinais II
11 2 7 12 5 4 9 1 3 8 6 10 15 14 13 Localidade classes equivalentes Uma classe pode incluir varias células "Localidade": Quanto é que as classes se parecem com as células. 11 8 9 2 5 12 15 13 1 14 6 4 7 3 10 Fig.: Relação equivalente criada pela intersecção de anéis centrados em dois "pivots" e a transformação na pesquisa As classes equivalentes podem ser imaginadas como um conjuntos de células disjuntas no espaço, onde cada elemento no interior duma célula pertence a mesma classe equivalente. TE073 – Processamento Digital de Sinais II

37 TE073 – Processamento Digital de Sinais II
Diagrama de Voronoi A divisão de um plano com n pontos em n polígonos convexos, tal que cada polígono contém exatamente um ponto e cada ponto em um dado polígono está mais próximo do seu ponto central que de qualquer outro. TE073 – Processamento Digital de Sinais II

38 TE073 – Processamento Digital de Sinais II
Ex.: A região de um ponto chamada Polígono de Voronoi é dada por: V(pi) = { P | d(P, pi) < d(P, Pj),  j  i} TE073 – Processamento Digital de Sinais II

39 Relações equivalentes de Voronoi
Definir relações equivalentes respeito a proximidade dum dado conjunto chamados "centros" ou "grupos" A relação equivalente de Voronoi baseada em centros: {c1, c2,..,cm} é: x ~{ci} y  proximo(x, {ci}) = proximo(y, {ci}) Onde próximo(z, S) = {w  S, w'  S, d(z, w)  d(z, w')} A relação equivalente de Voronoi portanto, divide o espaço numa partição para cada ci, isto é, dos pontos que têm ci como o seu centro mais próximo. TE073 – Processamento Digital de Sinais II

40 Partição de Voronoi com 4 centros e dois queries
O espaço é dividido com uma partição para cada ci. A classe dos pontos que têm ci como seu centro mais próximo é ela própria. Encontramos [q] procurando o vizinho mais próximo de q no conjunto de centros ci : o conjunto de classes intersectadas pelos círculos das pesquisas. TE073 – Processamento Digital de Sinais II

41 TE073 – Processamento Digital de Sinais II
E que acontece quando os dados são simbólicos ou os domínios são infinitos? "verde" "branco" "vermelho“ “Esquerda” “Direita” “Cima” “Baixo” O que fazemos para calcular as distâncias? TE073 – Processamento Digital de Sinais II


Carregar ppt "Reconhecimento de Padrões"

Apresentações semelhantes


Anúncios Google