Universidade Federal de Ouro Preto (UFOP) Programa de Pós-Graduação em Ciência da Computação (PPGCC) Reconhecimento de Padrões Dissimilaridade David Menotti, Ph.D. www.decom.ufop.br/menotti Introdução • Reconhecimento de padrões em geral baseia-se na extração de características capazes de discriminar objetos de diferentes classes. • Em alguns casos, porém, a extração de características se torna complicada – Desconhecimento do problema – Dificuldade em definir características Introdução • Nesses casos, medidas de dissimilaridade se tornam bastante interessantes. • Dissimilaridade – Valor que expressa a diferença entre dois objetos – Zero quando os objetos são idênticos. • Dissimilarity-based Pattern Recognition Dissimilaridade para Representação • A percepção humana nos permite reconhecer características comuns em uma coleção de objetos. • Em alguns casos pode ser difícil formalizar esse conhecimento. • Considere as figuras abaixo Dissimilaridade para Representação • Várias medidas podem ser usadas – Em geral depende do problema Motivação • Objetos similares podem ser agrupados – Pertencem a mesma classe. • A comparação sempre se dá com base em um objeto de referência. – Um ponto de vista particular – Características básicas. – Em outras palavras, levando em consideração o contexto. – Por exemplo, dois irmãos podem não ser parecidos, porém quando comparados na presença de seus pais, pode-se constatar que são parecidos. Matriz de Dissimilaridade • A representação por dissimilaridade é baseada na comparação entre todos os objetos envolvidos. • Isso nos leva a uma matriz D, na qual cada elemento da matriz representa o valor de dissimilaridade entre dois objetos. • Considere por exemplo, os seguintes objetos de duas classes: Matriz de Dissimilaridade • A matriz de dissimilaridade ficaria assim Classificando por Dissimilaridade • Vizinho mais próximo – Classificar um objeto X desconhecido na classe com menor dissimilaridade. – Não usa a matriz de dissimilaridade Class(X) = label(argmin(di)) Classificando por Dissimilaridade • Espaço de dissimilaridade – Utiliza cada coluna da matriz de dissimilaridade como um vetor de características. – Qualquer algoritmo de classificação pode ser utilizado. – Seleção dos vetores pode ser benéfica. Classificando por Dissimilaridade • Considere por exemplo – 3 classes • Classe 1: 4 objetos • Classe 2: 3 objetos • Classe 3: 3 objetos Note que os vetores de características, (colunas) são similares para objetos da mesma classe. Como classificar um exemplo novo X? -Comparar com a base de referência. -Gerar o vetor de dissimilaridades. Matriz de Dissimilaridade Hipotética Classificador Universal • A idéia de dissimilaridade pode ser estendida, permitindo assim a construção de um classificador universal. • Bastante interessante quando o número de classes é bastante grande – Verificação de Assinaturas – Identificação de Autoria – Recuperação de Imagens • Converter um problema de N classes para duas classes: Similar ou Não Similar. Classificador Universal • Para tornar isso possível, é necessário contar com um conjunto de referência. • Diferentemente da classificação baseada em dissimilaridade, nesse caso a dissimilaridade é calculada para o vetor de característica. • Se dois objetos pertencem a mesma classe, os componentes do vetor de dissimilaridade terão valores próximo de zero, caso contrário, terão valores longe de zero. – V = |A – B| Estudo de Caso • Identificação de Autoria – Suponha que você precise construir um sistema que diga se o documento foi escrito por uma determinada pessoa. – Para treinar seu sistema, estão disponíveis 20 autores, sendo que cada autor contribui com 10 amostras de documentos. – Opção 1: Criar um classificador com 20 classes • O que acontece se novos autores forem adicionados? – Opção 2: Dissimilaridade Exemplos de Textos Autor 1 Autor 2 Calculando Dissimilaridades Base de Treinamento |A-B| (A) (B) Vetor Próximo de Zero |C-D| (C) (D) Vetor Próximo de Zero Vetor Longe de Zero |A-C| Treinamento • Gerar os vetores de dissimilaridade para duas classes – Genuíno • Vetores resultantes das comparações entre os exemplos de mesmos autores • Vetores próximo de zero – Falsificação • Vetores resultantes da comparações entre os exemplos de diferentes autores • Vetores longe de zero Teste • Dado um exemplo questionado de um certo autor X – Comparar esse exemplo com as referências do autor X. – Se o exemplo questionado for realmente do autor X, a tendência é que essa comparação gere vetores próximos de zero. • Logo, pertencente a classe de genuíno. Teste • Como geralmente existe mais de um exemplo de referência, algum método de tomada de decisão deve ser utilizado – Voto – Max Vantagem • Adição de novos objetos sem a necessidade de re-treinar o classificador. • Redução de um problema de N classes para 2 classes.