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

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

The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado.

Apresentações semelhantes


Apresentação em tema: "The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado."— Transcrição da apresentação:

1

2 The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado e Classificação de Dados Prof. Dr. rer.nat. Aldo von Wangenheim Antonio da Luz Jr. (estag. docência)

3 The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Noções de Conjuntos de Dados, Métricas de Distância, Normalização e Técnicas de Classificação

4 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Características: Reconhecimento de Padrões Geralmente dados sob a forma de pares atributo-valor –atributo é definido pela posição do valor em um vetor de dados, –ex.: (1 2 4 11.01 1), representando: (num_imóveis, num_carros, num_filhos, idade_media_filhos, bom/mau pagador) Dados numéricos ou representações numéricas de dados simbólicos –ex: 1=fumante, 2=não fumante, 3=fumante eventual. Se os padrões são pré-classificados em classes, essas geralmente são resultado da experiência de usuários humanos no domínio de aplicação. Objetivo quase sempre será o de reconhecer padrões –classificá-los, porém sem gerar explicações complexas sobre o porquê desta classificação.

5 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Como classificamos padrões ? Se já sabemos quantas categorias possuímos e temos exemplos de instâncias de cada categoria: queremos criar um classificador –Vai utilizar nossos exemplos para classificar novos dados. Se temos dados mas não sabemos como se organizam, temos de minerá-los: queremos criar um agrupador –O resultado desse agrupamento pode ser utilizado para classificações futuras.

6 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Conjuntos de Dados Conjuntos de dados 2D (10 2000) Conjuntos de dados n-D (20 4 1) (40 5 100 4 1)

7 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Conjunto de Dados em Espiral Conjunto de dados 2D distribuídos em um Sistema de Coordenadas Polares (r, θ) Os conjuntos de dados em espiral podem ser utilizados para testes de performance em algoritmos de classificação de dados –podem ser gerados automaticamente com variados graus de detalhes e ruído.

8 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Espiral simples Temos dados distribuídos em espiral –Cada ponto representa o protótipo de uma categoria ou classe. A tarefa de reconhecimento de padrões é classificá-los adequadamente, de forma a associar outros dados aleatórios a uma das classes existente na espiral

9 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

10 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Espiral dupla As espirais duplas constituem um problema diferente da espiral simples. –Em uma espiral dupla, cada braço da espiral representa uma categoria ou classe. –Cada classe é representada por muitos pontos, que são organizados sob forma de espiral. A tarefa aqui é classificar um ponto aleatório como pertencente a uma determinada classe, representada através de um braço da espiral.

11 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Na espiral dupla, cada classe é representada por um conjunto de pontos, organizados em espiral –os dois conjuntos de dados não são linearmente separáveis.

12 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

13 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Espiral dupla sem ruído

14 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Espiral dupla com pouco ruído

15 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Espiral dupla com bastante ruído

16 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Métricas de Distância O que são métricas de distância?! –São funções utilizadas para se determinar o grau de dissimilaridade entre dois ou mais valores Onde se aplicam?! –Avaliação de dissimilaridade entre objetos durante o processo de classificação ou agrupamento de padrões –Podem ser utilizados em qualquer situação em que se queira determinar a quão distante um objeto está do outro

17 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Distância de Hamming Originalmente criada para vetores binários: –media distância entre vetores contando o número de bits diferentes: mismatch count. dH(1011101, 1001001) = 2 dH(pato, mata) = 2

18 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Distância de Hamming Extendida Mais útil em RP que a original –Cálculo extremamente rápido

19 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Distância de Hamming Extendida dH + ( (10 2000 20 4 0 0 0) ( 2 3000 40 5 100 4 1) ) = 8 + 1000 + 20 + 1 + 100 + 4 + 1 = 1134

20 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Distância Euclidiana Provê a real distância entre dois pontos em um espaço n-dimensional qualquer. –Cálculo demorado para dimensões elevadas

21 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Distância Euclidiana dE ( (10 2000 20 4 0 0 0) ( 2 3000 40 5 100 4 1) ) = 1.005,23

22 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Normalização de Valores Por que normalizar?! –Aproximar valores com escalas muito diferentes –Facilitar a manipulação e interpretação dos dados Como normalizar?! –Um valor normalizado é obtido pela divisão desse valor pelo resultado da soma de todos os valores existentes no conjunto

