Reconhecimento de Padrões André Tavares da Silva andre.silva@udesc.br
Roteiro da aula Conceitos básicos sobre reconhecimento de padrões Visão geral sobre aprendizado no projeto de classificadores Seleção de características
Modelos para reconhecimento de padrões Reconhecimento sintático As características são textuais e a classificação é uma análise gramatical (e.g., por árvores de decisão). Reconhecimento estatístico As características são normalmente numéricas (i.e., as textuais podem ser transformadas em números) e a classificação é uma análise estatística dos dados. Obs: Este curso se concentrará no reconhecimento estatístico, construído a partir de um conjunto Z={z 1,z 2,..,z N } de N objetos observados (dados).
Modelo matemático Cada objeto z j de Z é representado por um vetor x j = [x 1,x 2,...,x n ] t de características e conhecemos a classe w i, i=1,2,...,c, de cada objeto para fins de avaliação. O conjunto de dados Z deve ser dividido em três subconjuntos, Z 1, Z 2, e Z 3, denominados subconjuntos de treinamento, avaliação, e teste. O projeto de um classificador consiste em aprender com Z 1 e Z 2, e avaliar o classificador projetado com Z 3. A classificação visa associar um rótulo l(z j )=w i, da classe correspondente, para qualquer objeto z j em Z com base em x j.
Modelo Matemático Um classificador D pode ser visto como um conjunto de funções discriminantes G={g 1,g 2,...,g c } tais que: x g 1 g 2 g c g 1 (x) g 2 (x) g c (x) Máximo w i
Aprendizado supervisionado Utilizamos o conhecimento da classe w i correspondente de todos os elementos em Z 1 para encontrar os parâmetros do classificador. O conjunto Z 2 é usado para avaliar o classificador projetado (pseudo-teste). Dependendo do resultado, podemos trocar elementos entre Z 1 e Z 2 e repetir o treinamento e o pseudo-teste até obtermos um classificador final D para avaliação final com Z 3. Esta avaliação testa uma a uma as amostras em Z 3.
Aprendizado não-supervisionado Não utilizamos o conhecimento das classes dos objetos em Z 1. Resolvemos um problema de clustering (particionamento de Z 1 ) e projetamos um classificador com base neste resultado. O conjunto Z 2 é usado para testar este classificador e atualizar os elementos de Z 1 com trocas até a obtenção de um modelo final D. O conjunto Z 3 pode então ser usado para avaliarmos o classificador projetado. Obs: Note que o classificador não é necessariamente um algoritmo de clustering. Em mineração de dados, podemos desconhecer de fato as classes em Z. A avaliação fica a critério do usuário e/ou medidas para detecção e correção de possíveis outliers.
Dicas O classificador deve ser testado com várias bases de dados. Crie um diretório para cada base, subdiretórios para as classes, e copie os objetos (vetores de características) da base para o subdiretório correspondente. Faça um programa para selecionar aleatoriamente objetos de cada classe para formar os conjuntos Z 1, Z 2, e Z 3 em três arquivos com descritor e classe de cada objeto. Faça um segundo programa para projetar o classificador e um terceiro para testá-lo. As bases podem ser criadas artificialmente, obtidas de projetos, ou pela internet (http://archive.ics.uci.edu/ml/).
Características em Problemas Gerais Quantitativas Contínuas (comprimento, altura, peso) Discretas (número de buracos, número de gols) Qualitativas (muito usadas em reconhecimento sintático) Ordinal (grau de educação) Nominal (profissão, marca, modelo) Obs.: estamos interessados em características quantitativas.
x 2 Seleção de características A dificuldade está no fato que características isoladas podem ser irrelevantes, mas quando juntas melhoram a classificação. A seleção pode ser feita com base em todo o conjunto Z. x 1
Seleção de características Temos um problema de otimização, onde o espaço de busca é o conjunto de todas as combinações de características e a função objetivo é minimizar os erros de classificação. Neste sentido, qualquer técnica de otimização (heurística ou não) pode ser utilizada. Seja B k =(b 1,b 2,...,b n ) uma possível combinação de características para k=1, 2,...,C n,1 +C n,2 +...+C n,n, onde b j = 1 indica que a característica x j está incluída e b j = 0 indica que não. O problema consiste em encontrar a combinação B k que leva ao menor erro de classificação.
Algumas técnicas Seleção natural Seleção aleatória Seleção não-aleatória Forward and backward search Modelos baseados em classe favorita Seleção por Genetic Algorithms (GA) Seleção baseada em medidas de avaliação de clustering
Seleção natural Algumas características surgem naturalmente do problema. Por exemplo, características espectrais associadas ao pitch no reconhecimento de voz. Características de forma no reconhecimento de caracteres. Neste sentido, um bom método de seleção é usar de parcimônia.
Seleção aleatória Podemos selecionar aleatoriamente um subconjunto razoável de c combinações B k, construir c classificadores D k a partir de cada combinação B k e selecionar a combinação que gera o melhor classificador.
Busca forward Podemos testar cada característica individualmente e selecionar a melhor. Depois testar pares de características fixando a melhor da etapa anterior e selecionar o melhor par. Repetir o processo com três, quatro,..., até n características. No final selecionamos a melhor combinação entre todas testadas.
Busca backward Podemos testar B k =(1,1,...,1) primeiro. Verificar qual característica quando retirada piora menos ou até melhora o resultado. Repetir o processo até sobrar uma única característica. Escolher a melhor combinação entre todas testadas.
Modelo baseado em classe favorita Este modelo é usado em sistemas com múltiplos classificadores. Assumimos uma classe wi, i=1,2,...,c favorita para cada classificador D i. Para encontrar a combinação Bk,i mais adequada para D i nós definimos uma variável v i (z j ) para cada classe, onde v i (z j )=0 se z j não pertence a w i e v i (z j )=1 no caso contrário. Calculamos para cada wi, a correlação entre os valores de cada característica x k, k=1,2,...,n, e os valores de v i (z j ) para cada objeto z j de Z. As ni características com os maiores valores absolutos de correlação são selecionadas para B k,i. O classificador Di porém é projetado para reconhecer todas as classes usando B k,i.
Modelo baseado em algoritmos genéticos Este modelo é também adotado para sistemas com múltiplos classificadores. Cada combinação Bk é vista uma população. como um indivíduo (cromossomo) de Selecionamos uma população inicial de L indivíduos para projetar L classificadores. Mutações e crossing-over são feitos diretamente nos bits dos indivíduos. O fitness value de um indivíduo está relacionado com o desempenho de seu classificador, mas desejamos manter uma população com indivíduos diferentes (genótipo), que juntos produzem os melhores resultados de classificação (fenótipo).
Modelo baseado em separabilidade e compacticidade Um bom conjunto de características (descritor) Bk é aquele que separa mais as classes distintas mantendo os elementos de uma mesma classe bem agrupados. Medidas de avaliação de clustering buscam capturar estes conceitos de separabilidade e compacticidade de um descritor. Neste caso, podemos considerar a partição das classes em Z, uma dada métrica, e avaliar a medida (e.g., o corte normalizado) de cada descritor sobre esta partição, selecionando o descritor com o melhor valor de medida (e.g., corte mínimo).
Redução do número de características A redução de características (PCA, ICA) pode ser importante para eliminar características irrelevantes e melhorar a eficiência do classificador (curse of the high-dimensionality). x 2 y 1 x 1 Qual é o impacto que isto tem no desempenho do classificador e na eficiência do sistema como um todo?
Teorema de Cover (1965) Um problema complexo de classificação de padrões disposto não linearmente em um espaço de alta dimensão tem maior probabilidade de ser linearmente separável do que em um espaço de baixa dimensionalidade. Alguns classificadores, tais como RNA com Funções de Ativação de Base Radial e máquinas de vetor de suporte (SVM), exploram este teorema. O teorema se aplica mesmo que as classes não sejam separáveis no espaço de menor dimensão?