• Nenhum resultado encontrado

V i conjunto de vetores de características

3.2 Módulo de Agrupamentos de Dados

Figura 3.1: Visão geral da Arquitetura proposta composta de 2 (duas) fases : Treinamento e Teste; e de 4 (quatro) módulos: Agrupamento de Dados, Geração de Classificadores, Seleção Dinâmica de Classificadores e Combinação Classificadores.

grupo contém os elementos mais semelhantes entre si, de acordo com a medida de similaridade adotada. Os grupos gerados pelo módulo de Agrupamento de Dados são utilizados como entrada para o módulo de Geração de Classificadores. Para cada grupo Ti, i variando de 1

até n, é criado um conjunto de classificadores Cicontendo m classificadores especialistas nas

regiões encontradas anteriormente, ou seja Ci= {ci1, ci2, ..., cim}, sendo cimo último classificador

especialista gerado para o grupo Ti. O conjunto de todos os classificadores gerados é dado por

C , desta forma C = {C1,C2, ...,Cn}, que contém n×m classificadores.

Após o processamento inicial, utiliza-se o conjunto de classificadores geradosC para determinar a classe de um padrão de entrada xq. O conjunto de classificadoresC é fornecido

como entrada para o módulo de Seleção Dinâmica de Classificadores que irá selecionar um subconjunto de classificadoresC0 que classifiquem corretamente os elementos da região de competência pertencentes ao conjunto de validação V . Os classificadores selecionados C0 são combinados pelo módulo de Combinação de Classificadores e utilizados para determinar a classe wqdo padrão de entrada xq. Esse processo é repetido para cada novo padrão apresentado

pertencente a base de entradaX .

Nas próximas seções, os módulos acima apresentados serão descritos detalhadamente.

3.2

Módulo de Agrupamentos de Dados

Este módulo é responsável por gerar os agrupamentos dos dados. Assume-se que os dados podem ser agrupados utilizando a similaridade entre eles. O objetivo é formar grupos que

35 3.2. MÓDULO DE AGRUPAMENTOS DE DADOS apresentem um maior grau de similaridade entre os elementos de forma a criar conjuntos de classificadores especialistas em subgrupos dos dados originais.

O grau de similaridade dos dados pode ser identificado utilizando uma função de distância. A função de distância utilizada neste trabalho é baseada em Kullback-Leibler divergence [23], porém, obedecendo à propriedade de simetria, ou seja, a distância entre A e B é igual a distância entre B e A. Esta função foi escolhida por ser comumente utilizada em processamento de imagens para comparar histogramas, que representam a informação de frequência em que uma cor aparece em determinada imagem. A função de distância utilizada é apresentada na Equação 3.1.

d( f1, f2) ≡ N

i=1

f1(i) log f1(i) + N

i=1

f2(i) log f2(i) − N

i=1

( f1(i) + f2(i)) log( f1(i) + f2(i)) + 2 log 2 ,



3.1

sendo f1e f2os histogramas das imagens e i a posição do histograma de tamanho N.

Utilizando-se dessa função, as distâncias entre os dados (que para este trabalho são imagens de impressões digitais) são calculadas. O processamento dos dados passa inicialmente por uma etapa de pré-processamento, na qual os histogramas são obtidos, em seguida é realizado o cálculo das distâncias entre as imagens, e por fim as imagens mais similares são agrupadas usando uma técnica de agrupamento hierárquico [22] que permite a fácil separação dos dados em grupos com características similares através de cortes na árvore criada. A Figura 3.2 apresenta uma visão geral do módulo de Agrupamentos de Dados.

Figura 3.2: Visão geral do módulo de Agrupamento de Dados.

Como pode ser visto na Figura 3.2, inicialmente é calculado o histograma das imagens de entrada. Esses histogramas são utilizados para se obter a similaridade das imagens e para a geração da árvore de agrupamento. O cálculo de similaridade é realizado através da função de distância(Equação 3.1). Com base nas distâncias obtidas a árvore de agrupamento é gerada tomando os objetos que apresentem maior similaridade. A árvore de agrupamento é formada por vários níveis de agrupamentos, cada grupo se liga a grupos em um nível posterior. Formam-se inicialmente grupos binários que são agrupados em grupos maiores até que todos os objetos estejam ligados numa mesma árvore.

Diversos métodos podem ser utilizados para obter os agrupamentos . Os mais conhecidos são: single linkage, complete linkage e weighted average linkage, [43]. No método Single

36 3.2. MÓDULO DE AGRUPAMENTOS DE DADOS Linkagetambém chamado de "vizinho mais próximo", a distância entre dois grupos é a menor distância entre os elementos mais próximos desses grupos. No método Complete linkage, a distância entre dois grupos é a distância entre os elementos mais distantes desses grupos, ou seja a distância máxima entre esses grupos. Já o método weighted average linkage calcula a distância como a média da distância entre os grupos. Consequentemente, esse método é menos influenciado por valores extremos.

Após a geração da árvore de agrupamentos, é realizada a etapa de criação dos grupos. Os grupos são criados realizando cortes na árvore de agrupamento de modo a atender determinado critério. Um critério pode ser um limiar de distância, desta forma, todos os elementos que estão ligados abaixo deste limiar são agrupados. Outro critério é definir a quantidade máxima de grupos a ser gerados, neste caso a aplicação se encarrega de estabelecer um limiar de corte de modo a obter a maior quantidade de grupos, limitada a quantidade máxima de grupos estabelecida.

3.2.1

Pseudocódigo do módulo de Agrupamento de Dados

O Algoritmo 3.1 mostra o funcionamento do módulo de Agrupamento de Dados. Como entrada estão o conjunto de dados de treinamentoT e a quantidade de grupos n que serão criados. A saída do algoritmo são os agrupamentos gerados {T1, T2, ..., Tn}. O primeiro passo do algo-

ritmo é gerar os histogramas das imagens de entrada utilizando-se da função gerar_histograma, em seguida realiza-se o cálculo das distâncias entre os histogramas através da função calcu- lar_distancias. As distâncias calculadas são utilizadas para gerar a árvore de agrupamento por meio da função gerar_arvore_agrupamento. Por fim, são criados os n agrupamentos utilizando-se da função criar_grupos, passando como parâmetros a árvore gerada e a quantidade de grupos n.

Algoritmo 3.1: Pseudocódigo do módulo de Agrupamento de Dados. Entradas:T ,n Saídas: {T1, T2, ..., Tn} para ti∈T faça 1: histogramas(i) ←− gerar_histograma(ti) fim 2: distancias ←− calcular_distancias(histogramas) 3: arvore ←− gerar_arvore_agrupamento(distancias) 4: {T1, T2, ..., Tn} ←− criar_grupos(arvore, n)

Documentos relacionados