23 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Técnicas de Classificação de Dados É um conjunto de regras que devem ser seguidas durante o processo de classificação de novos conjuntos de dados (padrões) dentro de um determinado domínio Servem para identificar a qual classe de dados existente o novo conjunto deve ser associado Muitas vezes se utilizam das Métricas de Distância para determinar o grau de dissimilaridade entre o novo padrão e os já existentes no domínio

24 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Nearest Neighbour - NN Classifica um novo padrão calculando a distância deste a todos os outros em alguma métrica predefinida e escolhe como classe para ele a classe daquele mais próximo nesta métrica.

25 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR ?

26 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR k-Nearest Neighbour k-NN utiliza um critério de votação: –observa os k padrões mais próximos ao novo padrão a ser classificado. Classifica o padrão com a classe mais freqüente na lista dos k padrões analisados.

27 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR ?

28 The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Tesselação: Triangulação de Delaunay e Diagrama de Voronoi

29 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Tesselação Uma outra forma de gerarmos um classificador para padrões é dividirmos o espaço de dados em regiões através de algum método geométrico. Cada região representa então uma categoria ou classe. Classificamos padrões observando em que região caem. A forma mais tradicional de Tesselação é o Diagrama de Voronoi.

30 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR O que é um Diagrama de Voronoi ? Foi inventado para resolver um problema simples: –Como dividir uma cidade em áreas irregulares de forma a que a área coberta por um carteiro vinculado a uma determinada agência de correio seja otimizada ?

31 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR O que é um Diagrama de Voronoi ? G. F. Voronoi, em sua tese de doutorado intitulada Ob odnom obobshchenii algorifma nepreryvnykh drobei (Sobre uma generalização do algoritmo de quebra de cadeias.), publicada em Varsóvia, Polônia, em 1896, desenvolveu um método onde, –com base em uma triangulação pré-existente de pontos que representam os centros de alguma coisa (no caso da primeira aplicação, agências de correio), –se determina qual a área de influência de cada um destes centros em função da posição dos outros centros, delimitando de forma geométrica cada área de influência.

32 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR O que é um Diagrama de Voronoi ?

33 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR O que é um Diagrama de Voronoi ? Chamamos estes "centros" de centróides. –Se nós temos um conjunto de padrões constituído de um elemento típico para cada categoria que queremos representar (protótipo), podemos nos utilizar do diagrama de Voronoi para determinar a extensão de cada uma das categorias, simplesmente utilizando cada um dos protótipos como um centróide e gerando um diagrama de Voronoi sobre estes. Para podermos gerar um diagrama de Voronoi partimos do conjunto de protótipos e geramos primeiramente uma triangulação. –Para isto utilizamos o método da Triangulação de Delaunay

34 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

35 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

36 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

37 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

38 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

39 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

40 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

41 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR

42 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Exercícios (entregar 25/09/2006) Definir 4 conjuntos de dados: 2 qquer (2D e nD) e 2 espirais –Ex.: dos sites sugeridos –Espiral: Gerar com e sem ruído e com número variável de elementos de dados. Implementar Hamming+, DE, NN e kNN –Gerar dados aleatórios e testar com todos os 4 conjuntos. –Mostrar pela cor com qual categoria foram classificados os dados aleatórios (interface gráfica). Implementar diagrama de Voronoi –Gerar dados aleatórios e testar no conj. 2D e nas duas espirais –Apresentar os resultados com interface gráfica

43 Disciplina Reconhecimento de Padrões Curso de Ciência da Computação INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Sugestões http://www.voronoi.com/ http://www.ics.uci.edu/~eppstein/gina/scot.drysdale.html http://www.cs.cornell.edu/Info/People/chew/Delaunay.html http://mathworld.wolfram.com/VoronoiDiagram.html http://www.msi.umn.edu/~schaudt/voronoi/voronoi.html http://www.diku.dk/hjemmesider/studerende/duff/Fortune/ http://www.cs.unc.edu/~geom/voronoi/ http://www.csie.ntu.edu.tw/~b5506061/voronoi/Voronoi.html http://www.ifor.math.ethz.ch/~fukuda/polyfaq/node27.html http://www.dr-mikes-maths.com/DotPlacer.html http://wwwp.fc.unesp.br/~mauri/Down/Polares.pdf


Carregar ppt "The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Reconhecimento de Padrões Métodos, Técnicas e Ferramentas para Aprendizado."

Apresentações semelhantes


Anúncios Google