Você está na página 1de 121

Teoria e Aplicao de Support Vector Machines Aprendizagem e Reconhecimento de Objetos Baseado na Aparncia

Eulanda Miranda dos Santos

Dissertao submetida Coordenao do Curso de Ps-Graduao em Informtica da Universidade Federal da Paraba, Campus II, como parte dos requisitos necessrios para obteno do grau de Mestre em Informtica.

rea de Concentrao: Modelos Computacionais e Cognitivos

Herman Martins Gomes Orientador

Campina Grande, Paraba, Brasil

c Eulanda Miranda dos Santos, junho de 2002

Agradecimentos
A Deus, autor e consumador da minha f, que deu as condies necessrias para que eu pudesse chegar at aqui. Certamente, a alegria do Senhor a nossa fora e Ele foi a pessoa chave para que esse trabalho fosse realizado, porque nele, por Ele e para Ele so todas as coisas. A Ele pois, a glria eternamente. Amm! Ao professor Herman Martins Gomes que pacientemente acompanhou e orientou esse trabalho de forma participativa e exvel. Soube direcionar as atividades pelo melhor caminho, demonstrando conana e motivao. minha grande famlia, que apesar de distante, em nenhum momento permitiu que eu me sentisse sozinha. Acompanharam-me, especialmente com suas oraes, carinho e palavras de incentivo. A todos que fazem a COPIN. Aos professores que procuraram da melhor forma, atenderme em minhas necessidades. Aninha e Vera por toda a ateno dispensada a mim. Zeneide e demais funcionrios da miniblio e Eleonora da miniblio da Copele. Aos amigos que consquistei durante esse perodo e que certamente contriburam para este trabalho, seja atravs de sugestes, de apoio, incentivo e, at mesmo, atravs de momentos de descontrao, sempre necessrios ao ser humano. Chris, que sabe na prtica todo o signicado do texto de Provrbios H amigos mais chegados que um irmo. Aos membros da banca examinadora pela ateno e participao. A todos que direta ou indiretamente contriburam de alguma forma, para o desfecho de mais essa etapa da minha vida.

Resumo
Support Vector Machines (SVM) uma tcnica de aprendizagem de mquina derivada de duas fundamentaes slidas: Teoria da Aprendizagem Estatsta e Otimizao Matemtica. SVM tm sido recentemente aplicado com sucesso a uma variedade de problemas que vo desde o reconhecimento de caracteres ao reconhecimento de objetos baseado na aparncia. Alguns dos motivos para esse sucesso esto relacionados ao fato dessa tcnica exibir bom desempenho de generalizao em muitas bases de dados reais, bem fundamentada teoricamente, o processo de treinamento elimina a possibilidade de mnimos locais, existem poucos parmetros livres para ajustar e a arquitetura no precisa ser encontrada por experimentao. Entretanto, por tratar-se de uma abordagem relativamente nova, livros-texto e artigos esto geralmente disponveis em uma linguagem que no facilmente acessvel para Cientistas da Computao. Portanto, um dos objetivos desta dissertao prover uma introduo sobre SVM que apresente os conceitos e teoria essenciais tcnica e que seja mais didtica. Estratgias de reconhecimento de objetos com base na aparncia se aplicam a problemas em que h diculdades na obteno de modelos geomtricos dos objetos, desde que as imagens utilizadas no apresentem ocluses. Algumas tcnicas de aprendizagem de mquina tm sido aplicadas a este problema, tais como: PCA (Principal Component Analysis), PAC (Probably Approximately Correct) e Redes Neurais, mas nenhuma mostrou-se to promissora quanto SVM. Dentro desse contexto, esta dissertao objetiva investigar a aplicao de SVM ao reconhecimento de objetos baseado na aparncia. Apresenta resultados prticos de classicao utilizando inicialmente uma pequena base de dados e, em seguida, explorando todo o poder da tcnica em uma base de dados relativamente grande. Esta dissertao tambm descreve resultados experimentais usando diferentes variaes da tcnica e compara o desempenho de reconhecimento de SVM com o desempenho de Redes Neurais do tipo Multilayer Perceptron Backpropagation.

ii

Abstract
Support Vector Machines (SVM) is a machine learning technique derived from two solid backgrounds: Statistical Learning Theory and Mathematical Optimisation. SVM has recently been applied with success to a variety of problems, ranging from character recognition to appearance based object recognition. Some of the reasons for this success are related to the fact this technique exhibits good generalisation performance on many real-life data sets, is well-founded theoreticaly, the training process eliminates the possibility of local minima, there are few free paramets to adjust and the architecture does not have to be found by experimentation. However, since this is a relatively new approach, text books and papers are usually in a language that is not easily acessible to Computer Scientists. Therefore one of the objectives of this dissertation is to provide an introduction to SVM that presents the essential concepts and theory behind the technique and that is more didatic. Appearance-based object recognition strategies appear to be well-suited for the solution of recognition problems in which geometric models of the viewed objects can be difcult to obtain, although they are not naturally tolerant to occlusions. Some machine learning techniques have been applied in this problem like, Principal Component Analysis (PCA), Probably Approximately Correct (PAC) and Neural Networks, but none posed as promissing as SVM. Within this context, this dissertation aims to investigate the application of SVM to appearance-based object recognition. It presents practical results of classication initialy using a small dataset and then exploring the full power of the technique on a relatively large dataset. It also presents experimental results using different variations of the technique and compares the recognition performance of SVM with the performance of Multilayer Perceptron Backpropagation Neural Networks.

iii

Contedo
1 Introduo 1.1 1.2 1.3 Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Breve Histrico de SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . Viso de Mquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4 1.5 1.6 Aquisio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pr-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . Segmentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reconhecimento e Interpretao . . . . . . . . . . . . . . . . . . . 1 1 6 8 9 9 10 11 12 14 15 16 18 19 20 22 23 24 26 28 28 29 31

Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contribuies e Relevncia . . . . . . . . . . . . . . . . . . . . . . . . . . Organizao da Dissertao . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Support Vector Machines 2.1 Teoria de Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 Modelo de Estimao de Funo . . . . . . . . . . . . . . . . . . . Minimizao do Risco . . . . . . . . . . . . . . . . . . . . . . . . Minimizao do Risco Emprico . . . . . . . . . . . . . . . . . . . Dimenso VC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Minimizao do Risco Estrutural . . . . . . . . . . . . . . . . . . .

Otimizao Matemtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 2.2.2 2.2.3 Conceito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Denies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Teoria de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . iv

CONTEDO 2.2.4 2.3 Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

v 33 35 37 44 48 53 55 55 57 58 58 59 59 59 60 60 61 62 62 64 64 65 66 66 67 68 70 71 72 73

Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 2.3.2 2.3.3 Hiperplano de Margem Mxima . . . . . . . . . . . . . . . . . . . Problemas Linearmente Inseparveis . . . . . . . . . . . . . . . . Funes Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4

Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Reviso Bibliogrca 3.1 3.2 Teoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extenses do Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1

-SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3

Leave-one-out SVM

One Class SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . SVM Multi-Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . Kernel Anlise dos Componentes Principais . . . . . . . . . . . . . Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Implementaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 3.3.2 3.3.3 3.3.4 Chunking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Decomposio . . . . . . . . . . . . . . . . . . . . . . . . . . . . Otimizao Sequencial Mnina . . . . . . . . . . . . . . . . . . . . Outros mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4 3.5

Problemas Multiclasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 Categorizao de Texto . . . . . . . . . . . . . . . . . . . . . . . . Reconhecimento de Dgitos Manuscritos . . . . . . . . . . . . . . Bioinformtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reconhecimento de Objetos . . . . . . . . . . . . . . . . . . . . . Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6

Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Reconhecimento de Objetos Baseado na Aparncia Usando SVM 4.1 Avaliao das Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTEDO 4.1.1 4.1.2 4.2 Toolboxs Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . C/C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vi 74 75 77 78 78 79 80 80 81 84 84 85 85 94 99 100 100 102

Experimentos Utilizando a Base de Dados Minolta . . . . . . . . . . . . . 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 Base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pr-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . Ferramenta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Construo dos Conjuntos de Treinamento e Teste . . . . . . . . . Treinamentos/Testes . . . . . . . . . . . . . . . . . . . . . . . . . Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.3

Experimentos Utilizando a Base de Dados COIL100 . . . . . . . . . . . . 4.3.1 4.3.2 4.3.3 4.3.4 Base de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Testando Diferentes Kernels . . . . . . . . . . . . . . . . . . . . . Estudo Comparativo: SVM x Redes Neurais . . . . . . . . . . . .

4.4

Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Concluses 5.1 5.2 Sumrio da Dissertao . . . . . . . . . . . . . . . . . . . . . . . . . . . . Perspectivas de Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . .

Lista de Figuras
1.1 1.2 1.3 2.1 Modelo simples de aprendizagem de mquina. . . . . . . . . . . . . . . . . Diagrama de bloco de aprendizagem no supervisionada. . . . . . . . . . . Hiperplano de separao tima para duas classes. . . . . . . . . . . . . . . Um modelo de aprendizagem a partir de exemplos contendo um gerador G, um supervisor S, uma mquina de apredizagem MA, no qual um vetor de entrada randmico, a sada do supervisor e a sada produzida por MA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 2.3 2.4 2.5 2.6 Uma estrutura em um conjunto de funes aninhadas. . . . . . . . . . . . . O limite de risco a soma do risco emprico com o intervalo de conana. . Espao de caractersticas linearmente separvel. . . . . . . . . . . . . . . . Espao de caractersticas linearmente inseparvel. . . . . . . . . . . . . . . (a) Um hiperplano de separao com margem pequena. (b) Um Hiperplano de Margem Mxima. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Hiperplano de separao para o caso linearmente separvel. Os vetores de suporte esto circulados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 2.9 Hiperplano de separao para o caso linearmente inseparvel. . . . . . . . . Ilustrao da estratgia de SVM. . . . . . . . . . . . . . . . . . . . . . . . 40 45 46 49 52 52 54 37 20 27 28 36 36 2 3 12

2.10 Mapeamento do espao de entrada via funo kernel. . . . . . . . . . . . . 2.11 Kernel polinomial de grau 3 . . . . . . . . . . . . . . . . . . . . . . . . . 2.12 Classicador SVM usando kernel RBF . . . . . . . . . . . . . . . . . . . . 2.13 Arquitetura de SVM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Trs mtodos alternativos para o treinamento de SVM: Chunking, Decomposio e SMO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

63

LISTA DE FIGURAS 3.2 Classicador hierrquico geral. A,B,C,D,F,E representam as classes denidas no esquema hierrquico, a partir dos conjuntos {A,C},...,{E,F}, que por sua vez, foram produzidos a apartir do conjunto {A,B,C,D,E,F}. . . . . . . 3.3 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 O objeto durex com 10 vises diferentes. . . . . . . . . . . . . . . . . . . . O objeto angel com 10 vises diferentes. . . . . . . . . . . . . . . . . . . . O objeto horn com 10 vises diferentes. . . . . . . . . . . . . . . . . . . . Desempenho de SVM na base Minolta. . . . . . . . . . . . . . . . . . . . Alguns dos objetos que compem a base COIL100. . . . . . . . . . . . . . Vises do objeto 44, do ngulo 260 ao 300 . . . . . . . . . . . . . . . . . Arquitetura do experimento 2. . . . . . . . . . . . . . . . . . . . . . . . . Arquivo tpico de entrada para a biblioteca LIBSVM. . . . . . . . . . . . . Parte do contudo de um arquivo de resultado de treinamento, correpondendo a T=51. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Nmero de vetores de suporte criados versus tamanho do conjunto de treinamento (

viii

65 69 79 79 82 84 85 86 89

90

) para os trs tipos de kernel investigados. . . . . . . . . . .

91

4.10 Curvas de reconhecimento para os kernels: linear, quadrtico e cbico, na base COIL100. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11 10 classes da COIL100 usadas no experimento 3. . . . . . . . . . . . . . . 4.12 Arquitetura do experimento com Redes Neurais. . . . . . . . . . . . . . . . 4.13 Curvas de reconhecimento para SVM e Redes Neurais, na base COIL100. . 92 95 96 98

Lista de Tabelas
4.1 4.2 Valores denidos para o treinamento na base Minolta. . . . . . . . . . . . . Matriz de confuso para T=1. Cada clula contm o valor percentual de confuso para as classes indicadas por sua linha quando classicadas como sendo das classes indicadas por suas colunas. . . . . . . . . . . . . . . . . 4.3 Matriz de confuso para T=19.Cada clula contm o valor percentual de confuso para as classes indicadas por sua linha quando classicadas como sendo das classes indicadas por suas colunas. . . . . . . . . . . . . . . . . . . 4.4 4.5 Valores denidos para as variveis: grau do polinmio (d),

81

83

83 90

, , . . . . . .

Taxas de reconhecimento obtidas por trs diferentes kernels: linear, quadrtico e cbico na base COIL100. . . . . . . . . . . . . . . . . . . . . . . . . 93 94 97

4.6 4.7 4.8

Preciso mdia alcanada utilizando k-fold cross validation, com k=10. . . Arquitetura das Redes Neurais. . . . . . . . . . . . . . . . . . . . . . . . .

Taxas de reconhecimento obtidas com Redes Neurais e SVM na base COIL100. 99

ix

Captulo 1 Introduo
Na maioria dos problemas de Inteligncia Articial (IA) que envolvem aprendizagem, importante prover as mquinas de percepo, a m de que possam adquirir conhecimento do ambiente. A percepo envolve os cinco sentidos, como no ser humano, porm, o reconhecimento de voz e a viso so os sentidos mais pesquisados [Russel and Norvig, 1995]. Esta dissertao investiga a aprendizagem de mquina em um problema de viso. Nesse contexto muitas tarefas tm sido investigadas, como por exemplo: deteco de imagens, reconstruo, reconhecimento etc. Esta dissertao trata do reconhecimento de objetos baseado na aparncia utilizando a tcnica estatstica de aprendizagem de mquina Support Vector Machines (SVM). Reconhecimento baseado na aparncia no envolve a produo de modelos geomtricos e sim, a percepo de vises do objeto (o mesmo objeto visto sob ngulos diferentes). Esse tipo de tarefa pode ser til para a navegao de robs, inspeo visual, sistemas de segurana, etc. Entretanto, antes de descrever o problema e a tcnica investigados, importante esclarecer o conceito e principais caractersticas da aprendizagem. A prxima seo tratar da aprendizagem de mquina com o objetivo de delimitar a abrangncia desta dissertao.

1.1 Aprendizagem
Entidades inteligentes destacam-se pela capacidade de adequar-se a novos ambientes e de resolver novos problemas. Um computador pode ser orientado interpretar as informaes recebidas de uma forma que melhore gradualmente seu desempenho [Rich and Knight, 1991]. 1

1.1 Aprendizagem

H muitas discusses dentro da IA quanto possibilidade de mquinas aprenderem de fato, entretanto, essa questo depende necessariamente da denio do termo aprendizagem. Existem inmeras atividades associadas com a noo de aprendizagem, dicultando a denio exata do termo e tornando-o questo de ponto de vista e de contexto. Aprendizagem para a Psicologia diferente da aprendizagem que ocorre em sala de aula, entre outros. Em [Rich and Knight, 1991], pgina 447, encontra-se a seguinte denio de aprendizagem: "...mudanas adaptveis no sistema, que permitem ao sistema fazer, da prxima vez, a mesma tarefa ou tarefas tiradas do mesmo grupo com mais ecincia e eccia". Independente da denio exata de aprendizagem, fato que sistemas de aprendizagem conveis so de importncia estratgica, pois h muitas tarefas que no podem ser solucionadas por tcnicas de programao clssicas. Os algoritmos de aprendizagem de mquina, ento, podem ser a chave para solucion-los. A Figura 1.1 mostra um modelo simples de aprendizagem de mquina. O ambiente fornece informao para um elemento de aprendizagem que usa essa informao para fazer melhoramentos em uma base de conhecimento e ento, um elemento de desempenho usa essa base para executar sua tarefa.

Elemento de Ambiente Aprendizagem

Base de Conhecimento

Elemento de Desempenho

Figura 1.1: Modelo simples de aprendizagem de mquina.

A aprendizagem de mquina pode ser dividida, a nvel genrico, em dois paradigmas fundamentais: aprendizagem com professor e aprendizagem sem professor [Haykin, 1999]. No primeiro, normalmente chamado aprendizagem supervisionada, o sistema precisa conhecer o ambiente. Esse conhecimento representado por um conjunto de exemplos de pares de entrada-sada que so transmitidos em uma sequncia de instrues que o computador seguir para alcanar o efeito desejado. Na aprendizagem sem professor, no h exemplos rotulados da funo a ser aprendida. Nesse paradigma so identicadas duas subdivises:

1.1 Aprendizagem

Aprendizagem de reforo: aprendizagem a partir de um mapeamento de entrada-sada alcanada atravs de interao continuada com o ambiente para minimizar um ndice escalar de desempenho [Haykin, 1999].

Aprendizagem no-supervisionada: no h valores de sada desejada. A tarefa de aprendizagem ganhar alguma compreenso do processo que gerou o dado e desenvolver habilidades para formar representaes internas capazes de codicar caractersticas da entrada e, portanto, criar novas classes automaticamente [Haykin, 1999]. Esse tipo de aprendizagem inclui estimao de densidade, formao de agrupamentos, dentre outros. A Figura 1.2 ilustra um diagrama de bloco de aprendizagem no supervisionada. O ambiente fornece informaes sobre o estado do mundo ao sistema de aprendizagem, que faz os ajustes a partir dessas informaes.

AMBIENTE

Vetor descrevendo estado do ambiente

SISTEMA DE APRENDIZAGEM

Figura 1.2: Diagrama de bloco de aprendizagem no supervisionada.

A aprendizagem de mquina pode tambm ser dividida, de uma forma mais especca, em relao forma de desenvolver o conhecimento. Segundo [Ginsberg, 1993], essa diviso pode ser feita da seguinte forma: Aprendizagem por Descoberta e Aprendizagem por Generalizao. Um outro tipo tambm importante Aprendizagem por Analogia. Abaixo enumerada esta diviso de aprendizagem proposta por [Ginsberg, 1993]. 1. Aprendizagem por Descoberta: uma forma restrita de aprendizagem que tenta descobrir novos fatos, conceitos, fenmenos etc, sem conhecimentos a priori e sem o auxlio de algum que possua conhecimentos. Alguns exemplos de programas de IA que empregaram esta forma de aprendizagem so: Automatic Mathematician (AM), Eurisko, Bacon, Glauber e Boole. 2. Aprendizagem por Generalizao: Objetiva gerar conhecimentos genricos e abrangentes a partir de informaes existentes. Pode ser subdividido em:

1.1 Aprendizagem

Aprendizagem Dedutiva: tenta aprender novas informaes que so consequncias vlidas de algo j conhecido, como em aprendizagem baseada em explicao.

Aprendizagem Indutiva: baseia-se na inferncia indutiva de fatos providos por um professor ou ambiente [Rich and Knight, 1991]. O sistema tenta induzir uma regra geral a partir de um conjunto de instncias observadas. Alguns exemplos de tcnicas indutivas so: Programa de Aprendizagem de Winston, PAC (Probably Approximately Correct), Espaos de Verso e rvores de Deciso. Um outro mtodo indutivo que est recebendo grande interesse atualmente o princpio de Minimizao do Risco Estrutural, implementado na tcnica SVM. Esse mtodo ser descrito com detalhes no Captulo 2 desta dissertao.

3. Aprendizagem por Analogia: A analogia uma poderosa ferramenta de inferncia. Permite que as semelhanas entre objetos ou fatos sejam declaradas de forma ecaz. Um sistema que aprende por analogia pode ser usado para converter um programa existente em um outro que realize tarefa semelhante ao original [Rich and Knight, 1991]. H dois principais mtodos para a soluo de problemas por analogia:

Analogia por Transformao: tem como objetivo transformar a soluo de um problema antigo na soluo para o problema atual.

Analogia por Derivao: derivao nesse contexto, a histria detalhada do episdio da soluo de um problema. A analogia por Derivao a argumentao analgica que considera essas histrias. um componente necessrio na transferncia de habilidades em domnios complexos.

Independente do tipo de aprendizagem, normalmente o conjunto de todas as regras denidas para a soluo de um problema de aprendizagem chamado algoritmo de aprendizagem. H uma variedade de algoritmos que oferecem vantagens e desvantagens, dependendo do problema em que so aplicados. Esses algoritmos podem ter organizao top-down ou bottom-up, ambos utilizados com muita frequncia em IA. Uma organizao top-down construda a partir de procedimentos computacionais bem denidos e que podem incluir algum pr-armazenamento de conhecimento. Em uma organizao bottom-up porm, no h regras claramente denidas. O sistema aprende a partir de sua experincia, necessitando portanto, que as regras sejam sujeitas contnuas modicaes [Penrose, 1995].

1.1 Aprendizagem

Cada organizao pode oferecer vantagens, dependendo da classe de problemas em que seja aplicada. A top-down apresenta melhores resultados em certos problemas matemticos (como por exemplo diferenciao ou integrao simblicas) e em problemas que envolvam diagnstico mdico, jogos de xadrez utilizando regras ou estratgias pr-programadas etc. J a bottom-up, pode ser aplicada ao reconhecimento de faces ou sons, jogos de xadrez em que o computador aprende a partir de suas experincias, entre outros [Penrose, 1995]. Dentre os sistemas do tipo bottom-up mais conhecidos esto as Redes Neurais Articiais, que compem a parte da IA Conexionista ou Sub-Simblica. A faixa top-down caracterstica da outra parte da IA, a Simblica. A forma geral dos mecanismos simblicos envolve um programa consistindo essencialmente de regras de alguma classe, armazenadas na memria com estruturas de dados apropriadas [Franklin, 1995]. Um outra forma utilizada a construo de modelos conexionistas estruturados ou sistemas hbridos que integrem as duas abordagens. Os sistemas de Redes Neurais Articiais (RNAs) so muito utilizados principalmente devido sua estrutura paralela e distribuda e sua habilidade para aprender, e portanto, generalizar o conhecimento adquirido [Haykin, 1999]. Essa tcnica tambm destaca-se pelas seguintes propriedades: aprendizagem de conjuntos linearmente inseparveis, mapeamento de entrada-sada, adaptao, tolerncia falhas e uniformidade de anlise e projeto. importante destacar tambm que as RNAs so baseadas na minimizaa do risco emprico, ou seja, minimizao do erro de treinamento. Entretanto, essa tcnica apresenta problemas como: algoritmos de aprendizagem envolvendo geralmente um grande nmero de exemplos de treinamento, longos perodos de treinamento, ocorrncia de mnimos locais e arquitetura denida a partir de experimentos. Alguns desses problemas no ocorrem em SVM, tcnica de aprendizagem que tem uma forte fundamentao estatstica e que tem recebido um crescente interesse nos ltimos anos. Esse crescimento nas pesquisas pode ser observado atravs da proliferao de papers e sees especiais de SVM em conferncias e simpsios de RNAs e aprendizagem de mquina [Burges, 1998]. O treinamento de SVM encontra uma soluo global, enquanto que em RNAs h geralmente mnimos locais. Em SVM h a minimizao do risco emprico, como em RNAs, juntamente com a Minizao do Risco Estrutural, equivalente minimizao do erro de generalizao, que envolve a imposio de um limite para diminuir ao mximo a possibilidade de classicaes erradas na etapa de teste. Essa tcnica tambm atrativa

1.2 Breve Histrico de SVM

por sua habilidade de condensar as informaes contidas no conjunto de treinamento. Essas caractersticas motivaram a escolha de SVM cpara o desenvolvimento desta dissertao, o qual trata do estudo e da aplicao de SVM a um problema de Viso de Mquina. A prxima seo apresenta sucintamente um histrico de SVM.

1.2 Breve Histrico de SVM


Os fundamentos de SVM so provenientes da Teoria de Aprendizagem Estatstica desenvolvida inicialmente pelo pesquisador russo Vladmir Vapnik e colaboradores [Vapnik, 1999]. Vapnik idealizou o princpio indutivo de Minimizao do Risco Estrutural. Este princpio busca minimizar o erro do conjunto de treinamento (risco emprico), juntamente com o erro do conjunto de teste. No Captulo 2 esses conceitos so descritos matematicamente. Segundo [Vapnik, 1999], a motivao para o desenvolvimento do princpio indutivo de Minimizao do Risco Estrutural surgiu da necessidade de desenvolver limites tericos para a capacidade de generalizao dos sistemas de aprendizagem. Uma maior generalizao normalmente implica um maior nmero de acertos na fase de teste. O princpio de Minimizao do Risco Emprico, utilizado em tcnicas como Redes Neurais, era considerado pelos seus defensores como sendo de fcil intuio e que, por apresentar bons resultados prticos, no necessitava de provas tericas. Para esses defensores, uma boa generalizao era obtida unicamente atravs da escolha de pesos para os neurnios de modo a prover um erro de treinamento mnimo. Entretanto, para a anlise terica do processo de aprendizagem, esse conceito era visto de forma diferente. Em [Vapnik, 1999], pgina 7, encontra-se a seguinte armao: "O princpio de minimizao do nmero de erros de treinamento no evidente e precisa ser justicado. possvel que haja outro princpio indutivo capaz de prover um melhor nvel de habilidade de generalizao. O objetivo principal da anlise terica do processo de aprendizagem encontrar um princpio indutivo com nvel mais alto de habilidade de generalizao e construir algoritmos que implementam esse princpio". As respostas para essas pesquisas foram o princpio indutivo de Minimizao do Risco

1.2 Breve Histrico de SVM

Estrutural e as Mquinas de Vetores de Suporte (Support Vector Machines) que realizam esse princpio. Embora as pesquisas desenvolvidas com SVM sejam recentes, as razes do mtodo foram formuladas na dcada de 70. Houve uma paralizao nas pesquisas por mais de trs dcadas. Em [Cristianini and Shawe-Taylor, 2000] os autores destacam dois problemas encontrados no perodo inicial, do ponto de vista algoritmico, que podem justicar essa parada nas pesquisas: 1 - o algortmo original (Vapnik e Chervonenkis, 1974) era limitado problemas de aprendizagem linearmente separveis; 2 - no apresentava uma forma de tratar com dados isolados ou muito distantes do padro original, os "outliers". Os dois problemas citados anteriormente foram solucionados durante a dcada de 90. O primeiro com o uso de funes Kernel, que fazem o mapeamento dos dados do espao de entrada para um espao de caractersticas com uma dimenso muito superior, possibilitando que os dados no separveis linearmente, tornem-se separveis no espao de caractersticas. A idia de utilizao de funes kernel foi empregada pela primeira vez em 1964, no mesmo perodo em que Vapnik e Chervonenkis desenvolveram a idia do hiperplano de separao tima. Este hiperplano separa as diferentes classes, maximizando a margem entre os pontos extremos de cada classe. O uso combinado desses dois conceitos na formulao de SVM foi apresentado por Vapnik e colaboradores em 1992. O segundo problema foi solucionado atravs da introduo de variveis de folga (Captulo 2, Seo 2.2.2) para dar mais exibilidade s restries e permitir a classicao correta dos "outliers". Entretano, Vapnik arma que as pesquisas no paralizaram. Em 1974 foram obtidos os limites para a introduo de um possvel novo princpio indutivo (Minimizao do Risco Estrutural), completando o desenvolvimento da teoria de aprendizagem para Reconhecimento de Padres. Em [Vapnik, 1999], pgina 8, h a seguinte armao: "...construdo durante 30 anos de anlise do processo de aprendizagem, nos anos 90 comeou a sntese das novas mquinas de aprendizagem capazes de controlar a habilidade de generalizao". Nos ltimos anos tm havido desenvolvimentos signicativos na compreenso terica de SVM, em estratgias algortmicas para implement-lo e aplicaes da tcnica a diversos problemas prticos. Como j foi citado na seo anterior, esta dissertao investiga a aplicao

1.3 Viso de Mquina

de SVM a problemas de Viso de Mquina. A prxima seo apresenta uma breve descrio da rea de Viso de Mquina, com o intuito de delimitar o escopo da dissertao.

1.3 Viso de Mquina


Um dos sentidos que tm sido mais utilizados por mquinas para perceberem o ambiente em que esto inseridas a viso [Russel and Norvig, 1995], sentido este que pode ser considerado uma tarefa de representao e processamento de informaes, sendo portanto, passvel de tratamento computacional [Marr, 1982]. Entretanto, a viso no um problema de fcil tratamento computacional e, apesar dos vrios anos de pesquisa na rea, ainda no alcanou-se um conhecimento exato de como realizada a nvel siolgico e psquico, assim como muitos dos processos humanos mentais e perceptivos, que apresentam alguns aspectos desconhecidos para a cincia. Diante disso, h diculdades na denio de um conceito para viso. Dependendo do enfoque das pesquisas, o conceito pode variar. H um certo consenso, entretanto, em torno da teoria de viso produzida por [Marr, 1982], onde a seguinte denio apresentada: ...viso o processo de descobrimento atravs de imagens do que est presente no mundo e onde est. O foco principal portanto responder s questes clssicas what e where, ou seja, qual a identidade dos objetos e sua localizao. Essa e outras denies evidenciam que a tentativa de simular o processo de viso em sistemas computacionais no uma tarefa trivial e exige um certo grau de abstrao. A Viso de Mquina trabalha geralmente coletando luz reetida de objetos na cena e criando uma imagem em duas dimenses (2D). Em seguida, essa imagem utilizada para obter informaes sobre a cena. Essas informaes podem ser usadas em muitas reas. H um grande interesse em Viso de Mquina devido sua aplicabilidade em uma grande classe de problemas, tais como:

Manipulao - capacitar mquinas e rbos para executarem tarefas que so penosas, repetitivas, que ofeream risco de vida ao homem, ou mesmo que possam ser feitas

1.3 Viso de Mquina

com mais ecincia por mquinas. Essa rea envolve trabalhos em linhas de produo de indstrias, remoo de lixo txico ou radioativo etc.

Navegao - dotar robs de viso articial para capacit-los a encontrar caminhos livres, evitar obstculos e calcular orientao e velocidade adequadas. Isso d condies ao rob de participar de misses espaciais, ter acesso a minas subterrneas, plataformas submarinas etc.

Reconhecimento de Objetos - habilidade usada para diferenciar objetos e relaes entre objetos. Essa rea abrange tarefas de inspeo visual, sistemas de segurana com reconhecimento ou deteco de faces, ris e impresses digitais, controle de qualidade em indstrias, reconhecimento de dgitos manuscritos, etc.

O processo de viso, do ponto de vista computacional, normalmente integrado e pode ser dividido em vrias etapas: aquisio, pr-processamento, segmentao, descrio, reconhecimento e interpretao. As sees seguintes explicam sucintamente cada uma destas etapas

1.3.1 Aquisio
Etapa em que as informaes visuais do meio so convertidas para sinais eltricos atravs de dispositivos ou sensores pticos. A qualidade das imagens obtidas importante para o sucesso das etapas seguintes. Um sensor algo que pode mudar o estado computacional do sistema em reposta mudanas ocorridas no estado do ambiente sua volta. Pode ser simples, como os arranjos de CCD existentes nas camras contemporneas, ou complexo, como os sensores log-polar [Spie89] que imitam a estrutura da retina humana.

1.3.2 Pr-processamento
Nessa etapa, as imagens obtidas na fase anterior so preparadas para facilitar os processos seguintes. Caso as imagens apresentem rudos ou pouca denio de detalhes, so aplicadas tcnicas de Processamento Digital de Imagens (PDI) para eliminar esses rudos, suavizar efeitos indesejados decorrentes de fatores externos, alm de realar detalhes importantes nos

1.3 Viso de Mquina

10

objetos. Essas tarefas so feitas tendo-se em mente o objetivo nal do processo e, dependendo desse objetivo, algumas tcnicas de PDI so aplicadas e outras no.

1.3.3 Segmentao
a etapa em que a imagem dividida em regies que constituem os diversos objetos que nela so representados. A identicao de um objeto se baseia na deteco de descontinuidades ou similaridades na imagem, gerando uma representao abstrata de seu contorno ou da regio que ocupa. Os objetos podem ainda compor-se de outros objetos menores e nessa situao h a necessidade de um processo de modelagem para a identicao dos relacionamentos entre o objeto e seus objetos-componentes. Essa modelagem pode ser de grande ajuda no processo de reconhecimento de objetos. Na segmentao, a identicao de objetos pode ser orientada por regies semelhantes ou por contornos que evidenciam descontinuidades. Essas duas estratgias proporcionam formas distintas de representao.

Representao por Regies - a enumerao dos pontos da imagem que constituem o objeto. O mapa de identicao dos objetos uma matriz com as mesmas dimenses da imagem original, onde a cada ponto atribudo um rtulo relativo ao objeto a que pertence. As tcnicas mais utilizadas para a segmentao por regio so o Limiar e o Crescimento por Regies. Atravs delas, busca-se atribuir a cada objeto os pontos da imagem que possuam as mesmas propriedades de cor, intensidade e textura, ou seja, que apresentem similaridades segundo um critrio pr-estabelecido.

Representao por Contornos - Um contorno pode ser conceituado como o subconjunto de pontos de um objeto que o separa do restante da imagem. Como representao, constitui uma curva fechada de pontos conectados, a partir da qual se consegue reconstruir a silhueta de todo o objeto. As tcnicas de segmentao por contorno buscam detectar descontinuidades que evidenciem limites entre objetos. Mtodos de deteco de bordas, busca em Grafos, Programao Dinmica, Transformada de Hough e acompanhamento de contorno podem ser utilizadas por essa abordagem.

1.3 Viso de Mquina

11

1.3.4 Descrio
Cada objeto identicado na etapa anterior analisado para a extrao de algumas de suas caractersticas mais importantes. Esse conjunto de caracterticas chamado de padro e representar o objeto nas prximas etapas. Um padro pode ser considerado uma abstrao denida por uma coleo de possveis instncias. Sob um ponto de vista alternativo, um padro considerado algo observvel, gerado por uma entidade fsica, como por exemplo instncias de vises 2D de um objeto 3D [Schlkopf, 1997]. A escolha da forma para representar os objetos condicionada a fatores relacionados natureza das imagens tratadas e da tarefa a ser realizada. Em alguns casos, essa etapa pode inclusive ser eliminada. Isso ocorre quando a prpria imagem (original ou processada) utilizada como padro representativo do objeto. Esse tipo de padro chamado de matriz ou retina de pontos e o tipo de reconhecimento pode ser chamado de icnico [Grove and Fisher, 1996]. Se porm, forem extradas algumas caractersticas descritivas do objeto, e este passar a ser representado por esse conjunto, o tipo de padro chamado vetor de caractersticas, ou apenas padro. Por apresentar bons resultados com as mais variadas tcnicas de aprendizagem de mquina, essa ltima abordagem a mais utilizada. Entretanto, essa estratgia apresenta desvantagens em certos domnios de problemas, onde a viso precisa tratar com o brilho das imagens, fator que no funo apenas da forma, mas tambm de outras propriedades intrnsecas cena, como a reectncia e a fatores externos, como iluminao [Nayar et al., 1996]. Um outro problema a diculdade de desenvolvimento de sistemas de reconhecimentos em tempo real, pois tcnicas para a aquisio automtica de formas de objetos ainda esto sendo pesquisadas. Esses fatores motivaram o desenvolvimento do mtodo que no se baseia na representao da forma e sim, da aparncia. Esse mtodo utiliza as prprias imagens como padro, vises do objeto capturadas sob diversos ngulos, para codicarem variaes de brilho geradas pela forma 3D, propriedades de reectncia da superfcie, parmetros de sensor e condies de iluminao. Os modelos conexionistas foram os primeiros a apresentarem resultados satisfatrios no reconhecimento icnico. Recentemente, a tcnica SVM tambm tm sido aplicada a este problema com timos resultados [Pontil and Verri, 1998]. As caractersticas da representao baseada na aparncia (destacadas acima) e as caractersticas mais importantes de SVM (descritas na Seo 1.1) motivaram o desenvolvimento desta dissertao de mestrado, cujos

1.3 Viso de Mquina

12

principais objetivos so estudar a tcnica SVM e investigar sua aplicao aprendizagem de objetos visuais, com representao baseada na aparncia.

1.3.5 Reconhecimento e Interpretao


Nesta etapa, o padro de cada objeto identicado comparado s classes de padres j conhecidas com o intuito de decidir qual grupo ele pertence. A formalizao do processo decisrio indispensvel para sistemas de viso articial. Essa tarefa pode ser feita atravs de funes que dividem o espao de caractersticas em regies, de acordo com o nmero de classes envolvidas no problema. A forma mais simples de particionar um espao Euclidiano de n dimenses atravs de hiperplanos. SVM baseia-se tambm nessa estratgia, porm, utiliza um tipo especial, o hiperplano de separao tima. Trata-se de um hiperplano que divide as classes maximizando a margem de separao entre elas. A Figura 1.3 mostra um hiperplano de margem mxima. A linha mais espessa representa o hiperplano e as pontilhadas, as margens.

Figura 1.3: Hiperplano de separao tima para duas classes.

Os diferentes tipos de problemas de Reconhecimento de Padres fazem suposies sobre a forma de gerao dos padres [Schlkopf, 1997]. Para o reconhecimento baseado na aparncia, alguns dos termos relevantes so:

Vises ou poses - variaes no ngulo de percepo dos objetos que so capturadas, ou seja, so imagens do objeto sob pontos de vista diferentes.

Classes - so conjuntos de objetos apresentando propriedades em comum.

1.3 Viso de Mquina

13

Objetos - so instncias concretas de uma classe, com uma estrutura rica, contendo normalmente todas as vises que correspondem a transformaes 3-D rgidas de uma entidade fsica especca.

Um sistema basedo em vises, tal qual o utilizado para o desenvolvimento desta dissertao, considera esses trs conceitos. Entretanto, em funo das bases de imagens utilizadas nesta dissertao, o conceito de classe pode ser confundido com o de objeto, uma vez que nessas bases uma classe constituida por vrias vises do objeto. Conforme a natureza do problema tratado, pode ser necessria uma anlise de cena, onde os objetos so relacionados entre si, buscando-se uma descrio do ambiente em que se encontram. Um exemplo a subrea da interpretao e compreenso visual que combina tcnicas da IA e sistemas baseados em conhecimento com tcnicas de Viso de Mquina para fornecer o contedo da cena. No problema de formao de agrupamentos, em aprendizagem no-supervisionada pode haver a necessidade de interpretao da cena para a denio dos grupos, a partir de relacionamentos entre objetos e entre o ambiente e os objetos. Nesta dissertao, em especial, essa etapa no necessria, uma vez que o objetivo se resume a apenas aprender e reconhecer objetos. Os mtodos utilizados para realizar o Reconhecimento de Padres podem ser divididos nos seguintes grupos:

Mtodos lingsticos ou sintticos - Envolvem a construo de uma linguagem formal que representa o conjunto de objetos pertencentes a uma determinada classe, a partir da anlise de suas propriedades sintticas. Esses mtodos normalmente aparecem associados a outras metodologias e so indicados para problemas onde a anlise da estrutura do objeto fundamental no processo de reconhecimento.

Mtodos heursticos - Nesses mtodos o reconhecimento realizado atravs de regras baseadas no conhecimento e experincia prvia de especialistas. Compem essa categoria: sistemas cognitivos, rvores de Deciso e Diagramas de Inuncia.

Mtodos matemticos - As funes de deciso so determinadas matematicamente atravs de uma abordagem determinstica, como em Redes Neurais, ou estatstica, como o Classicador de Bayes e SVM.

1.4 Objetivos

14

Nesta dissertao SVM aplicado ao reconhecimento de objetos a partir de suas matrizes de pixels. Segundo a literatura da rea, para uma metodologia de Reconhecimento de Padres ser ecaz, deve apresentar pelo menos duas caractersticas: boa capacidade de generalizao, permitindo que padres prximos sejam classicados da mesma forma, e boa capacidade de discriminao, que assegura a correta separao entre as classes no espao de caractersticas. SVM realiza essas duas tarefas. A primeira atravs da Minimizao do Risco Estrutural e a segunda atravs da maximizao da margem que separa as classes entre si. As prximas sees apresentam mais detalhes sobre o desenvolvimento desta dissertao.

1.4 Objetivos
O objetivo geral desta dissertao realizar um estudo terico de SVM e investigar sua aplicao a problemas de Viso de Mquina no contexto de Reconhecimento de Padres a partir de uma representao dos objetos baseada na aparncia. SVM j foi aplicado a uma srie de problemas de Viso, como reconhecimento de dgitos manuscritos [Vapnik, 1999], modelagem de percepo atravs de ateno visual [Eghbalnia and Assadi, 2001], deteco e autenticao de faces [Osuna et al., 1997b] [Jonsson et al., 1999], aprendizagem de modelos de faces a partir de multi-visualizadores [Kwong and Gong, 1999] e tambm em reconhecimento de objetos basedo na aparncia [Pontil and Verri, 1998]. Os resultados mostraram a aplicabilidade da tcnica a estes problemas com desempenho equivalente ou at superior outras abordagens mais clssicas. O objetivo especco desta dissertao treinar um classicador SVM para reconhecer um nmero limitado de classes de objetos, vistos sob vrios ngulos diferentes. Trata-se portanto, de aprendizagem de objetos 3-D a partir de imagens 2D, com mltiplas classes, constitudas por mltiplas vises dos objetos e considerando-se variaes de orientao e escala das imagens. Os experimentos envolvem a utilizao da estratgia de validao cruzada para treinar exaustivamente o sistema e a utilizao de vises nos conjuntos de treinamento e de teste, selecionadas de forma aleatria, para tornar o problema o mais prximo da situao real. A investigao feita utilizando-se, em um primeiro momento, SVM com kernel polinomial quadrtico, com o objetivo de vericar o comportamento da tcnica nesse tipo de

1.5 Contribuies e Relevncia

15

problema. Posteriormente investiga-se SVM com trs tipos diferentes de kernel polinomial (linear, quadrtico e cbico) para um estudo comparativo entre esses tipos e avaliao do kernel mais indicado ao problema. Finalmente, utiliza-se uma Rede Neural Multilayer Perceptron para o desenvolvimento de um estudo comparativo considerando o desempenho de classicao. Um outro objetivo geral desta dissertao aumentar o entendimento da tcnica, por tratar-se de uma tcnica relativamente nova, ainda no existem livros-texto com uma apresentao que seja naturalmente acessvel comunidade de Cincia da Computao. Consequentemente, esta dissertao objetiva dar uma contribuio no sentido de proporcionar uma viso mais didtica do assunto, contribuindo para uma maior compreenso da tcnica SVM e gerar novos resultados que ratiquem a aplicabilidade da tcnica, em problemas de Viso de Mquina.

1.5 Contribuies e Relevncia


Esta dissertao est contribuindo com a compreenso do real grau de abrangncia da tcnica de SVM em problemas prticos. importante destacar que as pesquisas com SVM so recentes, como j foi citado anteriormente e esto crescendo muito, porm ainda em pequena escala no Brasil. Portanto, uma outra contribuio desta dissertao do ponto de vista didtico, ao sistematizar a compreenso dessa tcnica que envolve conceitos matemticos e estatsticos de difcil assimilao, tais como: Otimizao Matemtica, Teoria de Aprendizagem e funes kernel e seus diversos tipos (como polinomial, Funes de Base Radial, etc). Alm disso, os resultados serviro para raticar e principalmente expandir os resultados obtidos em [Pontil and Verri, 1998], [Roobaert, 1999], [Roobaert et al., 2000] e [Roth et al., 2000]. Tambm vale ressaltar que a estratgia de treinamento utilizada nesta dissertao executa um treinamento exaustivo, sem interveno humana no sentido de induzir o sistema taxas de acerto mais realsticas. A mesma estratgia tambm aplicada juntamente com Redes Neurais para um estudo comparativo e para uma avaliao mais completa da tcnica. Esta dissertao tambm se prope a ser um estmulo para o desenvolvimento de novos trabalhos envolvendo SVM e reconhecimento de objetos baseado na aparncia no mbito

1.6 Organizao da Dissertao

16

do programa de Ps-Graduao em Informtica desta Universidade. Em um levantamento bibliogrco realizado nas bibliotecas das Coordenaes de ps-graduao em Informtica (COPIN) e Engenharia Eltrica (COPELE), a maioria dos trabalhos realizados tratam de Reconhecimento de Padres a partir da extrao/identicao de caractersticas dos objetos. Abaixo so descritos alguns desses trabalhos. Em [da Silva, 1999] que, embora tenha sido aplicado em imagens com mltiplas vises, proposto o desenvolvimento de um mtodo para a identicao de vrtices tridimensionais das imagens, com o objetivo de denir um modelo para o processo de reconhecimento de formas. Em [de Ftima Santos Farias, 1997] apresentado um mtodo de reconhecimento de objetos em cenas tri-dimensionais baseado em tcnica multi-vista, porm a identicao do objeto ocorre atravs de casamento de atributos geomtricos extrados de objetos bidimensionais da cena. Estes atributos so casados com os encontrados em modelos tridimensionais dos objetos, previamente construdos e armazenados. Em [Cortez, 1996] foi desenvolvida uma nova metodologia que utiliza modelos poligonais e seus atributos geomtricos para realizar a tarefa de identicar objetos. Essa metodologia capaz de tratar com objetos que estejam isolados, em contato ou mesmo parcialmente visveis (parcialmente oclusos), diferentemente do mtodo de reconhecimento basedo na aparncia. H trabalhos que tratam de segmentao e tcnicas de Processamento de Imagens [de Alcntara Morais, 1998] e [de Arruda, 1997], reconhecimento de caracteres [Correia, 2000], reconhecimento de dgitos manuscritos [Veloso, 1998] e deteco e reconhecimento de objetos, como em [Ribeiro, 2001] que trata de objetos que so peas em um tabuleiro de xadrez. Este ltimo, utiliza Redes Neurais para a deteco e reconhecimento das peas. Esta dissertao contribui com a rea de reconhecimento baseado na forma dos objetos e aprendizagem de mquina com o mtodo estatstico SVM.

1.6 Organizao da Dissertao


Esta dissertao est dividida em cinco captulos. O Captulo 2 contm um estudo terico sobre SVM. Este captulo representa a contribuio desta dissertao a um melhor entendi-

1.6 Organizao da Dissertao

17

mento da rea. So descritos os principais conceitos e fundamentos de SVM. O primeiro conceito a Teoria de Aprendizagem Estatstica, a qual apresentada juntamente com os seus pontos importantes, como Minimizao do Risco Estrutural e demais termos que determinam a boa capacidade de generalizao da tcnica. Em seguinda, so descritos os conceitos da Teoria de Otimizao Matemtica, estratgia usada para realizar o treinamento de SVM. Finalmente, todos os teoremas e problemas relacionados ao treinamento, teste, funes kernel e demais conceitos que envolvem SVM, so apresentados. O Captulo 3 apresenta uma reviso bibliogrca. O objetivo descrever os principais trabalhos desenvolvidos tanto com SVM quanto com reconhecimento de objetos. Os trabalhos so discutidos com o intuito de mostrar em que problemas SVM j foi aplicado, destacando os resultados obtidos e que outras tcnicas tambm foram usadas em problemas de reconhecimento de objetos com mltiplas vises. As sees abrangem os trabalhos tericos com SVM, as estratgias de implementao da tcnica, as extenses propostas, e uma seo nal descreve alguns problemas em que SVM foi aplicado, dando nfase ao problema de reconhecimento de objetos 3D a partir de vises 2D e tcnicas utilizadas em trabalhos anteriores. O Captulo 4 contm uma descrio de todas as informaes obtidas dos experimentos desenvolvidos durante o trabalho prtico. apresentada inicialmente uma avaliao de algumas bibliotecas disponveis no domnio pblico que foram testadas para a escolha da mais adequada ao problema. Os experimentos esto dividos em trs partes. Na primeira, h a descrio do treinamento e teste usando uma base de imagens pequena e uma toolbox para o simulador Matlab. O segundo experimento, compreende a aplicao de SVM, utilizando-se uma biblioteca em C++, numa base de imagens de maior dimenso, para uma avaliao de trs tipos diferentes de kernel. O terceiro experimento compreende um estudo comparativo entre SVM, com os kernels que apresentaram melhores resultados na etapa anterior, e Redes Neurais. Todos os resultados obtidos tambm so apresentados. Finalmente o Captulo 5 sintetiza os principais resultados e concluses da dissertao e perspectivas de trabalhos.

Captulo 2 Support Vector Machines


Support Vector Machines (SVM) so sistemas de aprendizagem de mquina treinados com um algoritmo de Otimizao Matemtica e que implementam um limite derivado da Teoria de Aprendizagem Estatstica. Essa estratgia de aprendizagem desenvolvida por Vladmir Vapnik [Vapnik, 1999] e colaboradores, em poucos anos desde a sua introduo, vem superando outros sistemas em uma variedade de aplicaes [Cristianini and Shawe-Taylor, 2000]. SVM destaca-se por pelo menos duas caractersticas: possui slida fundamentao terica e pode alcanar alto desempenho em aplicaes prticas. A teoria de aprendizagem pode identicar precisamente os fatores que devem ser considerados para a aprendizagem ser bem sucedida e construir modelos que so bastante complexos. O treinamento de SVM envolve a otimizao de uma funo quadrtica convexa, que um problema de Otimizao Matemtica. SVM envolve poucos parmetros livres que precisam ser ajustados pelo usurio e no h uma dependncia, pelos menos de uma forma explcita, na dimenso do espao de entrada do problema, o que sugere que SVM pode ser til em problemas com um grande nmero de entradas. Outro destaque que a arquitetura de SVM no encontrada por experimentao [Kwok, 1998]. Essa tcnica pode ser aplicada ao Reconhecimento de Padres (estimar funes indicadores), Regresso (estimar funes de valores reais) e Extrao de Caractersticas. Como o problema de reconhecimento de objetos basedo na aparncia, investigado nesta dissertao, encaixa-se na rea de Reconhecimento de Padres, este captulo descreve a teoria que fundamenta SVM dando nfase a esta rea. Conforme mencionado no Captulo 1, o processo decisrio em problemas de Reconheci18

2.1 Teoria de Aprendizagem

19

mento de Padres pode ser realizado atravs de funes que dividem o espao de caractersticas em regies. A forma mais simples de fazer isso atravs de hiperplanos. SVM baseia-se nessa estratgia ao construir um tipo especial de hiperplano, o Hiperplano de Margem Mxima [Schlkopf et al., 1999a], que ser descrito na Seo 2.3.1. A Teoria de Aprendizagem Estatstica orienta como controlar a capacidade e prevenir super especializao, atravs do controle das medidas de margem do hiperplano. A Teoria de Otimizao prov as tcnicas matemticas necessrias para encontrar o hiperplano otimizando essas medidas. Portanto, importante conhecer essas duas teorias: Teoria de Aprendizagem Estatstica e Teoria de Otimizao Matemtica, que so fundamentais ao entendimento de SVM. Essas teorias so descritas nas prximas duas sees. Na Seo 2.3, a tcnica SVM apresentada luz dessas duas teorias que lhe do suporte.

2.1 Teoria de Aprendizagem


O objetivo desta seo descrever o princpio do modelo conceitual para os processos de aprendizagem que so usados na construo de algoritmos ou mquinas de aprendizagem, em especial SVM. Para construir qualquer teoria necessrio o uso de alguns conceitos em torno dos quais a teoria desenvolvida. importante usar conceitos que descrevam condies necessrias e sucientes para a consistncia do mtodo de aprendizagem. Em linhas gerais, consistncia signica a capacidade de um mtodo de aprendizagem convergir para uma soluo tima. A Teoria de Aprendizagem Estatstica no contexto de SVM, objetiva controlar, em termos matemticos, a habilidade de generalizao (capacidade de classicao correta de padres no treinados) da tcnica. Para esse m, h a necessidade de uma teoria que permita descrever precisamente os fatores que devem ser controlados para garantir bom desempenho de generalizao. Existem diversas teorias de aprendizagem que podem ser aplicadas. A tcnica SVM derivada dos princpios bsicos descritos na teoria de Vapnik e Chervonenkis (VC). A teoria VC a mais apropriada para descrever SVM, mas possvel tambm dar uma interpretao Bayesiana, entre outras [Cristianini and Shawe-Taylor, 2000]. Para uma tarefa de aprendizagem, com uma quantidade de dados de treinamento nita, o melhor desempenho de generalizao ocorre quando atingido um equilbrio entre a preci-

2.1 Teoria de Aprendizagem

20

so alcanada em um conjunto de treinamento particular e a capacidade do sistema, ou seja, a habilidade do sistema aprender qualquer conjunto de treinamento sem erro [Burges, 1998]. Segundo Bugues [Burges, 1998], um sistema com uma capacidade muito alta comparado a um botnico que, ao ver uma rvore, conclui que no rvore porque tem quantidade de folhas diferente das rvores j conhecidas por ele. Por outro lado, um sistema com capacidade muito baixa comparado a um botnico que conclui que se um objeto verde, uma rvore. H uma grande famlia de limites que governam a relao entre a capacidade de um algoritmo de aprendizagem e seu desempenho. Esta dissertao considera os limites denidos na teoria de Vapnik [Vapnik, 1999], que so os limites usados em SVM. Em [Haykin, 1999] tambm pode-se encontrar esses mesmos limites da teoria de aprendizagem, s que aplicados a Redes Neurais. Por tratarem-se de conceitos no triviais, a prxima seo apresenta um modelo de estimao de funo, para tentar facilitar a compreenso desses limites.

2.1.1 Modelo de Estimao de Funo


No contexto estatstico, o foco de interesse no a evoluo de um vetor peso ocorre em Redes Neurais, e sim, a diferena entre uma funo alvo

, como

e a sada real do

sistema. A Figura 2.1 mostra um modelo geral de aprendizagem supervisionada a partir de exemplos, possuindo trs componentes principais:

MA

y*

Figura 2.1: Um modelo de aprendizagem a partir de exemplos contendo um gerador G, um supervisor S, uma mquina de apredizagem MA, no qual um vetor de entrada randmico,

a sada do supervisor e a sada produzida por MA.

2.1 Teoria de Aprendizagem 1. Um gerador (G), ou ambiente, de vetores randmicos

21

, selecionados indepen-

dentemente a partir de uma funo de distribuio de probabilidade cumulativa F( ) xa, porm desconhecida. 2. Um supervisor (S), ou professor, que retorna um valor de sada desejada , para cada vetor de entrada , de acordo com uma funo de distribuio condicional F( ), tambm xa e desconhecida. 3. Uma mquina de aprendizagem (MA), ou algoritmo, capaz de implementar um conjunto de funes

 ,  

, em que

um conjunto de parmetros.

Nesse contexto, o problema de aprendizagem pode ser interpretado como um problema de aproximao, que envolve encontrar uma funo

que gere a melhor aproxima-

o para a saida do supervisor. A seleo dessa funo baseia-se em um conjunto de

exemplos de treinamento independentes e identicamente distribudos (i.i.d.), gerados de

acordo com:

  ! #"$ %" &('('(') 102 30 (2.1) 9  ,A os quais so pares de entrada e sada desejada 145 64 , '('(' , 102 70 , 348 , @ ' '(' , .

Para tentar facilitar a compreenso desses termos, apresentado o seguinte exemplo extrado de [Burges, 1998]. Em um problema de reconhecimento (deteco) de rvores, ser um vetor de valores de pixels (por exemplo, n=256 para uma imagem 16x16) e pode ser 1, se a imagem contm uma rvore e -1, caso contrrio. Assume-se que h uma distribuio de probabilidade desconhecida

  

C4

B4 pode

D , a partir da qual esses dados so selecionados, o que

signica que os dados so gerados independentemente e distribudos identicamente (i.i.d.). Diante desse problema, h supostamente uma mquina (algoritmo) cuja tarefa aprender o mapeamento

H4#EG

B4FGE 3 4 . A mquina denida por um conjunto de possveis mapeamentos


tro de ajuste , sempre a mesma sada

sendo considerada determinstica, ou seja, para uma dada entrada e parme-

ser produzida. A escolha de um

particular

gera o que podemos chamar de mquina treinada, por exemplo: uma Rede Neural com arquitetura denida, com dizagem nesse sentido.

correspondendo aos pesos e limiares, uma mquina de apren-

2.1 Teoria de Aprendizagem

22

Para alcanar a melhor aproximao entre a sada produzida pela mquina de aprendizagem e a sada desejada, necessrio trabalhar com uma medida chamada risco (erro) mnimo. O prximo tpico apresenta consideraes sobre o conceito de risco.

2.1.2 Minimizao do Risco


Para escolher a melhor aproximao para a resposta do supervisor, deve-se trabalhar com uma medida de perda (ou discrepncia), denida pela frmula: entrada e a resposta real

 , a qual re-

presenta uma medida de discrepncia entre a resposta desejada do supervisor, para uma

produzida pela mquina de aprendizagem. O valor espe-

rado da perda denido pela seguinte frmula, chamada de funcional de risco:

F 
O objetivo encontrar a funo que minimiza a funcional de risco probabilidade conjunta

 , dentre a classe de funes  , , , na situao em que a funo de distribuio de

B 

(2.2)

desconhecida e as informaes disponveis encontram-se

apenas no conjunto de treinamento (Equao (2.1)). Essa formulao do problema de aprendizagem pode ser aplicada a muitos problemas especcos como: Reconhecimento de Padres, Estimao de Regresso e Estimao de Densidade. Em Reconhecimento de Padres (no caso binrio), considerando que a sada do supervisor assume apenas dois valores

  , e  , (   

) um conjunto

de funes indicador (funes que tm apenas dois valores: zero e um), a funo perda a seguinte:

 

 

se

se 

 

) )

(2.3)

A funcional de risco determina, para essa funo perda, a probabilidade de erro de classicao (respostas diferentes dadas pelo supervisor e pela funo indicador). O problema encontrar uma funo que minimize a probabilidade de erro de classicao quando a medida de probabilidade

desconhecida, mas os dados so fornecidos.

A maioria da literatura em Teoria de Aprendizagem Estatstica considera uma perda especca para cada problema, como a que foi citada acima para Reconhecimento de Padres.

2.1 Teoria de Aprendizagem

23

O problema de aprendizagem pode ser denido de uma forma mais geral considerando a medida de probabilidade

, denida no espao

e um conjunto de funes

 ,

O problema como sempre : minimizar a funcional de risco

F
na qual a medida de probabilidade (amostra i.i.d) so conhecidos,

  $

(2.4)

desconhecida, porm dados empricos

descreve um par

" , '('(' , 0

a funo de perda es-

pecca de cada problema (Reconhecimento de Padres, Regresso, etc). Para aplicar essas denies a um problema particular, deve-se substituir a funo de perda correspondente na frmula. Entretanto, o risco no pode ser minimizado diretamente, pois depende de uma distribuio de probabilidade desconhecida. Portanto, h a necessidade de estimar uma funo que seja prxima da resposta tima, ou desejada, utilizando-se apenas os dados conhecidos. Em aprendizagem supervisionada, os nicos dados conhecidos so o conjunto de dados de treinamento. Para superar essa diculdade matemtica usado o princpio indutivo de minimizao do risco emprico. Este princpio depende inteiramente do conjunto de dados de treinamento. A prxima seo tratar da denio geral desse princpio.

2.1.3 Minimizao do Risco Emprico


O risco emprico a medida da taxa de erro no conjunto de treinamento para um nmero de observaes nitas e xas. Para minimizar a Funcional de Risco de uma funo de distribuio desconhecida

, pode ser aplicado o princpio indutivo

, denida em termos

da Minimizao do Risco Emprico (ERM do ingls "Empirical Risk Minimization"). Esse princpio indutivo pode ser descrito como segue: 1. Substituir a Funcional de Risco

pela Funcional de Risco Emprico

F 

4 "


45

(2.5)

construda a partir do conjunto de treinamento

"$A'('('A 0 .

2.1 Teoria de Aprendizagem 2. Aproximar a funo


24

0

que minimiza a Funcional de Risco

pela funo

minimizando o risco emprico.

Mtodos clssicos para a soluo de problemas de aprendizagem, como Mnimos Quadrados, PAC e Redes Neurais so instanciaes do princpio de ERM para funes de perda especcas. A Funcional de Risco Emprico dois motivos principais: 1. No depende, de forma explcita, da funo de distribuio desconhecida; 2. Pode ser minimizada com relao aos parmetros de aprendizagem

difere da Funcional de Risco

por

(ou vetor peso

no caso especco da mquina de aprendizagem ser uma Rede Neural).

Entretanto, apenas o clculo ERM no implica em um erro de teste ou risco pequenos, pois um pequeno erro de generalizao no pode ser obtido simplesmente minimizando o erro de treinamento [Schlkopf et al., 1999a]. A Teoria VC mostra que imperativo restringir a classe de funes a partir da qual

escolhida para que a capacidade seja adequada

quantidade de dados de treinamento disponveis [Burges, 1998]. O conceito de capacidade mais conhecido da Teoria VC a dimenso VC, que componente importante para o limite de generalizao de SVM.

2.1.4 Dimenso VC
A dimenso VC uma medida da capacidade ou poder expressivo da famlia de funes de classicao realizadas pela mquina de aprendizagem e pode ser denida para vrias classes de funes. Grosseiramente, o nmero de exemplos necessrios para se aprender uma classe de interesse de maneira convel proporcional dimenso VC daquela classe. um conceito puramente combinatorial que no tem conexo com a noo geomtrica de dimenso [Haykin, 1999].

   ( usado como um conjunto genrico de parmetros: uma escolha de especica uma funo particular). A dimenso VC para a classe de funes , em relao ao espao de entrada, denida como o nPadres de duas classes, tal que

Considerando, por exemplo, apenas funes que correspondam ao Reconhecimento de

mero mximo de pontos de treinamento que podem ser separados em todas as combinaes

2.1 Teoria de Aprendizagem

25

possveis, usando funes das classes dadas [Schlkopf et al., 1999a], ou seja, o nmero mximo de exemplos de treinamentos que podem ser aprendidos sem erro [Haykin, 1999]. Ainda no problema especco de Reconhecimento de Padres, uma denio mais geral : "a dimenso VC de um conjunto de funes indicadores mximo de vetores

 ,  , o nmero 4 ('('A'A (lembrando que z descreve um par ( )), que podem ser
formas possveis, usando funes do conjunto.

separados em duas classes, de todas as

Se para qualquer h algum conjunto de vetores que podem ser separados pelo conjunto

 , 

, ento a dimenso VC innita"[Vapnik, 1999].

Um exemplo de um limite VC o seguinte: se

a dimenso VC da classe de

dessa classe, com uma probabilidade de no mnimo , o limite que aplica-se [Schlkopf

funes que a mquina de aprendizagem pode implementar, ento, para todas as funes

et al., 1999a]:


 


"



 ! 


"

(2.6)

em que  chamado termo de conana, sendo denido pela seguinte frmula:

 

$#&%

!('

102
)!

(2.7)

Segundo Vapnik [Vapnik, 1999], a dimenso VC geralmente no coincide com o nmero de parmetros, podendo portanto, ser bem maior ou bem menor, e a dimenso VC do conjunto de funes, e no o nmero de parmetros, a responsvel pela habilidade de generalizao da mquina de aprendizagem. Esse fator abre a oportunidade de superar a conhecida praga da dimenso de entrada 1 , tornando possvel generalizar bem nas bases de um conjunto de funes contendo um elevado nmero de parmetros, mas com pequena dimenso VC. Uma das caractersticas destacveis de SVM o uso de famlias de superfcie de deciso com dimenso VC relativamente baixa. Como foi citado na seo anterior, ERM no determina um erro de teste pequeno. Para superar essa limitao, SVM realiza a Minimizao do Risco Estrutural (SRM do ingls
1

Curse of dimensionality Uma funo denida em um espao de alta dimenso muito mais complexa do

que uma funo denida em um espao de dimenso menor, tal complexidade torna o processo de classicao mais difcil [Haykin, 1999]

2.1 Teoria de Aprendizagem

26

"Structural Risk Minimization"). Esse princpio mostra que o erro de generalizao limitado pela soma do erro do conjunto de treinamento (risco emprico) e um termo que depende da dimenso VC do classicador [Kwok, 1998].

2.1.5 Minimizao do Risco Estrutural


O erro de treinamento (risco emprico) a frequncia de erros de uma mquina de aprendizagem durante a etapa de treinamento. O erro de generalizao denido como a frequncia de erros produzidos pela mquina quando testada com exemplos no vistos anteriormente. Nas sees anteriores foi mostrado que a teoria de controle da habilidade de generalizao de mquinas de aprendizagem objetiva a construo de um princpio indutivo para a minimizao da funiconal de risco

Considerando-se a probabilidade 1- e utilizando-se as denies anteriores de risco e do termo de conana, aplica-se o seguinte limite:

em que o tamanho do conjunto de treinamento e a dimenso VC (inteiro no-negativo), medida de capacidade mencionada na seo anterior. O lado direito da inequao chamado Risco Garantido, embora haja divergncias com esse conceito. Em [Burges, 1998], esse termo chamado Limite de Risco, pois segundo o autor, no trata-se de um risco e sim, de um limite no risco e aplica-se com uma certa probabilidade (1- ), logo no garantido. O Risco Garantido portanto, o limite para o erro de generalizao. O segundo termo no lado direito chamado de Conana VC. Segundo Haykin [Haykin, 1999] o erro de treinamento, para um nmero xo de exemplos, diminui monotonicamente quando a dimenso VC aumentada, enquanto que o intervalo de conana aumenta monotonicamente. Com isso, o Risco Garantido e o erro de generalizao convergem para o mnimo. Observa-se, portanto, que a meta do problema de aprendizagem supervisionada realizar o melhor desempenho de generalizao, combinando a capacidade da mquina com a quantidade de dados do problema. SRM um princpio indutivo que alcana esse objetivo fazendo a dimenso VC da mquina de aprendizagem uma varivel de controle.

!

 

 #&% 

(2.8)

2.1 Teoria de Aprendizagem

27

Como j foi citado, o intervalo de conana aumenta medida que o nmero de exemplos de treinamento aumenta, podendo tornar-se intratvel. SRM supera essa limitao usando a

 ,  , produzida uma estrutura que consiste de subconjuntos aninhados de funes  ,  ,  tal que @" '('(' . A Figura 2.2 ilustra este fato.
subconjuntos aninhados. Ento, dado o conjunto S de funes

estratgia de introduzir uma "estrutura"a partir da diviso da classe de funes de entrada em

'

S4 S3

S2

S1

Figura 2.2: Uma estrutura em um conjunto de funes aninhadas. Os elementos da estrutura devem satisfazer as seguintes propriedades: 1. A dimenso VC  de cada conjunto de funes  nita. Ento,

"

'

2. Qualquer elemento  da estrutura deve conter ou um conjunto de funes totalmente limitado

 ,

 , ou um conjunto de funes que satisfaa a


(2.9)

inequao:

43

, para algum par

516 . As estruturas que satisfazem essas condies so cha7


,

(  0 )  !#"%$'& ( 1%   2

madas estruturas admissveis. O supremo de um conjunto no vazio de escalares representado por

 7

, denido como o menor escalar tal que 98

@7 . Similarmente, o nmo de um conjunto 7 , representado por


como o maior escalar tal que Dado um conjunto de observaes

para todo A7

para todo

, denido

"$('('A'A 0 , o princpio SRM escolhe a funo

minimizando o risco emprico no subconjunto

 0 ,

, que apresente o menor Risco Garantido,

buscando assim um compromisso entre a qualidade da aproximao dos dados (erro de treinamento) e a complexidade da funo de aproximao (intervalo de conana). A Figura 2.3 ilustra essa estratgia. O risco emprico diminui com o aumento no ndice do elemento da

2.2 Otimizao Matemtica

28

estrutura, enquanto o intervalo de conana aumenta. O limite mnimo do risco alcanado para algum elemento apropriado da estrutura ( na Figura 2.3).
Limite no Risco

Intervalo de Confiana Erro

Risco Emprico h1 h* hn h (dimenso VC)

S1

S* Sn

Figura 2.3: O limite de risco a soma do risco emprico com o intervalo de conana.

SVM implementa esse princpio estatstico para controlar a capacidade e prevenir super especializao (overtting). Porm, essa apenas uma das teorias que fundamentam a tcnica. Para mostrar como SVM estruturado, antes importante descrever a outra rea, Otimizao Matemtica, que prov as tcnicas matemticas necessrias para o treinamento de SVM e dene algumas das principais caractersticas da tcnica. As denies de Otimizao Matemtica so apresentadas a seguir.

2.2 Otimizao Matemtica


O treinamento de SVM envolve a resoluo de um problema de Otimizao Matemtica [Mattera et al., 1999]. Portanto, para compeender o funcionamento dessa etapa do processo de aprendizagem do algoritmo SVM, importante um conhecimento prvio da teoria de Otimizao Matemtica. As prximas sees detalham essa rea.

2.2.1 Conceito
Otimizao um ramo da Matemtica que envolve a caracterizao de solues para classes de problemas compostos por funes que devem ser escolhidas para minimizar ou maxi-

2.2 Otimizao Matemtica

29

mizar uma certa funo custo, sujeita a certas restries. Otimizao Matemtica tambm se preocupa com o desenvolvimento de algoritmos para encontrar tais solues. A Teoria de Otimizao prov as tcnicas algortmicas e tambm dene condies necessrias e sucientes para um funo dada ser uma soluo [Cristianini and Shawe-Taylor, 2000]. Os problemas normalmente comeam com um conjunto de variveis ou parmetros independentes e frequentemente incluem condies ou restries que denem valores aceitveis das variveis. A soluo de um problema de otimizao um conjunto dessas variveis que satisfazem as restries e minimizam/maximizam a funo de custo [Gottfried and Weisman, 1973]. A seguir so apresentadas algumas denies relacionadas s funes e natureza das restries. Essas denies so necessrias para uma distino entre as classes de problemas de otimizao, possibilitanto a identicao, no contexto amplo da Teoria de Otimizao Matemtica, da classe de problemas adequados para a tarefa de treinamento de SVM.

2.2.2 Denies

Otimizao Irrestrita: abrange os problemas em que as variveis podem assumir qualquer valor.

Otimizao Restrita: abrange a classe de problemas em que as variveis podem assumir valores condicionados ou seja, sujeitos restries. Essas restries podem ser de igualdade e desigualdade. As de igualdade, descrevem frequentemente a operao do sistema que est sendo considerado, enquanto as de desigualdade impem limites inferior e/ou superior para as variveis [Lasdon, 1970]. A seguir mostrado um exemplo de um problema geral de otimizao. Problema Geral: Dadas as funes , em um domnio

4,9  ( '('('$ , e 4 , 9  ( '('(' ,


&

, denidas

Minimize Sujeito a

@ 9 ( '('(') 4 F 9@ ( '('(')




(2.10)

2.2 Otimizao Matemtica

30

em que (w) chamada funo objetivo e as demais relaes so chamadas, respectivamente, restrio de desigualdade e de igualdade. O valor timo da funo objetivo chamado valor do problema de otimizao. A regio do domnio onde a funo objetivo denida e onde todas as restries so satisfeitas chamada regio vivel. Uma restrio de desigualdade (w) e inativa se violada se
% % %

4 (w

4 (w

ativa se uma soluo w satisfaz (w

. A restrio dita satisfeita se for ativa ou inativa e dita ser

Em algumas situaes, quantidades chamadas variveis de folga ( ) so introduzidas para transformar uma restrio de desigualdade em uma de igualdade. Isso pode ser observado no seguinte exemplo:
%

% 4 (w) 4 (w)+)4!

, com

A4

. Quando

essas variveis so associadas com restries ativas, so iguais a zero e quando so associadas com restries inativas indicam a quantidade de "folga"na restrio [Cristianini and Shawe-Taylor, 2000].

Programao Linear: um programa linear um problema de otimizao em que a funo objetivo e todas as demais funes de restrio so lineares.

Programao No-Linear: quando a funo objetivo e/ou as funes de restrio so no-lineares.

Programao Quadrtica: quando a funo objetivo quadrtica e as restries so lineares. Neste caso, a forma da funo objetivo :
-vetor , w a varivel desconhecida,

' o expoente e uma matriz simtrica.

" ! w+

w, para algum

Programao Convexa: um problema de programao convexa envolve a minimizao de uma funo convexa sobre um conjunto de restries. Uma funo convexa garantida estar livre de timos locais distintos [Lasdon, 1970]. Um conjunto de pontos dito ser convexo se, dados quaisquer dois pontos no conjunto, o segmento de reta que os conecta est tambm no conjunto. O principal teorema da programao convexa : Qualquer mnimo local de um problema de programao convexa um mnimo global.

Programao Quadrtica Convexa: trata de problemas em que a funo objetivo convexa e quadrtica. SVM considera problemas em que as restries so lineares,

2.2 Otimizao Matemtica a funo objetivo convexa e quadrtica e =

31

(domnio dos reais), portanto, so

programas quadrticos convexos [Cristianini and Shawe-Taylor, 2000]. Para realizar a procura de mximos e mnimos condicionados, como nos problemas quadrticos convexos e demais problemas de otimizao matemtica, utilizado o mtodo de Lagrange. Esse mtodo usado para solucionar o treinamento de SVM. A prxima seo apresenta o mtodo de Lagrange restrito programas quadrticos convexos, como em SVM.

2.2.3 Teoria de Lagrange


A teoria de Lagrange objetiva caracterizar a soluo de um problema de otimizao a princpio quando no h restries de desigualdade. Este mtodo foi desenvolvido por Lagrange em 1797 generalizando um resultado de Fermat de 1692. Em 1951, Kuhn e Tucker estenderam o mtodo para permitir restries de desigualdade [Gill et al., 1981]. O Teorema 1 apresenta o caso mais simples, que no contm restries. Teorema 1 (Fermat) Uma condio necessria para que a derivada da funo seja nula nesse ponto.

ser um mnimo de

",

Uma funo

de classe

"

(2.11)

se existem e so contnuas

acima, juntamente com a convexidade de , so condies sucientes para assegurar que um certo valor o resultado da minimizao. Em problemas restritos, necessrio denir a funo de Lagrange, a qual incorpora informaes sobre a funo objetivo e as restries. A funo de Lagrange denida (Denio 1), atravs da soma da funo objetivo com uma combinao linear das restries, em que os coecientes da combinao so chamados Multiplicadores de Lagrange e so determinados no transcorrer da soluo. Denio 1 Dado um problema de otimizao com funo objetivo igualdade

"

'

. A condio apresentada

4  ,@ 9  ('('(')

e restries de

, a funo ou funcional de Lagrange denida como:

4 "

4 4

(2.12)

2.2 Otimizao Matemtica na qual os coecientes

32

so os Multiplicadores de Lagrange. A partir dessa denio

possvel apresentar o teorema de Lagrange.

Teorema 2 (Lagrange) Uma condio necessria para um ponto

sujeito

4 F  , 9  ('('('$

, com ,

4 " , :

ser um mnimo de

(2.13)

(2.14)

para qualquer valor . Essas condies acima so tambm sucientes desde de que

seja uma funo convexa de . Impondo-se essas duas condies e solucionando-se os


Os dois teoremas descritos at o momento, abrem caminho para o caso mais geral, o Te-

sistemas obtidos a partir delas, alcanada a soluo global.

orema Kuhn-Tucker, no qual o problema de otimizao contm tanto restries de igualdade quanto de desigualdade. Teorema 3 (Kuhn-Tucker) Dado um problema de otimizao com domnio convexo

minimize sujeito

com

"

% 4  9 ('('('$ 4 F 9 ('A'(')


(2.15)

convexa e

e  ordenada na origem ou o ponto de interseo da reta com o eixo das ordenadas. As condies necessrias e sucientes para um ponto

a seguinte forma

4, 4

  , na qual

ans. importante lembrar que uma funo am apresenta uma constante que fornece o declive da reta

ser o ponto timo so a existncia de

, (um multiplicador de Lagrange para cada restrio) tal que:

2.2 Otimizao Matemtica

33

      

(2.16)

4 % 4  9 A '('('A % 4 9 ( '('A') 4 8 9 ( '('A') 4


8

(2.17) (2.18) (2.19) (2.20)

A relao 2.20 a chamada condio complementar Karush-Kuhn-Tucker (KKT) [Cristianini and Shawe-Taylor, 2000]. Essa relao implica em

4 

para restries ativas e

para restries inativas. Tambm pode-se observar que um ponto de soluo pode

estar em uma de duas posies com relao uma restrio de desigualdade: ou no interior da regio vivel, com restries inativas, ou no limite, com restries ativas. Assim, as condies KKT dizem que, ou uma restrio ativa, signicando plicadores de Lagrange correspondentes satisfazem
%

4

, ou os multi-

. Isto sintetizado na Equao

Alm dessas condies, outro conceito fundamental na formulao de SVM o conceito de dualidade. A prxima seo discorre sobre este conceito, completando assim a fundamentao terica necessria para a descrio da tcnica SVM.

2.2.4 Dualidade
Dado um problema de otimizao P, o problema primal, possvel denir um problema relacionado D do mesmo tipo, o problema dual, em que os Multiplicadores de Lagrange de P so parte da soluo de D, e os Multiplicadores de Lagrange de D esto contidos na soluo de P [Gill et al., 1981]. Se a soluo do problema dual D, a soluo do problema primal P pode ser determinada a partir de . A teoria de Lagrange para problemas convexos permite uma descrio dual. Normalmente essa descrio mais simples de solucionar computacionalmente do que o problema primal, porque o manuseio direto de restries de desigualdade difcil [Cristianini and Shawe-Taylor, 2000]. O problema dual obtido introduzindo os multiplicadores de Lagrange, que so chamados de variveis duais. Esse mtodo baseado na idia de que as variveis

2.2 Otimizao Matemtica

34

duais so as variveis desconhecidas fundamentais que precisam ser encontradas para solucionar o problema, como no exemplo abaixo . Denio 2 Dado um problema de otimizao com domnio minimize sujeito

% 4  9@ '('A'A 4 F 9@ '('A'A

&

(2.21)

A funcional de Lagrange generalizada pode ser denida como:

 

4 " 4 % 4  4 " 4 4   %  

 

(2.22)

O problema dual de Lagrange : Maximize Sujeito a no qual

 9 "

(2.23)

!

O valor da funo objetivo

na soluo tima

chamado valor do problema. Solucionando-se os problemas primal e dual, pode-se alcanar a soluo do problema geral, simplesmente vericando a diferena entre os valores dos problemas primal e dual. Se essa diferena reduz a zero, o valor timo alcanado. A diferena entre os valores dos problemas primal e dual conhecida como intervalo de dualidade.

"$ ('('A') H uma funo escalar de variveis,  ' um ponto de sela qualquer ponto "$ ('('('$ H cujo gradiente ( derivada) de no
ponto de sela (saddle point). Se

Outra forma de detectar um intervalo de dualidade nulo vericar a presena de um

ponto zero, no sendo porm, ponto de mximo nem ponto de mnimo porque as prximas derivadas de

'

so de sinais diferentes e em direes diferentes. Um ponto de sela da funo

de Lagrange para o problema primal uma tripla satisfazendo a seguinte propriedade:

!

 , com , 8 ,    , para todo

. Em SVM considerado o teorema de dualidade forte. Esse teorema garante

que os problemas dual e primal tm o mesmo valor. Teorema de dualidade forte Dado um problema de otimizao com domnio convexo

2.3 Support Vector Machines

35

e em que

4 e 4 so funes ans,
minimize sujeito

% 4  9 ('('('$ 4 F 9 ('A'(')

(2.24)

De forma mais especca, a transformao de primal para dual pode ser feita assumindo as derivadas da funo de Lagrange iguais a zero com relao s variveis primais, removendo portanto, a dependncia nas variveis primais. Isso corresponde computao da funo

 9 "

! . A funo resultante contm apenas variveis duais e pode ser

maximizada para restries mais simples. Essa estratgia padro na teoria de SVM. Alguns elementos importantes da teoria de Otimizao Matemtica que sero teis na denio de SVM so listados abaixo:

o uso de representaes duais em SVM permite trabalhar em espaos com dimenses mais altas e prepara o caminho para tcnicas algortmicas derivadas da Teoria de Otimizao;

as condies complementares KKT implicam que apenas as restries ativas tero variveis duais no-nulas, signicando que, para certas otimizaes o nmero de variveis envolvidas pode ser bem menor do que o conjunto de treinamento completo;

o termo vetores de suporte de SVM refere-se aos exemplos que tm variveis duais no-nulas;

outras caractersticas importantes, como a ausncia de mnimos locais, so consequncias da utilizao de programas quadrticos convexos no treinamento de SVM.

A prxima seo combina as duas teorias aprensentadas at este ponto, Aprendizagem Estatstica e Otimizao Matemtica, para descrever a tcnica de aprendizagem SVM.

2.3 Support Vector Machines


SVM pode ser aplicado a problemas de Reconhecimento de Padres, Regresso, Extrao de Caractersticas e Deteco de Novidades. Para cada um desses contextos h denies ma-

2.3 Support Vector Machines

36

temticas especcas. Para no extrapolar do escopo desta dissertao, esta seo descreve SVM apenas no contexto de Reconhecimento de Padres. O modelo mais simples de SVM, que tambm foi o primeiro a ser introduzido, chamado Classicador de Margem Mxima. Ele trabalha apenas com dados linearmente separveis, cando restrito, portanto, poucas aplicaes prticas. Apesar dessa limitao, o Classicador de Margem Mxima apresenta propriedades importantes e a pedra fundamental para a formulao de SVMs mais sosticadas. A Figura 2.4 mostra um espao de caractersticas linearmente separvel para um conjunto de treinamento bidimensional e a Figura 2.5 ilustra um espao linearmente inseparvel. A linha escura presente em ambas as guras, separando os vetores de entrada de classes distintas, chamada de superfcie de deciso (ou separao). Em particular, na Figura 2.4, devido a linearidade da superfcie de deciso, a mesma tambm conhecida como hiperplano de separao.

Figura 2.4: Espao de caractersticas linearmente separvel.

Figura 2.5: Espao de caractersticas linearmente inseparvel.

O Classicador de Margem Mxima otimiza limites no erro de generalizao das m-

2.3 Support Vector Machines

37

quinas lineares em termos da margem de separao entre as classes a qual determinada pelo hiperplano de separao. Essa estratgia envolve separar os dados com um tipo especial de hiperplano, o Hiperplano de Margem Mxima ou de separao tima, que descrito na prxima seo.

2.3.1 Hiperplano de Margem Mxima


Para introduzir o conceito de Hiperplano de Margem Mxima, inicialmente ser considerado o contexto de classicao binria, para conjuntos linearmente separveis. Aps, sero consideradas as demais situaes, que so mais comuns em problemas prticos. Com esses conceitos denidos, ser apresentado o problema da otimizao quadrtica convexa de SVM, cuja soluo um Hiperplano de Margem Mxima. Um hiperplano considerado de Margem Mxima (ou de Separao tima) se separa um conjunto de vetores sem erro e a distncia entre os vetores (das classes opostas) mais prximos ao hiperplano mxima [Vapnik, 1999]. A Figura 2.6 (a) mostra um hiperplano com margem pequena e 2.6 (b), um Hiperplano de Margem Mxima, para um conjunto de treinamento bidimensional. Para o caso linearmente separvel, o algoritmo de SVM tem como objetivo encontrar esse hiperplano.

(a)

(b)

Figura 2.6: (a) Um hiperplano de separao com margem pequena. (b) Um Hiperplano de Margem Mxima.

A Teoria de Aprendizagem permite controlar a capacidade de generalizao e a possibilidade de overtting atravs do controle das medidas de margem do hiperplano. A margem denida como a distncia entre os pontos de dados, de ambas as classes, mais prximos

2.3 Support Vector Machines

38

superfcie de deciso, nesse caso, ao hiperplano. H diferentes limites de generalizao, motivando diferentes algoritmos, tais como: otimizar a margem mxima, a distribuio de margem etc. Esta dissertao considera a mais comum e bem estabelecida estratgia, que reduz o problema minimizao da norma (comprimento) do vetor [Cristianini and Shawe-Taylor, 2000], tambm conhecido como vetor peso.

9  1 ('('A') . Cada ponto 14 pertence a  uma das duas classes, sendo fornecido portanto um rtulo C4 . Supe-se que h um
Isso pode ser feito, segundo Burges [Burges, 1998], da seguinte forma. Considera-se um conjunto

de pontos de entrada

com

hiperplano que separa os exemplos positivos dos negativos. Os pontos sobre o hiperplano satisfazem

distncia perpendicular do hiperplano origem e




'

, em que

normal (perpendicular) ao hiperplano, a norma Euclidiana de

. Seja

a menor distncia entre o hiperplano de separao e os pontos na fronteira da classe positiva fronteira da classe negativa ( (

), e

a menor distncia entre o hiperplano de separao e os pontos mais prximos na

). A margem do hiperplano deve ser portanto

O algoritmo de SVM procura o hiperplano de separao com margem mxima que pode ser construdo como segue. Assume-se que todos os dados de treinamento satisfazem as seguintes restries:

H4  8  H4 


64   para 64 
para

(2.25)

(2.26)

Isso pode ser combinado em apenas um conjunto de inequaes:

34 H45'  

9@

1C(' ' '

(2.27)

H4 '   

Os pontos para os quais vale a igualdade na restrio (2.25) esto no hiperplano

, que possui norma

"  e distncia perpendicular origem igual a .

Similarmente, os pontos para os quais vale a igualdade da restrio (2.26) esto no hiperplano

H4 '   , com norma novamente e distncia perpendicular origem igual a ' . Portanto,   e a margem simplesmente . Pode-se observar que  " e  so paralelos (eles tm a mesma norma) e que no h

pontos de treinamento entre eles. Assim, possvel encontrar o par de hiperplanos que

'

2.3 Support Vector Machines geram a margem mxima, pela minimizaao de

39


'

, sujeito restrio denida em 2.27.

Essa escolha deve-se a pelo menos dois fatores provenientes da teoria de Aprendizagem Estatstica: dimenso VC e princpio SRM. O primeiro (dimenso VC) refere-se ao fato de que o objetivo da aprendizagem encontrar

tal que a funcional de risco ou risco esperado, Equao (2.4), seja minimizada.

Entretanto, como j foi citado na Seo 2.1.2, esse risco no pode ser obtido diretamente uma vez que depende de uma distribuio de probabilidade desconhecida. Diante disso, minimizado o limite no risco, Equao (2.8), que consiste do risco emprico e do termo de conana (que depende da dimenso VC). Segundo Vapnik [Vapnik, 1999], a dimenso VC (representada pela varivel ) da classe de hiperplanos de separao em relao margem (ou tamanho do vetor peso

) tem o seguinte limite:

'

'

, no qual

o raio

da menor esfera envolvendo os dados de treinamento, que xo para um certo conjunto de dados. Assim, o termo de conana pode ser minimizado pela minimizao de et al., 2001]. O segundo (princpio SRM) deve-se ao fato de que para aplicar o mtodo SRM, descrito na Seo 2.1.5, h a necessidade de se construir um conjunto de hiperplanos de separao variando a dimenso VC de tal forma que o risco emprico e a prpria dimenso VC sejam minimizados ao mesmo tempo. Em SVM, uma estrutura imposta sobre o conjunto de hiperplanos de separao atravs da restrio da norma Euclidiana do vetor . A dimenso VC tem o limite apresentado no pargrafo anterior. Ainda na Seo 2.1.5 foi citado que devese selecionar a estrutura com menor dimenso VC e erro de treinamento. Essa condio pode ser satisfeita usando o hiperplano timo, que tem o vetor peso timo, ou seja, com norma Euclidiana mnima. Portanto, a escolha do hiperplano timo como superfcie de deciso no apenas intuitivamente satisfatria mas tambm realiza totalmente o princpio SRM [Haykin, 1999]. A denio desse hiperplano a seguinte: dada uma amostra de treinamento linearmente separvel representada da seguinte forma:
'

[Mller

"$ C" $('A'('A 102 70 , o hiperplano '

pode ser encontrado solucionando-se o problema de otimizao:

minimize

sujeito a

34 H 4 ' 
8

'

9  ( '('A'A 

(2.28)

2.3 Support Vector Machines

40

A soluo para um caso bidimensional tpico dever ter a forma representada na Figura 2.7. Os pontos para os quais aplica-se a igualdade na Equao (2.27) (isto , aqueles que esto em um dos hiperplanos

 " ou 

) e que, se forem removidos, devem alterar a soluo


'

encontrada, so chamados vetores de suporte. Esses pontos so indicados na Figura 2.7 por crculos extras.

w H2 b ||w|| origem

H1

margem

Figura 2.7: Hiperplano de separao para o caso linearmente separvel. Os vetores de suporte esto circulados.

Para transformar o problema (2.28) em um problema quadrtico conforme descrito na Seo 2.2.2, necessrio re-escrev-lo da forma abaixo:

minimize

sujeito a

' & 34 H4 ' 


8

9  ( '('A'A 

(2.29)

Para solucionar esse problema de otimizao usado o mtodo dos multiplicadores de Lagrange, conforme discutido na Seo 2.2.3. H duas principais razes para isso: 1. A restrio (2.27) substituda por uma nova restrio, que denida em funo dos multiplicadores de Lagrange, os quais so mais fceis de manusear computacionalmente; 2. Nessa reformulao do problema, os dados de treinamento apenas aparecem na forma de produto interno entre vetores. Essa uma propriedade crucial que permite generalizar o procedimento para o caso no linear [Burges, 1998].

2.3 Support Vector Machines So introduzidos os multiplicadores de Lagrange

41

4 , 9  ( 'A'('A  . realizado o produto

entre a restrio (2.27) e os multiplicadores de Lagrange positivos e esse produto subtrado da funo objetivo, para formar a funcional de Lagrange, conforme foi descrito na Seo 2.2.3. Portanto, para solucionar o problema (2.29) deve-se encontrar o ponto de sela da seguinte funcional de Lagrange:

' '


4 "


4 34 H 45'  

4 "


(2.30)

Esse um problema de Programao Quadrtica Convexa j que a prpria funo objetivo convexa e os pontos que satisfazem as restries tambm formam um conjunto convexo. Qualquer restrio linear dene um conjunto convexo e um conjunto de res simultneas dene a interseco de convexo [Burges, 1998] . A derivada de

restries linea-

conjuntos convexos, que tambm um conjunto

em relao a

e deve ser nula, isso corresponde ao fato de que no

ponto timo, tm-se as seguintes equaes de ponto de sela:

 


 

  0 34 4  4 "



4 "


34 4 H4 

(2.31)

(2.32)

substituindo as relaes obtidas tm-se:




4 "


4 "


34 4 H4

(2.33)

34 4 

(2.34)

Dadas essas restries acima, pode-se substitu-las na Equao (2.30) e obter a formulao dual, uma vez que computacionalmente mais eciente encontrar o ponto de sela na formulao dual [Roobaert, 1999], a qual denida da seguinte forma:




4 "


42 64 H4

(2.35)

2.3 Support Vector Machines importante observar que

42

o problema primal e

o problema dual, como foi

descrito na Seo 2.2.4. A soluo encontrada pela minimizao de de

ou maximizao

. H um multiplicador de Lagrange para cada ponto de treinamento. Na soluo, os

pontos para os quais planos

 " ou 

@4

so chamados vetores de suporte e esto em um dos hiper-

. Para SVM os vetores de suporte so os elementos crticos do conjunto de


'

treinamento. Eles esto na fronteira, ou seja, mais prximos do hiperplano de deciso. Todos os outros pontos tem

4

. Se todos esses outros pontos forem removidos e o treinamento

for repetido, o mesmo hiperplano deve ser encontrado [Burges, 1998]. Alm das restries apresentadas acima, as condies complemetares Karush-KuhnTucker (KKT), Seo 2.2.3, fornecem informaes teis sobre a estrutura da soluo. As condies dizem que, para a soluo tima, , e devem satisfazer:

4 64 4 ' H4 
srias e sucientes para ,

para

9@ ( 'A'('A 

(2.36)

O problema de SVM convexo. Para problemas convexos, as condies KKT so neces-

e serem a soluo, logo, encontrar a soluo para SVM

equivalente a encontrar uma soluo para as condies KKT. Como os chamados vetores de suporte possuem vidos na expresso do vetor peso

4 no nulos, eles so os nicos envol-

, portanto, o vetor peso que representa o Hiperplano de

Margem Mxima calculado na forma da combinao linear abaixo:




4 "
 

64 4 H4

(2.37)

e pode ainda ser re-escrito em funo apenas dos vetores de suporte:

vetores de suporte

64 4 H4

(2.38)

Re-escrevendo o problema novamente, agora colocando a expresso para na funcional de Lagrange dual e levando em conta as condies KKT, o problema quadrtico convexo de SVM torna-se o seguinte:

2.3 Support Vector Machines

43

Maximize


Sujeito a

34 4  4 "  4 8 9  ( '('A'A



F


4 "


4 "


34 4 H4 '

(2.39)

Dado

 " ('('('$ 0

ser uma soluo para esse problema, ento a norma do vetor ,

que corresponde ao hiperplano timo igual a:

 '

na qual




vetores de suporte

4 H45' 34

(2.40)

A regra de separao, baseada no hiperplano timo a seguinte funo indicador:

F


14 so os vetores de suporte, 4

vetores de suporte

64 4 H45'

(2.41)

so os Coecientes de Lagrange correspondentes e

um limiar (threshold) constante

em que

'

('

(2.42)

corresponde qualquer vetor de suporte pertencente primeira classe e

, um vetor de suporte pertencente segunda classe.

O Classicador de Margem Mxima, quando aplicado a dados no separveis linearmente, no encontra a soluo desejada. Isso evidenciado pela funo objetivo (dual) que, aplicada a dados no linearmente separveis, cresce arbitrariamente [Burges, 1998]. O principal problema desse classicador que ele sempre constri hipteses que se baseiam na inexistncia de erros de treinamento. Entretanto, para dados com rudos, que geralmente implica em separao no linear, o mnimo para o risco esperado no pode ser calculado dessa forma, pois pode causar overtting. Essas desvantagens motivaram o desenvolvimento de tcnicas que permitem o tratamento de problemas no-linearmente separveis via SVM.

2.3 Support Vector Machines

44

2.3.2 Problemas Linearmente Inseparveis


Para tornar o mtodo descrito na seo anterior, capaz de manipular dados no linearmente separveis, necessrio "relaxar" as restries do problema. Diferentemente das restries (2.25) e (2.26) da seo anterior que utilizam critrios rgidos (hard margin), a estratgia apresentada nesta seo utiliza um critrio mais relaxado, chamado de soft margin. Isso pode ser feito introduzindo variveis de folga Seo 2.2.2 ( , as quais se tornam:

4 9  ( '('('$  ) nas restries,


H45'  8  A4 H45'   A 4 A4 8

64   para 64  9
para

(2.43) (2.44) (2.45)

Essa estratgia permite tolerar rudos e outliers2 , considera mais pontos de treinamento, alm dos que esto na fronteira e permite a ocorrncia de erros de classicao. Portanto,


4 " A4 um limite superior para o nmero de erros de treinamento. Alm disso, a m de

poder representar o custo extra para os erros, decorrente da adio das variveis de folga, h a necessidade de mudar a funo objetivo a ser minimizada de


'

"

'

'

para:

4 "


A4

(2.46)

na qual C um parmetro a ser escolhido pelo usurio. C uma constante que atua como uma funo de penalidade e prevenindo que outliers afetem o hiperplano timo [Kwong and Gong, 1999].

determina a relao entre o erro emprico e o termo de conana.

Um C maior corresponde a assumir uma penalidade maior para os erros. Por se tratar de um problema de programao convexa, o valor de pode ser qualquer inteiro positivo, em particular, se

ou



razes computacionais, entretanto, uma escolha tpica menor dos


2

ento o problema tambm de programao quadrtica. Por

e tem a vantagem de no ser necessrio que

. Esse caso corresponde ao

e seus multiplicadores de

Lagrange, apaream no problema dual. O problema com essa alterao, torna-se:


Pontos muito distantes das classes a que pertencem.

2.3 Support Vector Machines

45

Maximize

Sujeito a

4 " 4 64  4 " 4




42 64 H4
(2.47)

A soluo dada novamente por:




4 34 H4

(2.48)

vetores de suporte Assim, a nica diferena do caso do hiperplano timo que os em

F4 tm um limite superior

. Essa situao representada na Figura 2.8

w H2 b ||w|| origem

H1

||w||

Figura 2.8: Hiperplano de separao para o caso linearmente inseparvel.

Para determinar o valor timo do limiar (ou threshold) , o procedimento similar ao descrito anteriormente. Para esse contexto especco, as condies KKT so denidas por:

4 64 ' H4  4 )4 
unitrio (-1) foi substitudo por (

)4  

para

para

9 ( '('(') 

9@ ( '('A') 

(2.49) (2.50)

64 ). Na Equao (2.50) so introduzidos os multiplicadores de Lagrange 4 para forar a positividade de A 4.

A Equao (2.49) praticamente igual Equao (2.36), com a diferena que o termo

2.3 Support Vector Machines

46

Com o contedo que foi descrito nas sees anteriores possvel a partir deste ponto, descrever formalmente a construo de SVM para uma tarefa de Reconhecimento de Padres. SVM implementa basicamente duas operas matemticas: 1. Mapeamento no-linear dos vetores de entrada em um espao de caractersticas com alta dimenso. 2. Construo de um Hiperplano de Margem Mxima no espao de caractersticas. A Figura 2.9 ilustra essa estratgia.
Hierplano timo no Espao de Caractersticas

Espao de Caracteristicas

Espao de entrada

Figura 2.9: Ilustrao da estratgia de SVM.

O primeira operao realizada de acordo com o teorema de Cover, que descrito em [Haykin, 1999] da seguinte forma: Um problema complexo de classicao de padres tem mais probabilidade de ser separvel linearmente em um espao de alta dimenso do que em um espao de baixa dimenso. Considerando-se um espao de entrada em que os padres no so linearmente separveis, o teorema de Cover diz que esse espao pode ser transformado em um novo espao de caractersticas, onde os padres tm alta probabilidade de tornarem-se linearmente separveis, sob duas condies: a transformao deve ser no-linear e a dimenso do espao de caractersticas deve ser muito alta com relao dimenso do espao de entrada. Essas duas condies so satisfeitas na primeira operao descrita acima. A segunda operao implementa a idia de construir um Hiperplano de Margem Mxima de acordo com a teoria descrita na Seo 2.3.2, mas com uma diferena fundamental: o Hiperplano de Margem Mxima agora denido como uma funo linear de vetores do

2.3 Support Vector Machines

47

espao de caractersticas e no do espao de entrada original. A construo desse hiperplano realizada de acordo com o princpio SRM (Seo 2.1.5), proveniente da teoria da Dimenso VC (Seo 2.1.4). Em 1992 foi observado por Vapnik [Vapnik, 1999] que para a construo do Hiperplano de Margem Mxima no espao de caractersticas

no necessrio considerar tal espao

de forma explcita, e sim, apenas calcular os produtos internos entre os vetores de suporte e os vetores do espao de caractersticas. A razo para esse fato descrita a seguir, conforme apresentado em [Schlkopf, 1997]. Supondo-se que foram fornecidos padres

, onde a maior parte das informaes de :

est contida nos monmios de grau das entradas

em que

"$('('(')

('('('$


A'('('$

(2.51)

Em tal situao seria interessante extrair primeiro os monmios (ou produtos de posies especcas dentro dos vetores de caractersticas) e trabalhar num espao de caractersticas

representando todos os monmios de grau . Tomando como exemplo, em

'

pode-se

selecionar todos os monmios de grau 2 atravs do seguinte mapeamento no linear:

% ' E G

'


' '

(2.52)

#"& E G

" ' #"


'

(2.53)

Segundo Schlkopf [Schlkopf, 1997], esse mtodo no funciona bem em problemas reais, pois para padres de entrada

 

-dimensionais, deve haver





 

(2.54) de dimenso

diferentes monmios do tipo (2.51), formando um espao de caractersticas




. Por exemplo, para um padro de entrada contendo 256 posies e monmios de grau


, existe um total de

"

possveis combinaes.

Em certas situaes, entretanto, h uma forma de computar produtos internos sem realizar explicitamente o mapeamento, atravs de kernels no-lineares. Em espaos de caractersticas polinomiais, por exemplo, isso pode ser feito, conforme est descrito abaixo.

2.3 Support Vector Machines Para computar produtos internos da forma ( o kernel:

48

$'

), aplicada a seguinte representa(2.55) sem realizar o mapeamento. Ini

F

&'

que permite computar o valor do produto interno em

cialmente, essa armao provada com um exemplo. Considerando-se monmios devem ser de grau ), o mapeamento

 

(os

:
'

os produtos internos em

'

#"$ E G

'

'

" " ' #" #


' ' '

(2.56)

so da forma:

'

$'

'

F '" "'



' ' ' '



#" C"  ' '



' '

(2.57)

nos quais os monmios so distribudos de uma forma que d condies para que o kernel

desejado seja simplesmente o quadrado do produto interno no espao de entrada. Essa

estratgia vlida para valores arbitrrios de

, conforme denio abaixo. Uma

prova formal pode ser encontrada em [Schlkopf, 1997]. Seja uma funo que mapeia para o vetor

8

, cujas entradas so todos os

possiveis produtos (monnios) ordenados de grau das entradas . Ento, a correspondente computao de kernel de produto interno dos vetores mapeados por

: (2.58)

F

&'

 '

Esse exemplo objetivou mostrar como o produto interno pode ser calculado sem que o mapeamento seja realizado no contexto do kernel polinomial. A prxima seo apresenta de forma mais detalhada as funes kernel que podem ser utilizadas em SVM..

2.3.3 Funes Kernel


As representaes Kernel trabalham com a projeo dos dados em um espao de caractersticas com alta dimenso para permitir a classicao em espaos no-linearmente separveis. Trata-se, em primeira instncia, de uma estratgia de pr-processamento que envolve mudar a representao dos dados da seguinte forma:

 #"$('('A'A H E G

" &('('(')

(2.59)

2.3 Support Vector Machines Esse passo equivalente ao mapeamento do espao de entrada

49

chamado espao de caractersticas em que

4 so as funes kernel. A

em um novo espao

Figura 2.10 ilustra um mapeamento de um espao de entrada linearmente inseparvel, para um espao de caractersticas de maior dimenso, onde os dados podem ser separados linearmente. importante observar que ambos os grcos representam espaos bidimensionais por razes puramente didticas

X
X

(X) (O)
X

(X) (O) (O) (X) (O) (X) (X)

O
X

(O)

O O

Figura 2.10: Mapeamento do espao de entrada via funo kernel.

Dada essa representao mapeada, uma classicao ou regresso simples em

pode

ser feita. A praga da dimenso da Teoria de Aprendizagem Estatsta relaciona-se com uma maior complexidade do problema de estimao de funo medida que a dimenso

do

espao aumenta. Entretanto, a prpria Teoria da Aprendizagem Estatstica diz que a aprendizagem no espao de caractersticas

pode ser mais simples, isto , regras de deciso mais

simples so geradas (classicadores lineares). Em outras palavras, embora a dimenso do espao aumente em , a complexidade diminui, porque a classicao, que no espao de

entrada s era possvel utilizando superfcies de deciso no lineares, no espao de caractersticas, pode ser feita apenas com um simples hiperplano (superfcie de deciso linear). Outro ponto de destaque das funes Kernel que o produto escalar pode ser computado implicitamente em

, sem usar explicitamente ou mesmo sem conhecer o mapeamento ,

o que foi destacado na seo anterior. Uma consequncia direta disso que cada algoritmo (linear) que usa apenas produtos escalares pode ser executado implicitamente em kernels [Mller et al., 2001]. A escolha da funo kernel de vital importncia para SVM. Segundo Cristianini e usando

2.3 Support Vector Machines

50

Shawe-Taylor [Cristianini and Shawe-Taylor, 2000], o problema de escolher uma arquitetura para uma aplicao de Rede Neural substituido pela escolha do kernel adequado para SVM. Portanto, importante identicar que propriedades precisam ser satisfeitas para que uma funo seja um kernel para algum espao de caractersticas. Inicialmente, para uma funo ser considerada kernel deve apresentar duas caractersticas: 1. Deve ser simtrica:

$'

 ;

2. Deve satisfazer as inequaes de Cauchy-Schwarz:

' 

&'

$' $'

' ' '  $'

Essas condies, entretanto, no so sucientes para garantir a existncia de um espao de caractersticas. As funes kernel devem ainda satisfazer uma terceira propriedade que fornecida pelo teorema de Mercer. Esse teorema prov uma caracterizao de quando uma funo

um kernel. A condio de Mercer para garantir que a funo simtrica  4 54 4 seja um kernel que a seguinte intregral:

seja vlida para todo



% %

(2.60)

% '

(2.61)

A funo kernel no altera muito o problema de SVM, pelo menos no explicitamente. Com a introduo da funo kernel, para encontrar os coecientes resolver o seguinte problema: necessrio agora

Maximize Sujeito a

4 4 34 H4 4 " 4 "  4 9 ('A'(') 0 4 34  4 "


   

(2.62)



Essa funcional coincide com a funcional para encontrar o Hiperplano de Margem Mxima, exceto pela forma do produto interno, que anteriormente era representado unicamente

2.3 Support Vector Machines por produto interno

51

B45

e agora passa a ser representado pela funo kernel

54 .
(2.63)

Com a funo kernel, a funo de separao (ou de deciso) passa a ser representada como:

 9

%




vetores de suporte O uso de diferentes funes kernel

64 4 H45' "

B4

possibilita a construo de mquinas de

aprendizagem com diferentes tipos de superfcies de deciso no-linear no espao de entrada. Dentre as funes kernel mais usadas destacam-se: Polinmios, Funes de Base Radial Gaussiana e Rede Neural Sigmide de duas camadas, denindo diferentes mquinas de aprendizagem conforme discutido abaixo: 1. Mquinas de Aprendizagem Polinomial: para construir regras de deciso polinomiais de grau utiliza-se o seguinte kernel:

H4 F ' H4 

(2.64)

Usando essa funo kernel (que satisfaz a condio de Mercer) pode-se construir um funo de deciso da forma:

 F


%




64 4 H45' 

vetores de suporte

"

(2.65)

que uma fatorao de polinmios em espaos de entrada n-dimensionais. A Figura 2.11 (extrada de [Burges, 1998]) mostra um problema de Reconhecimento de Padres cujo kernel um polinmio cbico. Os pontos marcados com crculos extras so os vetores de suporte. 2. Mquinas de Funes de Base Radial (RBF): os kernels (produzindo uma rede do tipo RBF) so da seguinte forma:

H4   ' 

(2.66)

Esses kernels tambm satisfazem a condio de Mercer. A Figura 2.12 (extrada de [Schlkopf et al., 1999a]) mostra um exemplo de um classicador SVM, utilizando

2.3 Support Vector Machines

52

Figura 2.11: Kernel polinomial de grau 3 [Burges, 1998].

um kernel RBF em um problema de classicao binria. Os crculos escuros e claros constituem as duas classes. Novamente os vetores de suporte so marcados com crculos extras.

Figura 2.12: Classicador SVM usando kernel RBF [Schlkopf et al., 1999a].

3. Redes Neurais de duas camadas: pode-se denir Redes Neurais de duas camadas escolhendo o seguinte kernel:

  "!$#&%
no qual

(2.67)

 e#

so parmetros escalares e

(')

uma funo sigmide. Ao contrrio

dos dois tipos de kernel descritos acima, que sempre satisfazem a condio de Mercer, o kernel sigmide tanh

01'2!3#4 , 5 ' 57698 , satisfaz a condio de Mercer apenas para  # alguns valores dos parmentros e . Para esses valores dos parmetros, pode-se

2.4 Concluso construir SVMs implementando a regra:

53

 F 





4 "


' H4

 

 "

(2.68)

Usando essa tcnica, encontra-se automaticamente :

a arquitetura da mquina de duas camadas, determinando o nmero N de unidades escondidas (o nmero de vetores de suporte);

os vetores dos pesos vetores de suporte;

4 1 9

nos neurnios da primeira camada (escondida), os

o vetor de pesos para a segunda camada (valores de ).

As mquinas de aprendizagem que constrem as funes de deciso descritas nessa seo so mquinas de vetores de suporte. Em SVM a complexidade da construo depende do nmero de vetores de suporte e no da dimenso do espao de caractersticas [Vapnik, 1999]. A Figura 2.13 mostra a arquitetura de SVM. A entrada e os vetores de suporte mapeados no linearmente (por ) em um espao de caractersticas internos so computados. Pelo uso do kernel

so

, onde os produtos

, essas duas camadas so computadas, na

prtica, em um nico passo. Os resultados so linearmente combinados pelos pesos encontrados pela soluo de um problema quadrtico (em Reconhecimento de Padres,

34 4 ). A combinao linear reunida na funo

 .

(em Reconhecimento de Padres,

4 !

4,

2.4 Concluso
A teoria que envolve SVM no de simples entendimento. Nesse captulo foi possvel perceber o nvel de complexidade que envolve essa tcnica, do ponto de vista terico. Do ponto de vista prtico, a literatura da rea arma que SVM apresenta resultados equivalentes e at superiores em relao outras tcnicas. O prximo captulo contm uma reviso bibliogrca dos principais trabalhos, tanto tericos quanto prticos, envolvendo SVM e reconhecimento de objetos baseado na aparncia. Em seguida, no Captulo 4, apresentada uma descrio dos experimentos prticos da aplicao de SVM ao reconhecimento de objetos baseado na

2.4 Concluso

54

( 1
(.)

Sada

( i k(x,xi) )

2
(.)

n
(.)

Pesos

Produto Interno ( (x) . (xi )) =k( x , xi )

(x1)

(x2)

(x)

(xn)

Vetores Mapeados (xi ). (x)

Vetores de Suporte

x1... x n

Vetor de teste x

Figura 2.13: Arquitetura de SVM.

aparncia. O objetivo conrmar a alta preciso de SVM e observar o comportamento da tcnica sob diferentes condies experimentais..

Captulo 3 Reviso Bibliogrca


SVM uma tcnica de aprendizagem de mquina oriunda da Estatstica. Tornou-se objeto de pesquisa em muitas universidades, laboratrios e empresas, especialmente a partir de 1992. Desde ento, o interesse pela tcnica tem aumentado consideravelmente. Muitos dos trabalhos tm objetivado investigar o comportamento e o desempenho de SVM em diversas reas, alm de desenvolver mais a tcnica atravs de propostas de extenses tericas. O objetivo deste captulo apresentar uma reviso bibliogrca sobre SVM, abordando aspectos relativos evoluo conceitual da teoria descrita no captulo anterior e a problemas em que SVM tm sido aplicado. Este captulo tambm apresenta uma breve descrio de algumas metodologias que j foram aplicadas ao problema de reconhecimento de objetos baseado na aparncia. As prximas sees descrevero esses desenvolvimentos. importante destacar que sero citados apenas os trabalhos mais representativos, com o objetivo de mostrar como esses avanos ocorreram e que aspectos foram considerados. Para facilitar a compreenso, os trabalhos foram subdivididos nos seguinte grupos: teoria, extenses de SVM, implementaes, estratgias para reconhecimento envolvendo multiclasses e aplicaes.

3.1 Teoria
SVM constitui uma linha de pesquisa importante em aprendizagem de mquina tanto do ponto de vista terico quanto prtico. O recente livro de Vapnik [Vapnik, 1999] descreve o aspecto terico desenvolvido em SVM: teoria conceitual do processo de aprendizagem, 55

3.1 Teoria

56

principio de minimizao dos riscos emprico e estrutural, dando nfase a mtodos para estimar a generalizao e aplicao dessas denies em SVM. Na primeira edio desse livro [Vapnik, 1995], Vapnik dizia que o foco das pesquisas com Redes Neurais alternativas (como Funes de Base Radial) e com Teoria da Aprendizagem, mostravam uma tendncia de retorno base fundamental, como no perodo da construo das primeiras mquinas de aprendizagem. Entretanto, na segunda edio ele reconhece que as atuais idias so resultados de anlises formais do processo de aprendizagem e no de inspirao biolgica, como antigamente. Embora o livro de Vapnik contenha toda a denio formal de SVM, ele apresenta um contedo complexo, especialmente para iniciantes e curiosos na tcnica. Essa linguagem extremamente tcnica uma caracterstica presente na maioria das publicaes sobre SVM. Tentando deixar o problema mais didtico, Burges [Burges, 1998] apresenta um tutorial introdutrio de SVM. Esse tutorial descreve as idias bsicas que fundamentam a tcnica e apresenta exemplos matemticos e ilustraes. No livro de Simon Haykin [Haykin, 1999], a nfase so as Redes Neurais e sua natureza multidisciplinar. Nesse contexto, SVM descrito como um dos tipos de mquina de aprendizagem com professor, como uma mquina feedforward . No captulo 2 desse livro descrito o processo de aprendizagem e suas propriedades estatsticas, destacando conceitos essenciais SVM como: miminizao do risco emprico, do risco estrutural e dimenso VC. O autor dividiu as mquinas de aprendizagem mais conhecidas em dois grupos: com professor e sem professor. As mquinas de aprendizagem com professor descritas so: Perceptron de uma camada, Multilayer Perceptrons treinadas com o algoritmo Back-propagation, Redes de Funes de Base Radial, SVM e Mquinas Committee. Uma coleo com trabalhos dos principais pesquisadores de SVM est reunida em [Schlkopf et al., 1999a]. Essa a produo impressa de um Workshop do estado da arte de SVM que foi realizado durante a Conferncia Neural Information Processing Systems (NIPS), em dezembro de 1997 na cidade de Breckenridge, Colorado - USA. As idias centrais de aprendizagem com vetores de suporte so descritas pelos editores, trs importantes pesquisadores de SVM (B. Schlkopf, C.J.C. Burges e A.J. Smola). O livro de Cristianini e Shawe-Taylor [Cristianini and Shawe-Taylor, 2000], pesquisadores da Universidade Royal Holloway de Londres, descreve as mquinas lineares, desde os

3.2 Extenses do Algoritmo

57

Perceptrons de Rosemblatt at as mquinas baseadas em kernel. Os autores destacam que desde 1960, se observava um poder computacional limitado das mquinas de aprendizagem linear, devido especialmente ao fato da maioria dos problemas reais requererem espaos de hipteses mais expressivos do que simples funes lineares. As representaes do tipo kernel constiuram uma soluo alternativa para aumentar o poder computacional das mquinas lineares. H tambm uma descrio das duas teorias que formam a base de SVM: Teoria de Aprendizagem Estatstica e Otimizao Matemtica, alm de tcnicas de implementao e problemas em que SVM foi investigado. Apesar das diferenas claras entre SVM e Redes Neurais (evidenciadas no captulo anterior desta dissertao), em [Evgeniou et al., 1999] proposto um framework terico, com o objetivo de apresentar a Minimizao do Risco Estrutural como um conceito que formaliza tanto Redes Neurais quanto SVM, a partir da teoria de Vapnik. Entretanto, em [Vapnik, 1995; Cristianini and Shawe-Taylor, 2000; Haykin, 1999; Stitson et al., 1996; Barabino et al., 1999], SVM destacada por distinguir-se de tcnicas mais tradicionais, especialmente em problemas de Reconhecimento de Padres, pelo fato de minimizar o risco estrutural e no apenas o risco emprico. Essas caractersticas chamaram a ateno para SVM e mais recentemente para mtodos de aprendizagem baseados em kernel. Esses mtodos esto se tornando ferra-

mentas muito populares para tarefas de aprendizagem envolvendo classicao, regresso e deteco de novidades [Campbell, 2000]. Nos ltimos anos, alm de SVM, outros importantes mtodos de aprendizagem baseados em kernel foram e esto sendo propostos. Em [Mller et al., 2001], os seguintes mtodos so investigados: SVM, Kernel Discriminante de Fisher e Kernel Anlise dos Componentes Principais. Este ltimo tambm pode ser aplicado em aprendizagem no-supervisionada. Outras fontes importantes que tratam da teoria que constitui a base formal de SVM so: [Gunn, 1998; Hearst, 1998] e [Suykens and Vandewalle, 1999].

3.2 Extenses do Algoritmo


As extenses de SVM que foram e esto sendo propostas, so nomalmente compostas por uma base terica complexa. Como o objeto de pesquisa desta dissertao no so as exten-

3.2 Extenses do Algoritmo

58

ses, elas sero apresentadas de forma genrica, uma vez que uma descrio mais detalhada fugiria do escopo deste trabalho.

3.2.1

-SVM

Trata-se de uma modicao proposta por Schlkopf [Schlkopf, 1997] que utiliza um parmetro

para possibilitar um controle efetivo no nmero de vetores de suporte. Foi desen-

volvida originalmente para problemas de regresso [Schlkopf, 1997], porm, em seguida, foi extendida para classicao. Em problemas de Reconhecimento de Padres, o -SVM

possibilita eliminar a constante de regularizao C (Captulo 2, Seo 2.3.2). Segundo Mller et al [Mller et al., 2001] esse novo parmetro

mais claro que o

. Ele pode ser

interpretado como um limite superior para o nmero de erros de margem e/ou um limite inferior para o nmero de vetores de suporte. Entretanto, segundo Chang e Lin [Chang and Lin, 2001b], comparando-se com SVM regular, a formulao de -SVM mais complexa

e no h mtodos efetivos para solucion-lo para muitos dados de treinamento. Em [Chang and Lin, 2001b] h uma modicao em -SVM que impe um limite nas restries do pro

grama quadrtico e utiliza apenas uma restrio de igualdade. Apresenta ainda um mtodo de decomposio para -SVM similar ao de Joachims [Joachims, 1999] para SVM regular.

3.2.2 Leave-one-out SVM


Proposto por Weston [Weston, 1999], baseado na generalizao de margens que podem adaptar-se de forma iterativa. Segundo o autor, SVM restrito a uma margem xa (valor constante) em cada padro de treinamento. As margens adaptativas poderiam ser usadas com sucesso, pois essas margens podem controlar a complexidade do modelo de maneira efetiva. O procedimento em Leave-one-out SVM remover um elemento do conjunto de treinamento, construir a funo de deciso apenas nas bases dos dados de treimento que caram, e testar o elemento removido, ou seja, so testados todos os l elementos do conjunto de treinamento, usando diferentes regras de deciso. O erro limitado pela razo entre o nmero de vetores de suporte e o nmero de exemplos de treinamento l.

3.2 Extenses do Algoritmo

59

3.2.3 One Class SVM


um mtodo que usa uma estratgia de classicao chamada one-class. Ele treina um dado no rotulado e tenta determinar se um ponto de teste pertence distribuio de dados de treinamento. um problema de aprendizagem no supervisionada que est sendo investigado no contexto de SVM, em trabalhos como [Schlkopf et al., 1999b].

3.2.4 SVM Multi-Kernel


Outro mtodo proposto por Weston [Weston, 1999]. Ele incorporou ao SVM padro uma estratgia de decomposio para utilizar mltiplos kernels. Esse mtodo procura eliminar duas restries impostas pelo mtodo SVM padro: 1) o conjunto de funes que podem ser implementadas por SVM tm que pertencer a uma classe particular de funes (Funes de Base Radial, Polinmio, etc); 2) a maioria das classes de funes (denidas por kernels) tm pelo menos um parmetro, a ser denido pelo usurio, que controla algumas propriedades da funo gerada (grau do polinmio, por exemplo). Weston prope o uso de dicionrios de kernel, cujo principal objetivo , a partir de uma descrio do domnio do problema a ser resolvido e suas restries, permitir o acesso direto a um conjunto de parmetros mais otimizado para cada funo de kernel utilizada. Um abordagem um pouco diferente proposta em [Kwok, 1998]. O objetivo incorporar SVM em uma mistura hierrquica de especialistas (SVM Mixture), que leva a problemas de Programao Quadrtica similares aos de SVM padro, com a vantagem de permitir o uso de diferentes especialistas em diferentes regies do espao de entrada e tambm dar suporte a combinaes simples de diferentes arquiteturas.

3.2.5 Kernel Anlise dos Componentes Principais


PCA (Principal Component Analysis) uma tcnica para a extrao de estruturas de conjuntos de dados com dimenses elevadas, atravs da soluo de um problema de autovalores e autovetores (eigenvalues e eigenvectors) [Schlkop et al., 1999]. uma transformao ortogonal do sistema de coordenadas em que os dados so descritos. Os novos valores das coordenadas que representam os dados so chamados componentes principais. Em grande parte dos problemas, so necessrios poucos componentes principais para representar a

3.3 Implementaes maioria das estruturas presentes nos dados.

60

Na tese de doutorado de Schlkopf [Schlkopf, 1997] h uma aplicao de PCA em um contexto onde os componentes principais do espao de entrada no so o foco de interesse e sim, componentes principais de variveis, ou caractersticas, que so relacionadas de forma no linear s variveis de entrada. Para obter esse resultado realizada a computao de produtos internos atravs de funes kernel no espao de entrada, como em SVM. O algoritmo PCA padro foi alterado de uma maneira que use exclusivamente produtos internos. Com isso, possvel produzir um algoritmo PCA no linear e baseado em kernel. Esse mtodo no propriamente uma extenso de SVM e sim, a denio de um tipo de kernel.

3.2.6 Outros
H ainda outras modicaes do algoritmo base de SVM. Em [Osuna and Girosi, 1999] proposta uma mudana no problema de treinamento para aumentar o desempenho da tcnica. Como foi descrito no captulo anterior, o problema de treinamento original solucionado a partir de sua formulao dual, para possibilitar que a funo kernel seja usada sem que haja a necessidade de realizar o mapeamento explicitamente. Osuna apresenta uma reformulao no problema de treinamento (primal) de SVM, que tem a mesma estrutura da formulao primal original, porm, incorpora o mapeamento implcito a partir da funo kernel. DirectSVM , proposto em [Roobaert, 2000], uma implementao de SVM para Reconhecimento de Padres que no baseada na soluo de um problema de Programao Quadrtica e sim, em um algoritmo com poucas heursticas. O objetivo combinar em um algoritmo, a fundamentao terica de SVM e a formulao simples de Redes Neurais. Outro mtodo, Mquina de Vetor de Relevncia (Relevance Vector Machines-RVM) apresentado em [Tipping, 2000], d um tratamento baysiano a um modelo linear generalizado que funciona de forma idntica SVM.

3.3 Implementaes
O treinamento de SVM pode ser reduzido soluo de um problema de otimizao quadrtico convexo sujeito restries lineares (Captulo 2, Seo 2.3.1). Esse tipo de problema

3.3 Implementaes

61

tm sido amplamente estudado, especialmente no caso convexo. A maioria dos mtodos padro podem ser aplicados diretamente no treinamento de SVM [Cristianini and ShaweTaylor, 2000]. Vrias tcnicas podem ser utilizadas para realizar a Programao Quadrtica, dentre elas: Quasi-Newton, Gradiente Conjugado e Ponto Interior Dual-Primal [Gill et al., 1981]. H variados pacotes de software para Programao Quadrtica gratuitos e comerciais. Alguns exemplos de pacotes gratuitos so: MINOS [Murtagh and Saunders, 1993], do Laboratrio de Otimizao de Stanford que usa uma estratgia hbrida e LOQO [Vanderbei, 1997], que usa um mtodo Ponto-Interior Primal Dual. Entretanto, apesar dessa facilidade, h um consenso entre os pesquisadores de que esses mtodos de programao matemtica no so adequados para grandes bases de dados. Alguns desses mtodos armazenam a matriz kernel diretamente na memria, implicando em uma complexidade quadrtica do espao de deciso em relao ao tamanho da amostra. Usando esses cdigos padro, a aplicao de SVM a um problema com pouco mais de cem variveis, produziria resultados que poderiam consumir muito tempo de treinamento e quantidade de memria mais do que necessria. Portanto, as rotinas de Programao Quadrtica para pequenas bases de dados so a melhor escolha, mas, para grandes bases de dados, h a necessidade de usar tcnicas alternativas. A estrutura do problema de otimizao de SVM permite derivar algoritmos que possibilitam uma convergncia de forma mais rpida e com menor necessidade de memria [Mller et al., 2001]. A seguir sero descritos brevemente os trs mtodos mais conhecidos e usados.

3.3.1 Chunking
um mtodo para solucionar o problema quadrtico de SVM. Comea com a escolha de um subconjunto arbitrrio (chunk) dos dados. O treinamento de SVM realizado atravs de uma rotina de Programao Quadrtica nesse subconjunto. Em seguida, o algoritmo guarda os vetores de suporte do chunk e descarta os outros pontos. Para o prximo passo, ele adiciona aos vetores de suporte, extrados na etapa anterior, os M pontos (onde M um parmetro do sistema) que mais violam as condies KKT (Captulo 2, Seo 2.2.3) para formar um novo chunk. Essas condies KKT impem restries ao problema convexo quadrtico com o intuito de facilitar a identicao dos vetores de suporte. As iteraes so realizadas at a margem ser maximizada, ou seja, o conjunto chunk cresce ou diminui, at que na ltima

3.3 Implementaes

62

iterao a mquina tenha treinado todo o conjunto de vetores de suporte. Segundo Platt [Platt, 1999] o mtodo Chunking reduz o tamanho do conjunto de treinamento aproximadamente o nmero de vetores de suporte, que so apenas os pontos que cam na extremidade da separao entre as classes. Porm, segundo Cristianini e Shawe-Taylor [Cristianini and Shawe-Taylor, 2000], h problemas em que o tamanho do conjunto de vetores de suporte grande demais para ser tratado por rotinas de otimizao, o que leva falhas na estratgia Chunking.

3.3.2 Decomposio
Mtodo similar ao Chunking uma vez que tambm soluciona uma sequncia de pequenos Programas Quadrticos, porm, neste mtodo, o tamanho dos sub-problemas xo. Eles so baseados nas pesquisas de Osuna et al [Osuna et al., 1997a]. Eles observaram que uma sequncia de programas quadrticos, que contm pelo menos uma amostra que viole as condies KKT, convergir eventualmente para a soluo tima. O algoritmo de decomposio atualiza apenas um subconjunto (conjunto de trabalho) de tamanho xo, adicionando ou removendo uma amostra em cada iterao, enquanto os outros so mantidos constantes. O objetivo otimizar o problema global, atuando apenas em um pequeno subconjunto de dados a cada instante de tempo. Porm, a convergncia desse mtodo , na prtica, muito lenta e, como no esquema anterior, ainda necessrio utilizar um otimizador de Programa Quadrtico convencional [Mller et al., 2001]. Em [Osuna et al., 1997a] no h provas tericas da convergncia desse mtodo [Cristianini and Shawe-Taylor, 2000]. Essas provas so o enfoque em [Chang et al., 2000]. Eles apresentam um algoritmo mais geral que tenta provar a convergncia de mtodos de decomposio genricos. Tambm h alguns resultados numricos em [Joachims, 1999], que usa o mtodo com uma nova tcnica para a seleo do conjunto de trabalho. A biblioteca SVM

04

, http://www-ai.cs.uni-dortmund.de/SOFTWARE/SVM-

LIGHT/svm-light.eng.html, implementa esse mtodo.

3.3.3 Otimizao Sequencial Mnina


O mtodo SMO (Sequential Minimal Optimization), proposto por Platt [Platt, 1999], baseiase na idia do mtodo de decomposio, no caso extremo de solucionar o menor problema

3.3 Implementaes

63

de otimizao possivel a cada passo, ou seja, subconjuntos de apenas dois pontos em cada iterao. O poder da tcnica consiste no fato do problema de otimizao para dois pontos admitir uma soluo analtica, eliminando a necessidade do uso de um otimizador de Programa Quadrtico como parte do algoritmo [Cristianini and Shawe-Taylor, 2000]. Segundo Mller et al [Mller et al., 2001], o principal problema com o mtodo SMO a escolha de um bom par de pontos para otimizar em cada iterao. A escolha dos dois pontos determinada por uma heurstica. Apesar de haver mais sub-problemas de otimizao para solucionar durante a execuo do algoritmo, eles so rpidos e o problema de otimizao geral tambm pode ser solucionado de forma rpida [Platt, 1999]. O SMO original foi desenvolvido para problemas de classicao, porm j foi extendido para regresso e estimao de densidades. A Figura 3.1 (extrada de [Platt, 1999]), ilustra hipoteticamente os trs mtodos para o treinamento de SVM citados at aqui. So ilustrados trs passos para cada mtodo. As linhas horizontais representam o conjunto de treinamento em cada etapa, enquanto que, as caixas representam os multiplicadores de Lagrange otimizados em cada iterao. O mtodo SMO escolhe dois multiplicadores de Lagrange para otimizar a cada passo, encontra os valores timos para esses multiplicadores e atualiza o classicador para reetir os novos valores.

Chunking

Decomposio

SMO

Figura 3.1: Trs mtodos alternativos para o treinamento de SVM: Chunking, Decomposio e SMO.

3.4 Problemas Multiclasses

64

3.3.4 Outros mtodos


Alm das estratgias citadas acima, outros algoritmos de menor destaque foram encontrados na literatura. Em [Z. Li and Licheng, 2000] proposta uma estratgia para pr-extrair os vetores de suporte a partir de conhecimentos a priori fundamentados em uma medida de distncia especca. Em [Hadzic and Kecman, 2000], os autores propem um mtodo para treinar SVM no com Programao Quadrtica e sim, com Programao Linear. Em [Yang and Ahuja, 2000] h a proposta de um mtodo geomtrico para extrair superconjuntos de vetores de suporte baseado na informao estrutural dos vetores de treinamento.

3.4 Problemas Multiclasses


A soluo para problemas de classicao binria usando SVM, est bem desenvolvida, entretanto, os problemas com mltiplas classes so solucionados utilizando-se algumas estratgias. A maioria faz uma combinao de classicadores binrios produzidos independentemente [Weston and Watkins, 1999]. A seguir sero descritas trs estratgias mais conhecidas: 1. Um-versus-resto (one-against-rest). Neste mtodo, N diferentes classicadores so construidos, um para cada classe. O

classicador treinado sobre todo o conjun-

to de dados de treinamento para classicar os membros da classe contra o restante. Para isso, os exemplos de treinamento devem ser rotulados novamente. Os membros da

classe so chamados de 1 e os membros das outras classes de -1. Na fase de

teste, o classicador com sada mxima dene o rtulo da classe estimada do vetor de entrada corrente. 2. Um-versus-um (one-against-one). Para cada par de classes possveis, um classicador binrio calculado. Cada classicador treinado usando parte do conjunto de treinamento contendo apenas exemplos das duas classes envolvidas. Tal como na estratgia anterior, os conjuntos de treinamento devem ser rotulados novamente. Um total de N(N-1)/2 classicadores so construdos e combinados atravs de um esquema de votao para vericar o que mais se aproximou do dado de teste e estimar a classicao nal.

3.5 Aplicaes

65

3. Hierarquias ou rvore de classicadores SVM. Neste mtodo, o problema de classicao decomposto em uma srie de subproblemas de classicao binria, organizados em um esquema hierrquico. A Figura 3.2 ilustra essa estratgia gracamente. Esse mtodo detalhado em [Schwenker, 2000].
{A,B,C,D,E,F}

{A,B,C,D} {A,C} {B,D}

{B,D,E,F} {E,F}

Figura 3.2: Classicador hierrquico geral. A,B,C,D,F,E representam as classes denidas no esquema hierrquico, a partir dos conjuntos {A,C},...,{E,F}, que por sua vez, foram produzidos a apartir do conjunto {A,B,C,D,E,F}.

H ainda uma proposta de SVM multi-classes [Weston and Watkins, 1999] que uma extenso natural de SVM binrio. Esse mtodo soluciona o problema de classicao de N-classes diretamente. No necessrio rotular novamente os dados de treinamento. Todas as N-classes so consideradas de uma s vez e as condies de separao so integradas em um nico problema de otimizao. Dentre essas estratgias a mais utilizada one-against-one. Segundo Chang e Lin [Chang and Lin, 2001a], tcnicas como de Weston [Weston and Watkins, 1999] apresentam desempenho inferior ao one-against-one e embora, muitos classicadores sejam treinados, N(N-1)/2, cada classicador recebe menos dados de treinamento (dados de duas classes apenas) e o tempo de treinamento total usualmente inferior ao tempo dispendido pelo mtodo one-against-rest.

3.5 Aplicaes
Desde meados da dcada de 90, o mtodo SVM tm sido aplicado a uma srie de classes de problemas de Reconhecimento de Padres, Regresso, Estimao de Densidade, Deteco de Novidades e outros. Abaixo sero listados alguns destes problemas.

3.5 Aplicaes

66

3.5.1 Categorizao de Texto


Trata-se da classicao de documentos de texto (ou hipertexto) em um nmero xo de categorias pr-denidas, baseada no contudo dos documentos. um componente importante em muitas tarefas de organizao e gerenciamento de informaes. Devido ao volume crescente de informaes eletrnicas, h muito interesse no desenvolvimento de ferramentas que ajudem as pessoas na ltragem de e-mails, buscas na Web, automao de escritrio etc. Esse problema pode ser visto como uma srie de problemas de classicao binria, um para cada categoria [Cristianini and Shawe-Taylor, 2000]. Em leo [Dumais de notcias et al., com 1998] rtulos foi da aplicado empresa SVM Reuters linear Ltda, simples na coem

disponvel

http://www.research.att.com/ lewis/reuters21578.html. Foram usadas 12.902 notcias da Reuters, classicadas em 118 categorias, 75

(9.603) para construir os classicadores

e 25

(3.299) para serem classicados. Eles utilizaram o mtodo SMO de Platt. SVM

alcanou melhor desempenho em comparao com outras tcnicas padro como Redes Baysianas e rvores de Deciso. A taxa de acerto mdia foi de 91,3

para as 10 categorias

mais frequentes e 85,5

para todas as 118 categorias.

O trabalho de Joachims [Joachims, 1998] tambm utilizou a coleo Reuters, mas no com SVM linear e sim com os kernels polinomial e Funo de Base Radial. A diviso entre os dados de treinamento e de teste foi a mesma de [Dumais et al., 1998]. Ele tambm

04 desenvolveu experimentos (usando o programa SVM

) na base de dados Oshumed (Ore-

gon Health Sciences University) que contm 50.216 documentos com resumos, os 10.000 primeiros foram usados para treinamento e os 10.000 seguintes para teste. A tarefa foi classicar cada documento em uma ou mais categorias de doenas, de um total de 23 possveis. Independente do kernel usado, SVM alcanou desempenho superior aos mtodos padro.

3.5.2 Reconhecimento de Dgitos Manuscritos


uma aplicao que surgiu originalmente da necessidade do servio postal americano automatizar a classicao de correspondncias, usando os cdigos de endereamento postal escritos a mo. Segundo Cristianini e Shawe-Taylor [Cristianini and Shawe-Taylor, 2000], este teria sido o primeiro problema real em que SVM foi aplicado.

3.5 Aplicaes

67

Em [Vapnik, 1999] foram realizados experimentos na base de dados USPS (United States Postal Service), disponvel para domnio pblico, que contm 7.300 padres de treinamento e 2.000 padres de teste. SVM foi aplicado com trs tipos de kernel: polinomial de grau 3, Funo de Base Radial e Rede Neural com duas camadas. Todos eles apresentaram aproximadamente os mesmos resultados. Esse desempenho superou outros mtodos como rvores de Deciso e Redes Neurais clssicas.

3.5.3 Bioinformtica
As pesquisas em bioinformtica buscam interfaces entre as cincias da vida e da computao. H muitos problemas que so investigados pela bioinformtica, tais como: predio de caractersticas estruturais e funcionais de protenas, categorizao automtica de expresso de dados de gene de microvetores de DNA, reconhecimento de padres de estruturas celulares, sequncias de DNA etc. A seguir sero descritas de forma sucinta, a aplicao de SVM nos dois primeiros problemas citados acima. A predio de caractersticas estruturais e funcionais de uma protena pode ser realizada com base em sua sequncia de aminocidos. Uma protena formada por uma sequncia de aminocidos (de um conjunto de 20 possveis), havendo milhares de protenas diferentes. Uma das estratgias para realizar essa tarefa detectar homologias entre as protenas e relacionar novas sequncias de protenas outras que possuam propriedades conhecidas. Nesse sentido, as protenas so agrupadas em famlias que, por sua vez, so agrupadas em super-famlias a partir de suas propriedades. Em [Jaakkola and Haussler, 1998] foi investigada a capacidade de SVM classicar famlias de protenas em suas super-famlias. O sistema foi implementado usando um otimizador padro (gradiente ascendente). Os experimentos foram realizados da seguinte forma: uma super-famlia particular (glycosyltransferase) foi dividida; uma das quatro maiores famlias dessa super-famlia foi separada para constituir o grupo de teste e as trs restantes, o grupo de treinamento. Exemplos negativos foram extrados de outras superfamlias para ambos os conjuntos. SVM superou mtodos mais tradicionais nessa rea, como o modelo de Markov escondido. Um segundo problema envolve a tecnologia de microvetores de DNA, a qual possibilita a deteco dos genes que so expressos em um tecido particular e a comparao dos nveis

3.5 Aplicaes

68

de expresses de genes entre tecidos. Isto realizado atravs da extrao de informaes biolgicas e da denio de funes para genes automaticamente. Em [Brown et al., 2000] pode-se encontrar a descrio de uma aplicao de SVM para a classicao de genes usando expresses de dados de gene de microvetores de DNA. Foram analisadas as expresses de dados de 2.467 genes SAC - Charomices Cgrevisiae, representados por um vetor de expresso de gene de 79 dimenses. Foram investigados quatro tipos de kernel. Funo de Base Radial foi o kernel que apresentou os melhores resultados. O problema tambm foi investigado usando discriminante linear de Fisher, janelas de Parzen e rvores de Deciso. SVM foi superior aos outros mtodos em todas as bases de dados testadas. Em alguns casos, SVM apresentou o dobro da preciso alcanada pelos outros mtodos.

3.5.4 Reconhecimento de Objetos


Recuperao de informao, ltragem de dados na Internet, aplicaes mdicas e deteco de objetos em cenas visuais, so algumas das reas que precisam de reconhecimento de imagens. Algumas pesquisas que envolvem o reconhecimento, baseiam-se na extrao de caractersticas de baixo nvel de imagens, como primal sketch [M.Gomes et al., 1998], e de alto nvel como deteco de bordas e descrio de formas, para capturar atributos relevantes da imagem [Gonzalez, 1993]. Essas formas de representao da imagem so teis em aplicaes especcas, porm, apresentam desvantagens, especialmente quando o problema tentar desenvolver um sistema automtico de reconhecimento. Ainda esto sendo pesquisadas tcnicas para adquirir modelos da forma de amostras de objetos automaticamente [Nayar et al., 1996]. H tambm problemas em que difcil obter modelos geomtricos de certos objetos. Para tentar solucionar esses problemas, esto sendo desenvolvidas nos ltimos anos, pesquisas que utilizam estratgias de reconhecimento baseadas no aspecto, ou aparncia, dos objetos. Essas estratgias vem o problema de aprendizagem como a aquisio de um modelo compacto da aparncia dos objetos, sob diferentes poses e direes de iluminao. Durante a fase de aquisio, os objetos so mostrados ao sensor de imagem em diversas orientaes e condies de iluminao. O resultado um grande conjunto de imagens de objetos. A COIL100 (Columbia Image Library) [Nayar et al., 1996] uma base de dados padro, disponvel na Internet, cujas imagens foram adquiridas dessa forma e possibilitam esse tipo de reconhe-

3.5 Aplicaes

69

cimento. A Figura 3.3 mostra imagens de um objeto, visto sob 10 ngulos diferentes, que pode ser reconhecido pela aparncia.

Figura 3.3: O objeto durex com 10 vises diferentes.

Muitas tcnicas tm sido utilizadas para a tarefa de reconhecer objetos a partir de vrias vises dos mesmos. Em [Nayar et al., 1996] foi utilizada a tcnica PCA para realizar o casamento entre objetos. O trabalho foi desenvolvido na base de dados COIL100. Essa base contm 100 imagens coloridas de objetos que foram adquiridas em intervalos de 5 , 72 poses por objeto, formando um total de 7200 arquivos de imagens. O treinamento foi dividido em duas etapas: 1) PCA foi aplicado para reduzir a dimenso dos dados; 2) assumindo-se que as imagens de treinamento pertenciam a uma rotao uni-dimensional em 3D, um spline quadrtico foi obtido atravs dos dados no eigenspace construdo. O reconhecimento foi ento realizado atravs de buscas do objeto cujo spline mais se aproximava da imagem que estava sendo reconhecida. Portanto, foi feita uma combinao das trs tcnicas: PCA, Spline e classicador Vizinho mais Prximo. A mesma base de dados foi usada no reconhecimento de objetos utilizando o modelo de aprendizagem PAC (Probably Approximately Correct) em [Roth et al., 2000]. O mtodo proposto no gera suposies a priori na distribuio estatstica dos objetos e sim, evolui atravs das experincias anteriores. O objetivo do trabalho foi avaliar a possibilidade de aprendizagem e estudar os limites tericos do que poderia ser aprendido. Foi usada a arquitetura de aprendizagem SNoW (Sparse Network of Winnows) para reconhecer os 100 objetos. Essa arquitetura, disponvel em http://l2r.cs.uiuc.edu/

cogcomp, constitui uma rede de unidades

lineares sobre um espao de caractersticas pr-denido e aprendido incrementalmente. SVM tambm j foi aplicado ao problema de reconhecimento baseado na aparncia. Alm das vantagens do mtodo SVM citadas anteriormente, SVM no requer extrao de caractersticas ou reduo da dimenso dos dados e pode ser aplicado diretamente em imagens, as quais so consideradas como pontos em um espao N-dimensional [Pontil and Verri, 1998]. A alta dimenso do espaco de objetos contribui para que o Hiperplano de Margem

3.5 Aplicaes

70

Mxima possa ser efetivamente encontrado. Isso faz a fase de reconhecimento car reduzida deciso de qual lado do hiperplano um objeto de teste se encontra. Um dos primeiros trabalhos envolvendo a aplicao de SVM ao reconhecimento de objetos baseado na aparncia usando a base de imagens COIL100, foi [Pontil and Verri, 1998]. Eles no utilizaram todas as 100 imagens e o conjunto de treinamento foi construdo com 36 vises dos objetos (variando a cada 10 ), sendo que as vises restantes, constituram o conjunto de teste. Foi aplicado SVM linear que alcanou 100% de preciso. Foi realizado ainda outro experimento adicionando rudos s imagens. Os resultados foram comparados mdia obtida a partir de dez Perceptrons simples. A mdia de acertos obtida com SVM foi 93,00% enquanto que a mdia dos Perceptrons foi 87,34%. As timas taxas de reconhecimento obtidas foram provas de que SVM adequado para esse tipo de tarefa de reconhecimento. Em termos de comparao, em [Roth et al., 2000] foi realizado um estudo comparativo entre as tcnicas Vizinhos Mais Prximos, SVM linear e SNoW, embora todas as 100 classes de objetos tenham sido usadas, foram considerados apenas quatro tamanhos de conjuntos de treinamento, com 4, 8, 18 e 36 vises cada. Em [Roobaert, 1999], foram comparadas em termos de desempenho de classicao e custo computacional, as tcnicas: SVM, Vizinhos Mais Prximos e DirectSVM (citado na seo 3.2). O DirectSVM apresentou desempenho similar SVM, porm utilizou menos recursos computacionais e tempo de treinamento. Entretanto, o autor usou uma verso da base de dados com apenas 30 objetos e considerou apenas os seguintes subconjunto de vises (36, 12, 8, 4 e 2) para constiturem os conjuntos de treinamento.

3.5.5 Outros
Alm das reas citadas acima, SVM foi aplicado a outros problemas mais especcos. Em [Barabino et al., 1999] foi feito um estudo comparativo entre SVM e Multi-Layer Perceptron no problema de identicao de partculas em experimentos fsicos de alta energia. Os resultados das duas tcnicas foram similares. Em Viso de Mquina, SVM foi aplicado na modelagem de percepo atravs de ateno visual [Eghbalnia and Assadi, 2001]; em deteco de faces[Osuna et al., 1997b]; autenticao de faces[Jonsson et al., 1999] e aprendizagem de faces com multi-vises[Kwong and Gong, 1999].

3.6 Concluso

71

3.6 Concluso
Esta dissertao investiga a aplicao de SVM no problema de reconhecimento de objetos baseado na aparncia. Os trabalhos citados acima, apontam para excelentes taxas de reconhecimento com SVM. Esta dissertao objetiva reforar os resultados obtidos anteriormente. O prximo captulo descreve, inicialmente a utilizao de SVM em uma base de imagens pequena (Minolta). Em seguida, so avaliados trs tipos diferentes de kernel polinomial (linear, quadrtico e cbico) na base COIL100. Ambos os experimentos utilizam todas as classes de objetos e todas as vises. Tambm variam o tamanho dos conjuntos de treinamento e de teste. Na segunda etapa de experimentos ainda realizado um k-fold cross-validation que divide os dados em subconjuntos de tamanho aproximadamente igual, para reforar a preciso dos resultados obtidos. Finalmente, a ltima etapa descreve um estudo comparativo entre SVM e Redes Neurais Multilayer Perceptron Backpropagation.

Captulo 4 Reconhecimento de Objetos Baseado na Aparncia Usando SVM


O reconhecimento baseado na aparncia, descrito no Captulo 3, a soluo mais adequada para problemas em que h diculdades na obteno de modelos geomtricos dos objetos, desde que as imagens no apresentem ocluses e possam ser segmentadas da cena [Nayar et al., 1996]. No contexto de Viso de Mquina, SVM pode ser aplicado a muitos problemas, dentre eles, o reconhecimento de objetos 3D a partir de vises 2D. Este captulo apresenta experimentos prticos da aplicao de SVM a esse tipo de reconhecimento, que considera vises dos objetos e no sua geometria. possvel encontrar alguns trabalhos relacionados na literatura tcnica. Em [Pontil and Verri, 1998] e [Roth et al., 2000] foram realizados experimentos simples (de 1 a 4 sries de treinamento/teste) e com apenas um tipo de kernel, o linear. Esta dissertao, entretanto, procurou aprimorar o que foi feito, utilizando exaustivamente o conjunto de imagens disponvel, permitindo diferentes tamanhos dos conjuntos de treinamento/teste e implementando validao cruzada (cross-validation). Adicionalmente, foram realizados experimentos e testes para comparar SVM sob trs tipos de kernel polinomial diferentes: linear (grau 1), quadrtico (grau 2) e cbico (grau 3), e identicar o tipo mais adequado a este problema, a partir da preciso e do nmero de vetores de suporte apresentados por cada kernel. Sendo realizado ainda um experimento de validao cruzada utilizando o kernel que apresentou os melhores resultados, objetivando reforar a preciso obtida. Finalmente, foi realizado tambm um estudo comparativo entre 72

4.1 Avaliao das Ferramentas

73

SVM e Redes Neurais Multilayer Perceptron Backpropagation, devido ao fato desta ltima tcnica ser tradicionalmente difundida em problemas de reconhecimento de objetos a partir de imagens e caractersticas. Os experimentos foram separados em trs grupos. No primeiro, que objetivou investigar o comportamento inicial de SVM no contexto do problema, a tcnica foi aplicada usando kernel polinomial quadrtico na pequena base de imagens Minolta, que contm apenas 10 classes de objetos. No segundo, o objetivo foi comparar os 3 tipos de kernel citados acima, usando a base de dados COIL100, que contm 100 classes de objetos. O terceiro experimento envolveu um estudo comparativo entre SVM e Redes Neurais, submetidos ao mesmo problema e estratgia de treinamento, utilizando um subconjunto de imagens COIL100. Considerando que no foi objetivo desta dissertao construir uma implementao de SVM e sim realizar um estudo torico e avaliar experimentalmente a aplicabilidade da tcnica ao problema de reconhecimento baseado na aparncia, e que j existem vrias implementaes disponveis no domnio pblico, decidiu-se por fazer uma anlise das ferramentas existentes am de escolher as que mais se adequariam ao problema em questo. A prxima seo apresenta as ferramentas testadas, dando destaque s caractersticas, estratgias de implementao, vantagens, desvantagens, e os resultados obtidos. Essas descries objetivam esclarecer que fatores contriburam para as escolhas das bibliotecas para cada experimento. Concluindo este captulo, os experimentos e resultados so apresentados.

4.1 Avaliao das Ferramentas


Como as pesquisas com SVM sofreram um maior desenvolvimento a partir de 1992, comparativamente com Redes Neurais, ainda h poucas ferramentas disponveis que implementam essa tcnica. Conforme foi destacado no Captulo 3, Seo 3.4, os problemas com SVM para classicao binria esto bem estabelecidos, porm, para mltiplas classes, como nesta dissertao, ainda h pesquisas buscando mtodos mais gerais. Portanto, essa caracterstica do problema limitou ainda mais o nmero de ferramentas disponveis. Para realizar o primeiro experimento, buscou-se uma biblioteca para o programa Matlab. Por tratar-se de uma base de dados pequena e de um experimento que objetivava simplesmente construir um prottipo para investigar o comportamento de SVM no problema de

4.1 Avaliao das Ferramentas

74

reconhecimento de objetos, uma toolbox para o simulador Matlab parecia o mais ideal. Trs toolboxs foram avaliadas.

4.1.1 Toolboxs Matlab


Matlab SVM Toolbox - desenvolvida por Steve Gunn [Gunn, 1998] e disponvel em http://www.isis.ecs.soton.ac.uk/resources/svminfo. Trata-se de uma biblioteca simples que realiza classicao e Regresso com SVM. A principal desvantagem que essa toolbox requer o uso de uma rotina de Programao Quadrtica parte. indicada para este propsito a toolbox de otimizao do prprio Matlab. Diante dessa limitao est claro que essa ferramenta no utiliza nenhuma das estratgias de implementao citadas no Captulo 3, Seo 3.3 e portanto, no pareceu adequada, especialmente por necessitar de uma rotina adicional para realizar o treinamento. SVM Toolbox - esse programa desenvolvido por Gavin Cauley e disponvel em http://theoval.sys.uea.ac.uk/

gcc/svm/toolbox/, realiza o treinamento usando o

algoritmo SMO de Platt [Platt, 1999], implementado como uma biblioteca hbrida em Matlab e C++. A desvantagem apresentada que, segundo o prprio autor, o programa ainda est em um estgio bastante inicial. H muitas verses lanadas em curto espao de tempo e praticamente no h documentao. Todos esses fatores indicaram que essa toolbox ainda est instvel. OSU SVM Classer Matlab Toolbox - trata-se de uma toolbox recente para o Matlab (ano de 2000). Utiliza SVM padro, chamado C-SVM, e duas das modicaes citadas no Captulo 3, Seo 3.2, -SVM e One Class SVM . No precisa de nenhum pacote

de software de programao quadrtica adicional. Na prtica, trata-se de uma interface para o Matlab da biblioteca LIBSVM [Chang and Lin, 2001a] desenvolvida por Junshui Ma e Stanley Ahal da Universidade do estado de Ohio, USA e disponvel em http://eewww.eng.ohio-state.edu/

04 e portanto, da OSU SVM uma simplicao de SMO de Platt e de SVM

maj/osu_svm. O algoritmo base de LIBSVM

de

[Joachims, 1999]. Alm dessas vantagens, essa biblioteca apresenta uma boa documentao e um curto tempo de resposta, pelo menos para SVM padro (o qual foi testado nesta dissertao).

4.1 Avaliao das Ferramentas

75

Todos esses fatores determinaram a escolha de OSU SVM para desenvolver o primeiro experimento. As caractersticas mais importantes tais como: forma de apresentao dos dados de entrada, variveis e apresentao dos resultados, so descritas na seo que trata do experimento propriamente dito. Para os outros experimentos entretanto, a OSU SVM apresentou alguns problemas com respeito plataforma operacional. O Matlab ideal quando h poucos dados para manipular. Como, a partir do segundo experimento, a base de dados utilizada foi a COIL100, com seus 7.200 arquivos, isso tornou-se um problema intratvel pelo Matlab, devido ao ineciente gerenciamento de memria do Sistema Operacional Windows, especialmente porque os conjuntos de treinamento e de teste tinham alta dimenso. Se o problema a ser resolvido manipular poucos dados, essa toolbox mais indicada, devido s caractersticas destacadas e convenincia da plataforma Matlab. Alm disso, possvel tambm realizar testes com as outras extenses de SVM suportadas pela biblioteca, embora no tenham sido investigadas nesta dissertao. Outro fator importante que com OSU SVM h a possibilidade de utilizar os principais tipos de kernel, com excesso do sigmide. Essas limitaes do Matlab inviabilizaram o uso das tooboxs analisadas acima em problemas envolvendo grandes bases de imagens. Portanto, houve a necessidade de mais uma etapa de buscas por bibliotecas que apresentassem uma maior ecincia no gerenciamento dos recursos computacionais associado a alta dimenso dos dados. A plataforma escolhida foram programas C/C++ no Sistema Operacional Unix. Dentre as opes encontradas, as seguintes bibliotecas foram investigadas:

4.1.2 C/C++
SVMTorch - uma implementao recente (dezembro de 2000) de SVM para classicao e egresso, desenvolvida por R. Collobert e S. Bengio [Collobert and Bengio, 2001], disponvel em http://www.idiap.ch/learning/SVMTorch.html. O SVMTorch II, investigado nesta dissertao, foi totalmente escrito em C++. A estratgia de implementao um mtodo de decomposio que utiliza um chunk de tamanho 2 (ver Captulo 3, Seo 3.3), que similar ao mtodo SMO. Trata-se de uma biblioteca ra-

4.1 Avaliao das Ferramentas

76

zoavelmente documentada e com muitas opes para testes com SVM. Os arquivos de treinamento e de teste so matrizes onde cada linha representa uma amostra e o ltimo termo de cada linha, representa um rtulo, 1 e -1 para classicao binria e 0, 1,

'('(' ,N

para problemas com mltiplas classes. Alm dessas caractersticas, possvel aplicar SVM com um kernel denido pelo usurio, alm dos outros tipos padro, incluindo o kernel sigmide. Entretanto, essa biblioteca apresenta a seguinte desvantagem: gera um arquivo de resultado (contendo nmero de vetores de suporte, os prprios vetores de suporte e demais informaes pertinentes) para cada classe, aps o treinamento. Na base de dados COIL100, por exemplo, que contm 100 classes, SVMTorch gerou 100 arquivos com resultados. A consequncia foi a necessidade de muito espao em disco, com o agravante de que, medida que o conjunto de treinamento cresce, o espao requerido pelos arquivos de resultados cresce proporcionalmente. Uma outra caracterstica negativa da SVMTorch est relacionada ao tempo requerido para o treinamento, que foi o mais alto (aproximadamente 10 vezes mais lento que a biblioteca LIBSVM, descrita posteriormente). Esses fatores determinaram a interrupo dos experimentos usando SVMTorch, o que ocasionou a necessidade de continuar a busca por mais bibliotecas. BSVM - Desenvolvida por Chih-Wei Hsu and Chih-Jen Lin e disponvel em http://www.csie.ntu.edu.tw/

cjlin/bsvm/. Essa biblioteca foi a primeira implemen-

tao baseada em LIBSVM, descrita abaixo, usando inclusive as mesmas opes de parmetros. Tem como diferencial a possibilidade de usar dois tipos adicionais de formulao para problemas com mltiplas classes, alm de uma formulao diferente para problemas de Regresso, no pertinente a esta dissertao. Como o objetivo do segundo experimento foi comparar tipos de kernel e no tipos de algoritmos de SVM ou mesmo tipos de algoritmos para mltiplas classes, essa biblioteca no foi usada. Se porm, o problema envolvesse variaes de formulao de SVM para mltiplas classes, a BSVM poderia ser uma opo vivel. LIBSVM - uma ferramenta integrada para problemas de classicao, incluindo SVM padro e

-SVM, Regresso e tambm One Class SVM , que uma tenFoi desenvolvida por Chih-

tativa de realizar aprendizagem no-supervisionada.

4.2 Experimentos Utilizando a Base de Dados Minolta

77

Chung Chang e Chih-Jen Lin [Chang and Lin, 2001a], est disponvel em http://www.csie.ntu.edu.tw/

cjlin/libsvm/. O algoritmo base uma simplicao

de SMO e do mtodo de decomposio de [Joachims, 1999]. As principais caractersticas so: diferentes formulaes de SVM, eciente em problemas multiclasse (oneagainst-one), validao cruzada para a seleo de variveis, cdigo fonte em C++ e Java. O cdigo usado nesta dissertao foi o disponvel em C++. Alm dessas vantagens, os testes realizados com LIBSVM mostraram que trata-se de uma biblioteca estvel. Disponibiliza todos os tipos de kernel mais comuns, incluindo o kernel sigmide, gera apenas um arquivo com resultados a cada treinamento, tempo de execuo mais rpido em relao s demais ferramentas investigadas, possibilita ao usurio gerenciar o espao de memria requerido para a realizao do treinamento e est bem documentada. Todas essas caractersticas determinaram a escolha de LIBSVM para a realizao dos dois ltimos e mais importantes experimentos descritos nesta dissertao. Com as ferramentas escolhidas, a prxima etapa foi realizar os experimentos, que foram dividos em trs grupos, como j foi citado anteriormente. As prximas sees descrevero passo-a-passo esses experimentos.

4.2 Experimentos Utilizando a Base de Dados Minolta


O objetivo destes primeiros testes foi avaliar o comportamento de SVM diante do problema de reconhecimento de objetos baseado na aparncia. Para esse tipo de problema, como foi citado no Captulo 3, Seo 3.5.4, vrias imagens do objeto, visto sob ngulos diferentes ou de um ponto xo apenas rotacionando o objeto, so capturadas. Isso possibilita a obteno de vrias vises de um mesmo objeto, imagens 2D, que podem ser usadas para simular sistemas de reconhecimento de objetos de natureza 3D. As prximas sees descrevem a base de dados, a biblioteca escolhida e o experimento propriamente dito.

4.2 Experimentos Utilizando a Base de Dados Minolta

78

4.2.1 Base de dados


Para realizar do

os

experimentos de Ohio,

foi

utilizada

uma

base em

de

dados

da

Uni-

versidade state.edu/

Estado

USA,

disponvel

http://sampl.eng.ohio-

sampl/data/3DDB/RID/minolta.

Essa base de imagens composta por

classes heterogneas, organizadas em grupos de objetos, que no apresentam o mesmo nmero de vises por classe. Dentre as muitas opes disponveis, foram selecionadas 10 classes de objetos (angel, brain, bottle, duck, face, frog, horn, lobster, pooh e valve) com 20 vises diferentes de cada. Essas vises foram escolhidas aleatoriamente,e, portanto, no seguem uma sequncia de ngulos. Conforme foi citado no Captulo 1, Seo 1.3.5, as classes so conjuntos de objetos apresentando propriedades em comum e os objetos so instncias concretas de uma classe. Entretanto, na base de dados Minolta, utilizada nesta etapa e na base de dados Coil100, utilizada nos prximos experimentos, as classes so constitudas unicamente por conjuntos de vises ou poses de um mesmo objeto.

4.2.2 Pr-processamento
Todas as imagens I=(R,G,B) foram convertidas para nvel de cinza NC atravs da frmula de    . As imagens foram tambm re-escalonadas para o tamanho converso

100x100 pixels, para este m foi utilizada uma abordagem baseada em amostragem para fazer a converso das imagens de tamanho arbitrrio da base MINOLTA para o tamanho xo de 100x100 pixels escolhido. Sejam Sejam (

)e(

a transformao de

a imagem original e

a imagem re-dimensionada.

% %

) as dimenses das imagens originais e re-dimensionadas. Ento pode ser expressa pela seguinte equao:

para

% $

&

('('(')

% 

('('A')

% 

(4.1)

na qual, INT um operador que trunca seu argumento para um valor inteiro. A Figura 4.1 mostra 10 vises de uma das classes utilizadas. A Figura 4.2 ilustra uma outra classe em que no apenas o ngulo variou, como tambm a escala, tornando mais difcil o problema de aprendizagem.

4.2 Experimentos Utilizando a Base de Dados Minolta

79

Figura 4.1: O objeto angel com 10 vises diferentes.

Figura 4.2: O objeto horn com 10 vises diferentes.

4.2.3 Ferramenta
O experimento foi realizado usando a toolbox para o Matlab OSU SVM, conforme seo anterior. Essa biblioteca lida com problemas de mltiplas classes, usando o mtodo oneagainst-one (Captulo 3, Seo 3.4) e no requer pacote de otimizao extra. O kernel utilizado foi o polinomial quadrtico e os padres foram treinados usando o classicador SVM padro (C-SVM na OSU SVM), que necessita de apenas trs programas osuSVMTrain, osuSVMClass e osuSVMTest. Conforme foi citado na seo anterior, essa biblioteca disponibiliza trs tipos de algoritmos SVM, sendo que o algoritmo padro, chamado C-SVM na toolbox, foi escolhido, j que o objetivo do experimento era investigar esse algoritmo. Tambm disponibiliza quatro tipos de kernel: linear, polinomial, Funo de Base Radial e sigmide. O tipo escolhido para este experimento foi o polinomial quadrtico

#4  ' H4 

, onde representa o grau

do polinmio (2 neste caso), por dois motivos: (a) segundo [Osuna et al., 1997b] esse tipo de kernel prov boa capacidade de generalizao e (b) na maioria dos trabalhos envolvendo a aplicao de SVM ao reconhecimento de objetos baseado na aparncia, o kernel utilizado foi o linear [Roth et al., 2000; Pontil and Verri, 1998 ]. Primeiramente, as matrizes de pixels das imagens foram atribudas vetores no Matlab. A biblioteca exige que as amostras sejam representadas por vetores coluna. Como o tamanho das imagens era 100x100, a dimenso de cada vetor foi 10.000x1. Outra exigncia da OSU SVM para os dados de entrada que os valores sejam normalizados para o intervalo [0...1] e convertidos para ponto utuante. Com os dados preparados, a prxima etapa foi construir

4.2 Experimentos Utilizando a Base de Dados Minolta os conjuntos de treinamento e de teste.

80

4.2.4 Construo dos Conjuntos de Treinamento e Teste


Foi utilizada a estratgia de construo de conjuntos de treinamento e de teste com diferentes tamanhos. Como tratavam-se de 10 classes de objetos, com 20 vises (imagens) diferentes de cada objeto, um total de 19 conjuntos de treinamento/teste foram gerados. Cada conjunto de treinamento usou T amostras por classe, e cada conjunto de teste usou (20-T) amostras por classe, onde T=1,2,

'('(' ,19. A seleo das amostras foi aleatria, embora manual, neste

estgio. Portanto, os conjuntos de treinamento variaram de 1 a 19 vises por classe, formando grandes matrizes de pixels com dimenses variando entre 10.000x10 e 10.000x190. Os conjuntos de teste apresentaram a mesma variao, mas na direo inversa. Para cada conjunto de treinamento e de teste foi construdo um vetor contendo: os rtulos das classes de objetos, os rtulos para os treinamentos e as sadas desejadas, para vericarse a preciso na fase de testes. Os valores dos rtulos variaram de 1 a 10 (10 classes). O parmetro T determinou tambm o tamanho dos vetores de rtulos. Os vetores de rtulos referentes aos conjuntos de treinamento variaram de 1x10 a 1x190. Os dos conjuntos de teste apresentaram a mesma variao, mas na direo oposta.

4.2.5 Treinamentos/Testes
Prosseguindo, 19 sequncias de treinamento/teste foram construdas. Para realizar o treinamento, o programa usado foi o osuSVMTrain. Como j foi citado, o algoritmo utilizado foi o classicador padro (CSVM). O kernel foi o polinomial quadrtico (grau

). Foi manti-

do o valor default para o parmetro de regularizao C (igual a 1) e demais variveis. Apesar da maioria dos autores sugerirem que seja feita uma validao cruzada com valores de C de 1 a 1.000, para denir o mais adequado ao problema, no foi necessrio fazer isso, uma vez que os resultados obtidos com o valor default foram satisfatrios. A biblioteca caracteriza-se por gerenciar espao em disco, o usurio pode especicar o tamanho de espao que deve ser reservado para o treinamento. A Tabela 4.1 sintetiza os parmetros acima. O osuSVMTrain foi executado com cada arquivo de treinamento, o respectivo vetor de rtulos e os parmetros citados acima. As sadas do programa foram as seguintes:

4.2 Experimentos Utilizando a Base de Dados Minolta

81

Tipo de SVM Classicador padro C-SVM

Tipo de Kernel Grau Polinomial 2

C 1

Tabela 4.1: Valores denidos para o treinamento na base Minolta.

AlphaY - Alpha*Y, onde Alpha so os coecientes de Lagrange no nulos e Y, os rtulos correspondentes;

SVs: Padres correspondentes ao Alphas no nulos, ou seja, os vetores de suporte.

Bias: Limiar da funo de deciso.

Para: Os mesmos parmetros de entrada.

Ns: Nmero de vetores de suporte para cada classe.

Com os resultados obtidos, o segundo programa osuSVMClass, foi utilizado para classicar os dados de teste. As entradas para osuSVMClass foram as sadas do algoritmo anterior, acrescidas do conjunto de teste. As sadas foram os rtulos da classe estimada para cada imagem do conjunto de teste e os scores, que equivalem sada das funes de deciso de cada classe. Finalmente, o terceiro programa, osuSVMTest, foi utilizado para vericar a preciso do classicador gerado. As entradas foram as mesmas do algoritmo anterior, acrescidas dos rtulos (sadas desejadas) dos padres de teste. As sadas do programa osuSVMTest foram a matriz de confuso, mostrando a preciso alcanada para cada classe e os mesmos scores associados funes de deciso de cada classe.

4.2.6 Resultados
A taxa mdia de reconhecimento foi 90 . A melhor taxa foi 98 , para T=13 e a pior foi

71 , para T=1. A Figura 4.3 ilustra o desempenho de SVM no problema de reconhecimen

to. importante observar que a curva dessa gura representa a mdia de reconhecimento para as 10 classes. A curva de reconhecimento comea a cair com os maiores conjuntos de treinamento porque para algumas classes (1 e 8 em especial), as imagens que constituram o conjunto de teste foram as mais difceis de reconhecer.

4.2 Experimentos Utilizando a Base de Dados Minolta

82

Desempenho do kernel polinomial de grau 2 100 Taxas de Acerto

95

90 (% de acertos)

85

80

75

70 0 2 4 6 8 10 12 14 16 18 20 Numero de amostras de treinamento (T) por classe

Figura 4.3: Desempenho de SVM na base Minolta.

A Tabela 4.2 mostra a matriz de confuso da fase de teste, para T=1, ou seja, cada conjunto de teste continha 19 vises de cada classe. Cada linha e coluna da tabela representam classes, sendo que em cada clula est contido o valor percentual obtido quando o padro pertencente classe referenciada na linha da clula foi classicado como sendo da classe referenciada na coluna da clula. A soma dos valores das clulas deve ser igual 100%, para cada linha. A Tabela 4.3 mostra a matriz de confuso para T=19 (apenas 1 viso para cada classe). Os valores esto distribudos como na tabela anterior. importante observar que em uma situao de classicao ideal, a diagonal principal da matriz dever possuir valores altos (prximos de 100%). Percebe-se portanto, que na Tabela 4.2 as classes 4 e 7 foram as que mais tiveram problemas de serem classicadas e na Tabela 4.3, as classes 1 e 8 foram problemticas. Os resultados obtidos raticaram que SVM uma tcnica totalmente aplicvel ao problema, com altas taxas de reconhecimento. Esse experimento revelou que a preciso de SVM diminui com os conjuntos de treinamento pequenos, que um comportamento comum entre as tcnicas aplicadas em Reconhecimento de Padres.

4.2 Experimentos Utilizando a Base de Dados Minolta

83

Classes 1 2 3 4 5 6 7 8 9 10

1 57.89 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

2 0.00 100 26.32 0.00 0.00 0.00 68.42 0.00 0.00 0.00

3 31.58 0.00 73.68 26.32 0.00 5.26 0.00 0.00 0.00 0.00

4 0.00 0.00 0.00 21.05 5.26 0.00 0.00 0.00 0.00 0.00

5 0.00 0.00 0.00 0.00 84.21 0.00 0.00 0.00 0.00 0.00

6 0.00 0.00 0.00 15.79 0.00 57.89 0.00 0.00 0.00 0.00

7 0.00 0.00 0.00 31.58 0.00 36.84 31.58 10.53 0.00 0.00

8 0.00 0.00 0.00 5.26 10.53 0.00 0.00 89.47 0.00 0.00

9 10.53 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100 0.00

10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100

Tabela 4.2: Matriz de confuso para T=1. Cada clula contm o valor percentual de confuso para as classes indicadas por sua linha quando classicadas como sendo das classes indicadas por suas colunas.

Classes 1 2 3 4 5 6 7 8 9 10

1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

2 0.00 100 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

3 100 0.00 100 0.00 0.00 0.00 0.00 0.00 0.00 0.00

4 0.00 0.00 0.00 100 0.00 0.00 0.00 0.00 0.00 0.00

5 0.00 0.00 0.00 0.00 100 0.00 0.00 0.00 0.00 0.00

6 0.00 0.00 0.00 0.00 0.00 100 0.00 0.00 0.00 0.00

7 0.00 0.00 0.00 0.00 0.00 0.00 100 100 0.00 0.00

8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

9 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100 0.00

10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100

Tabela 4.3: Matriz de confuso para T=19.Cada clula contm o valor percentual de confuso para as classes indicadas por sua linha quando classicadas como sendo das classes indicadas por suas colunas.

4.3 Experimentos Utilizando a Base de Dados COIL100

84

4.3 Experimentos Utilizando a Base de Dados COIL100


Os experimentos com a base de imagens COIL100 foram divididos em duas etapas: testar diferente kernels e comparar SVM com uma abordagem mais tradicional utilizando Redes Neurais do tipo Multilayer Perceptron Backpropagation. A seguir so descritos com mais detalhes a base de imagens, as ferramentas utilizadas e as duas etapas de experimentos.

4.3.1 Base de Dados


A base de imagens COIL100 utilizada nestes experimentos, est disponvel em http://www.cs.columbia.edu/CAVE. Como foi citado no Captulo 3, Seo 3.5.4, essa uma das melhores bases de dados para investigar algoritmos de reconhecimento baseado na aparncia, em particular [Roth et al., 2000; Pontil and Verri, 1998 ] e [Murase and Nayar, 1995] realizaram experimentos utilizando esta base de imagens. COIL100 consiste de 7.200 imagens coloridas de 100 objetos diferentes. As imagens foram adquiridas com os objetos posicionados no centro de uma plataforma giratria (turntable) e fotografados por uma cmera numa posio xa. Um total de 72 poses por objeto foram obtidas rotacionando-se a mesa giratria a cada 5 . As imagens foram normalizadas para uma retina de 128x128 pixels. Em [Murase and Nayar, 1995] encontramse maiores detalhes sobre o processo de aquisio das imagens. A Figura 4.4 mostra alguns dos objetos que compem a COIL100, vistos sob o ngulo 10 e convertidos para nvel cinza.

Figura 4.4: Alguns dos objetos que compem a base COIL100.

Como ocorreu uma normalizao de todas as imagens para uma retina xa, dependendo do ngulo de viso, algumas imagens de um mesmo objeto se tornaram relativamente maiores que outras. A Figura 4.5 mostra 9 imagens, do objeto 44, variando do ngulo 260 ao 300 .

4.3 Experimentos Utilizando a Base de Dados COIL100

85

Figura 4.5: Vises do objeto 44, do ngulo 260 ao 300 .

4.3.2 Ferramentas
A Seo 4.1 mostrou a diculdade de encontrar uma ferramenta de SVM que suprisse a maioria das exigncias de cada experimento. A biblioteca escolhida para o estudo comparativos entre tipos kernel foi a LIBSVM, que apresentou-se mais adequada ao problema, segundo razes j descritas na Seo 4.1. Para os experimentos com Multilayer Perceptron Backpropagation foi utilizado o simulador SNNS (Stuttgart Neural Network Simulator), disponvel em http://wwwra.informatik.uni-tuebingen.de/SNNS.

4.3.3 Testando Diferentes Kernels


O objetivo nesta etapa, foi fazer uma avaliao prtica sobre a preciso, comportamento e nmero de vetores de suporte produzidos por trs tipos de kernel polinomial: linear, quadrtico e cbico. Uma das caractersticas de SVM destacada na literatura o fato do usurio denir poucos parmetros livres para realizar alguma tarefa. Com o kernel polinomial necessrio denir apenas o grau do polinmio. No Captulo 2, Seo 2.3.3, alm do kernel polinomial, dois outros tipos de kernel foram apresentados: Funo de Base Radial (RBF) e sigmide. Entretanto, estes no foram utilizados nos experimentos por dois motivos principais: no kernel RBF

4  ' 

h diculdade na denio do parmetro . Segundo [Matter and Haykin, 1999] essa varivel no tem um valor xo, assim como o grau do polinmio para o kernel polinomial, porm, normalmente necessrio usar alguma estratgia de treinamento, como validao cruzada, para determinar que valor de mais indicado para cada tipo de problema. Entretanto, essa investigao ultrapassa o escopo desta dissertao. Segundo [Vapnik, 1999], o kernel sigmide

B4 

H4

no satisfaz as

condies de Mercer (Captulo 2, Seo 2.3.3) para todos os valores de

e . Diante disso,

tambm seria necessrio realizar experimentos para denir que valores dessas variveis (sa-

4.3 Experimentos Utilizando a Base de Dados COIL100

86

tisfazendo as condies de Mercer) seriam mais adequados para o problema em foco. Essa restrio tambm impossibilitou o uso desse kernel. A investigao desses valores ideiais objeto de uma pesquisa em separado que tambm ultrapassaria o escopo desta dissertao. O sistema de reconhecimento pode ser dividido em quatro estgios: pr-processamento, constuo dos conjuntos de treinamento/teste, treinamento dos classicadores e avaliao de desempenho. A Figura 4.6 ilustra as etapas envolvidas no experimento.
Construo dos conjuntos de treinamento/teste Construo dos classificadores binrios

Pr processamento

Definio da arquitetura

Avaliao de desempenho

Figura 4.6: Arquitetura do experimento 2.

Pr-processamento Esta etapa objetivou preparar as imagens para o reconhecimento. Como no experimento anterior, todas as imagens I=(R,G,B) da COIL100 foram convertidas para nveis de cinza NC, atravs da frmula de converso  2 , com pixels assumindo valores no

intervalo

'('('

 

. A seguir, as imagens foram redimensionadas para uma retina de 32x32

pixels, atravs da mdia dos nveis de cinza sobre subconjuntos de 4x4 pixels, para reduzir a dimenso do espao de entrada utilizado nos treinamentos e testes. As imagens portanto, foram transformadas em vetores de 1024 componentes. Os trabalhos descritos em [Pontil and Verri, 1998; Roth et al., 2000] e [Roobaert et al., 2000], aplicaram pr-processamento idntico a este. importante notar que, embora o pr-processamento acima reduza o tempo computacional e memria necessrios para a realizao do algoritmo SVM, algumas classes de objetos podem tornar-se mais difceis de discriminar uma vez que os padres tornam-se mais prximos uns dos outros devido reduo do nvel de informao condicada nas imagens. Formao dos conjuntos de treinamento/teste O mtodo usado para criar os grupos de treinamento e de teste foi o mesmo do experimento anterior, ou seja, construo de conjuntos de treinamento/teste de diferentes tamanhos. As

4.3 Experimentos Utilizando a Base de Dados COIL100

87

100 classes foram utilizadas e todas as vises destas tambm. Um total de 71 conjuntos de treinamento e de teste foram criados, cada um com T amostras de treinamento e (72-T) amostras de teste por classe, onde T=1,2,

'('(' ,71. importante destacar que as vises que

constituram cada conjunto de treinamento foram escolhidas de forma aleatria, tomando-se as devidas precaues para que as vises no se repetissem. Essa estratgia difere de outros trabalhos publicados em trs aspectos relativos criao dos grupos de treinamento e teste: 1. Em [Pontil and Verri, 1998] as 100 classes no foram manipuladas juntas. Para cada experimento, apenas um subconjunto de 32 classes de objetos, de um total de 100, foi manipulado. O fato de trabalhar apenas com 32 classes, pode elevar articialmente as taxas de reconhecimento. Entretanto, nesta dissertao, os grupos de treinamento e de teste foram constitudos envolvendo todas as 100 classes. 2. Em [Pontil and Verri, 1998], os conjuntos de treinamento consistiram de 36 imagens (36 vises) das 32 classes escolhidas. Em [Roth et al., 2000] foram construdos quatro grupos de treinamento, com respectivamente 4, 8, 18 e 36 vises. Nesta dissertao, porm, foram construdos 71 conjuntos de treinamento e de teste, variando de 1 a 71 vises do objeto, para realizar um experimento exaustivo na avaliao do comportamento de SVM com poucas e muitas vises. 3. Nesta dissertao, cada um dos cojuntos de treinamento foi constitudo por vises dos objetos escolhidas aleatoriamente, para obter resultados mais realsticos. Em [Pontil and Verri, 1998], 36 imagens constituram os conjuntos de treinamento (uma a cada 10 ) e as outras 36 formaram os conjuntos de teste. Pela Figura 4.5 possvel perceber que as imagens em uma sequncia de 10 so altamente correlacionadas, logo, se a cada 10 uma imagem constou no conjunto de treinamento e a outra no grupo de teste, o problema de classicao torna-se mais simples. Enquanto que nesta dissertao, como a seleo das vises foi aleatria, elas podem tanto ser de ngulos prximos, como distantes.

4.3 Experimentos Utilizando a Base de Dados COIL100 Treinamento dos classicadores

88

Como j foi citado em captulos anteriores, o padro utilizado para representar o objeto no reconhecimento baseado na aparncia so as prprias imagens. O conjunto de treinamento portanto, torna-se uma grande matriz de pixels. A biblioteca LIBSVM, usada para realizar os experimentos, apresenta algumas especicaes para a formatao dos dados da matriz de pontos. Para LIBSVM, cada linha da matriz que constitui o conjunto de treinamento, deve seguir a seguinte ordem:

<rtulo> - o valor alvo do dado de treinamento. Deve ser um inteiro que identica uma classe. Nesta dissertao, o rtulo variou de 1 a 100, j que a COIL100 composta por 100 classes. Os rtulos nos arquivos de teste so usados para medir a preciso da classicao.

<ndice> - um inteiro comeando por 1. Como as imagens foram redimensionadas para 32x32, o ndice aqui, assume valores entre 1 e 1024.

<valor> - um nmero real. Corresponde ao valor dos pixels das imagens. Como foi citado acima, as imagens foram convertidas para nvel de cinza, logo, aqui o valor varia entre 0.000000 e 255.000000. A Figura 4.7 ilustra um arquvo tpico para LIBSVM. importante destacar que essa gura foi montada com partes do arquivo de entrada de LIBSVM, apenas a ttulo de ilustrao.

Portanto, os arquivos contendo as matrizes dos conjuntos de treinamento variaram de 100 a 7.100 linhas, e os de teste o inverso, de acordo com parmetro T. As colunas seguiram o formato requerido pela biblioteca. O esquema utilizado por LIBSVM para solucionar o problema de mltiplas classes o um-versus-um (one-against-one), descrito no Captulo 3, Seo 3.4 (para maiores detalhes ver [Chang and Lin, 2001a]). A biblioteca apresenta dois programas: svm-train para realizar os treinamentos e svm-predict para realizar os testes. As opes para os tipos de SVM so: C-SVM (classicador pado); -SVM (extenso

de C-SVM); one-class SVM (extenso de C-SVM); -SVR (SVM padro para Regresso) e

-SVR (extenso de SVR).

4.3 Experimentos Utilizando a Base de Dados COIL100

89

1 1:0.360784 2:0.098039 3:0.109804 4:0.329412 5:0.101961 6:0.105882 7:0.113725 8:0.101961 9:0.098039 10:0.109804 11:0.098039 12:0.098039 13:0.098039 14:0.098039 15:0.098039 16:0.098039 17:0.098039 18:0.098039 19:0.098039 20:0.098039 21:0.098039 22:0.098039 23:0.098039 24:0.098039 25:0.098039 26:0.098039 27:0.098039 28:0.098039 29:0.098039 30:0.098039 31:0.098039 32:0.098039 33:0.701961 34:0.098039 35:0.109804 36:0.341176 37:0.101961 38:0.105882 39:0.439216 40:0.101961 41:0.098039 42:0.109804 43:0.098039 . . . 1021:0.098039 1022:0.098039 1023:0.098039 1024:0.098039 . . . 100 1:0.439216 2:0.121569 3:0.580392 4:0.650980 5:0.156863 6:0.611765 7:0.745098 8:0.125490 9:0.611765 10:0.772549 11:0.125490 12:0.635294 13:0.803922 14:0.101961 15:0.666667 16:0.458824 17:0.098039 18:0.803922 19:0.109804 20:0.101961 21:0.101961 22:0.101961 23:0.101961 24:0.101961 25:0.101961 26:0.101961 27:0.101961 28:0.101961 29:0.101961 30:0.101961 31:0.101961 32:0.101961 33:0.600000 34:0.121569 35:0.580392 36:0.729412 37:0.156863 38:0.611765 39:0.760784 40:0.125490 41:0.611765 42:0.780392 43:0.125490 . . . 1021:0.101961 1022:0.101961 1023:0.101961 1024:0.101961

Figura 4.7: Arquivo tpico de entrada para a biblioteca LIBSVM.

O tipo de SVM aplicado foi o classicador padro e os tipos de kernel usados foram: polinomial (graus 1, 2 e 3). As demais opes disponveis na biblioteca (RBF e sigmoide) no constam nesse experimento por razes j explicadas anteriormente. Antes de iniciar os treinamentos propriamente ditos, foi necessrio realizar alguns testes para vericar os valores mais indicados para algumas variveis. Com relao ao parmetro de regularizao

aconselhvel testar valores entre 1 e 1000 para uma denio mais

precisa. As precises mais elevadas estiveram associadas ao valor 1000 para a varivel Em LIBSVM, o kernel polinomial usado da forma: multiplicada por

0 

) 

, onde

uma constante

representa o grau do polinmio. Alguns valores de

foram

testados e as precises mais elevadas estiveram associadas ao valor 10. Como j foi citado anteriormente, LIBSVM utiliza um mtodo de decomposio (conforme Captulo 3, Seo 3.3), para a soluo do problema quadrtico convexo. Para tal, utiliza uma varivel que implementa o critrio de parada para os subconjuntos criados pelo mtodo de decomposio. O valor de

deve ser pequeno e positivo. Resultados de testes

variando o valor de , indicaram o valor 1 como ideal. A Tabela 4.4 sintetiza os parmetros denidos para o treinamento.

4.3 Experimentos Utilizando a Base de Dados COIL100

90

Grau do polinmio (d)

1, 2 e 3

1000 10 1

Tabela 4.4: Valores denidos para as variveis: grau do polinmio (d),

, , .

Inicialmente os 71 arquivos de treinamento e de teste foram gerados, T amostras de vises para treinamento e (72-T) amostras de vises para os conjuntos de teste. Para cada conjunto de treinamento, o programa svm-train foi executado. Primeiro, com kernel linear, em seguida com kernel quadrtico e, nalmente, cbico. Svm-train gera um arquivo de resultados contendo: tipo de SVM, tipo de kernel, nmero de classes, total de vetores de suporte, rtulos, e os prprios vetores de suporte. A Figura 4.8 ilustra uma parte do arquivo de resultado associado a T=51 do kernel linear. Essa gura foi montada com partes do arquivo T=51 apenas a ttulo de ilustrao, para mostrar que informaes cam disponveis nos arquivos de resultados.
svm_type c_svc kernel_type linear nr_class 100 total_sv 4093 rho 2.25531 3.9943 0.355322 2.52852 6.13458 1.06955 0.642801 1.41527 3.34511 0.51 2457 1.35894 1.22204 1.4646 7.79981 1.65038 1.32257 1.259 5.72349 1.33399 1.38653 1.22223 2.94618 1.72973 1.41028 1.14974 2.48644 0.296467 1.19072 1.17959 3.50551 1.21261 0.833655 0.305283 2.77361 1.0973 3.81818 3.80001 1.61083 4.35315 1.43541 2.99603 1.38233 1.15241 1.47414 6.54067 2.03663 2.48414 1.01391 1.51639 1.27488 label 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 6 1 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 nr_sv 49 30 50 47 24 50 38 49 39 40 48 45 37 49 49 49 34 29 50 49 47 43 48 31 23 20 49 50 45 29 50 46 20 37 16 36 49 50 44 39 48 48 41 45 44 50 28 38 41 18 48 50 42 49 42 28 50 3 1 50 50 26 48 50 27 49 42 50 50 50 14 19 31 12 37 48 50 44 49 50 50 44 49 39 49 44 41 36 22 45 45 49 24 48 29 23 49 50 50 43 50 SV 0 0 0 0 0 0 5.05749740679224e06 0 0 0 0 0 0 6.24267703482509e05 0 0 0 2.37754618210262 e05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8.687928491799258e08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1:120 2:28 3:25 4:25 5:25 6:25 7:25 8:25 9:25 10:25 11:25 12:25 13:25 14:25 15 :25 16:25 17:25 18:25 19:25 20:25 21:25 22:25 23:25 24:25 25:25 26:25 27:25 28:25 29:25 3 0:25 31:25 32:25 33:120 34:28 35:25 36:25 37:25 38:25 39:25 40:25 41:25 42:25 43:25 44:25 45:25 46:25 47:25 48:25 49:25 50:25 51:25 52:25 53:25 54:25 55:25 56:25 57:25 58:25 59:2

Figura 4.8: Parte do contudo de um arquivo de resultado de treinamento, correpondendo a T=51.

A relao entre o nmero de vetores de suporte obtidos aps o treinamento e o tamanho do conjunto de treinamento correspondente pode ser visto na Figura 4.9. Uma vez que tratam-se de 100 classes, o nmero de padres de treinamento na gura mostrado como

4.3 Experimentos Utilizando a Base de Dados COIL100 (


91

). importante notar que medida que o nmero de vises aumenta, o nmero

de vetores de suporte tambm aumenta, mas no em propores iguais, o que conrma o comentrio de [Pontil and Verri, 1998] que a frao de vetores de suporte maior quando h uma alta dimenso de entrada combinada com um nmero pequeno de exemplos de treinamento. Para conjuntos de treinamento pequenos, possvel notar que o nmero de vetores de suporte praticamente igual ao nmero de padres de treinamento, o que torna os requerimentos de tempo e memria da tcnica SVM muitos prximos de um classicador Vizinho Mais Prximo [Duda et al., 2000], por exemplo.
Numero de vetores de suporte em fucao do numero de padroes de treinamento 5000 4500 4000 (Numero de vetores de suporte) 3500 3000 2500 2000 1500 1000 500 0 0 1000 2000 3000 4000 5000 (Tamanho do conjunto de treinamento) 6000 7000 8000 Tipo de Kernel Linear Quadratico Cubico

Figura 4.9: Nmero de vetores de suporte criados versus tamanho do conjunto de treinamento (

) para os trs tipos de kernel investigados.

Avaliao de Desempenho Com os arquivos de resultados gerados no treinamento, foi possvel realizar a etapa de avaliao do desempenho de SVM na classicao de objetos baseada na aparncia. O programa svm-predict foi ento utilizado. Para executar o programa foi nessrio passar como parmetro o arquivo de teste (variando de 1 a 71 vises por classe) e o arquivo de resultado. Svm-predict gerou um arquivo de sada ilustrando a classicao de cada objeto e exibindo a preciso alcanada. Para uma avaliao mais completa dos resultados obtidos, essas

4.3 Experimentos Utilizando a Base de Dados COIL100 precises foram todas armazenadas em arquivos em disco.

92

Dentre os trs tipos de kernel investigados, o kernel polinomial quadrtico apresentou desempenho um pouco superior aos demais. A Figura 4.10 ilustra esses resultados atravs da curva de reconhecimento obtida a partir da mdia das 100 classes. As curvas de reconhecimento no decaram com os ltimos conjuntos de treinamento, como no experimento anterior, porque desta vez, tratava-se de um nmero elevado de classes e vises, portanto, mesmo que para algumas classes tenham existido imagens mais difceis de reconhecer, esse fato no determinou uma queda brusca na taxa de reconhecimento. Pode-se notar que a diferena de desempenho entre os kernels praticamente mnima. Isto conrma os resultados obtidos por [Vapnik, 1999], o qual mostrou que o tipo de kernel escolhido no possui uma importncia fundamental para os resultados nais de reconhecimento.
Desempenho dos kernels 100

90

Taxa de reconhecimento

80

70

60

50 Tipo de kernel Linear Quadratico Cubico 40 0 10 20 30 40 50 60 70 80 Numero de amostras de treinamento (T) por classe

Figura 4.10: Curvas de reconhecimento para os kernels: linear, quadrtico e cbico, na base COIL100.

A taxa mdia de reconhecimento foi 82,00

para o kernel quadrtico, 81,48


para o

cbico e 81,20

para o linear. A melhor taxa foi 94,00

para o kernel cbico, com T=71 e

a pior taxa foi 43,42

tambm para o kernel cbico, a Tabela 4.5 resume esses dados.

importante notar que as piores taxas de reconhecimento ocorreram para os menores

4.3 Experimentos Utilizando a Base de Dados COIL100

93

Tipo de Kernel Linear Quadrtico Cbico

Pior Taxa 44,34

Melhor Taxa Taxa Mdia

T=1 91,00

T=71 T=71

81,20

43,80 43,42

T=1 92,00

82,00

T=1 94,00

T=71

81,48

Tabela 4.5: Taxas de reconhecimento obtidas por trs diferentes kernels: linear, quadrtico e cbico na base COIL100.

tamanhos de conjunto de treinamento e a taxa aumentou gradualmente para os tamanhos de conjuntos maiores, fato que j era esperado. As taxas de reconhecimento foram em geral menores do que as taxas obtidas em trabalhos anteriores, como em [Pontil and Verri, 1998; Roth et al., 2000]. Algumas das razes para esses resultados obtidos so: 1. Condies de treinamento diferentes. Como j foi citado, a estratgia de usar diferentes tamanhos de conjuntos de treinamento/teste, forou um treinamento exaustivo dos dados, diferentemente de outros trabalhos que realizaram 1, como em [Pontil and Verri, 1998] ou no mximo 4 treinamentos como em [Roth et al., 2000]. 2. Escolha aleatria das vises. As vises selecionadas para constiturem os conjuntos de treinamento poderam tanto facilitar quanto dicultar a classicao. 3. Utilizao de todas as 100 classes. Esse fator tambm pode ter inuenciado nos resultados, uma vez que essa base de dados apresenta alguns objetos muito parecidos. Para reforar os resultados obtidos nesta etapa, foi implementada a estratgia k-fold cross validation com o kernel polinomial quadrado, que apresentou uma pequena superioridade em relao aos dois outros tipos de kernel testados. Os valores dos parmetros

foram

os mesmos do estudo comparativo entre kernels, ou seja, 1.000, 1 e 10, respectivamente. A biblioteca LIBSVM disponibiliza a opo de k-fold cross validation, o usurio escolhe apenas o valor de . Foi escolhido 1999]. A estratgia de cross-validation utilizada para avaliar o desempenho de generalizao de algoritmos de aprendizagem. A variante desta estratgia denominada k-fold crossvalidation, utilizada nesta dissertao, divide os dados em subconjuntos de tamanho apro-

, conforme recomendado pela literatura [Haykin,

4.3 Experimentos Utilizando a Base de Dados COIL100

94

ximadamente igual. O treinamento repetido vezes, sendo que, a cada iterao, um subconjunto retirado do conjunto geral de padres e utilizado como conjunto de teste. Ao nal, todos os subconjuntos so treinados e testados. A taxa de erro de generalizao a mdia das taxas de erro nas diferentes parties. Foi gerado um conjunto contendo todas as classes e vises dos objetos. Portanto, o conjunto foi composto por 7.200 padres. Como o valor de escolhido foi 10, o grande conjunto de dados foi particionado em 10 subconjuntos, com 720 padres cada. A preciso mdia obtida por k-fold cross validation foi 87,56%. A Tabela abaixo resume esses dados. Valor de k 10 Preciso Mdia 87,56

Tabela 4.6: Preciso mdia alcanada utilizando k-fold cross validation, com k=10.

Esses resutados, indicam que SVM utilizando o kernel polinomial quadrtico (poderia ser outro tipo de kernel, conforme experimento anterior) pode alcaar a preciso 87,56% na etapa de classicao. A diferena que houve entre o resultado obtido com os diversos tamanhos de conjuntos de treinamento/teste e seleo aleatria das vises em relao ao resultado de k-fold cross-validatio deve-se inuncia que as vises exerceram na classicao. A validao cruzada permite uma avaliao mais precisa do classicador.

4.3.4 Estudo Comparativo: SVM x Redes Neurais


O objetivo nesta etapa foi realizar experimentalmente um estudo comparativo entre SVM e Redes Neurais do tipo MLP Backpropagation enfatizando apenas aspectos relativos preciso de reconhecimento. No foi objetivo desta dissertao comparar o desenvolvimento das tcnicas em termos de tempo de execuo e memria. Redes Neurais uma tcnica muito utilizada em problemas de reconhecimento de padres, como o reconhecimento baseado na aparncia. As ferramentas utilizadas nesta etapa, foram: LIBSVM para SVM e SNNS para Redes Neurais MLP Backpropagation. Essas bibliotecas foram descritas no incio da seo. A base de dados foi novamente a COIL100. Inicialmente tentou-se realizar os experimentos com uma rede monoltica, com 1024

4.3 Experimentos Utilizando a Base de Dados COIL100

95

neurnios na camada de entrada (devido dimenso das imagens, 32x32), 100 neurnios na camada de sada (devido s 100 classes de objetos) e a quantidade de neurnios na camada escondida sendo denida por experimentao. Essa estratgia porm, no mostrou-se adequada devido ao elevado tempo de convergncia das diversas conguraes testadas. Esse fator deve-se especialmente quantidade de classes envolvidas no problema de classicao. medida que os conjuntos de treinamento aumentavam de tamanho, a rede necessitava de muito mais tempo para convergir e algumas vezes no convergia aps vrios dias de simulao Diante desse problema, foi necessrio buscar-se uma outra estratgia. Em sees anteriores foi citado que a estratgia de classicao multiclasses utilizada por LIBSVM um-versus-um, que constri

classicadores binrios, onde

o nmero de

classes. Para realizar o experimento comparativo optou-se por reproduzir a mesma estratgia de treinamento com Redes Neurais. Entretanto, percebeu-se que para as 100 classes de objetos da COIL100, seria produzida uma quantidade elevada de classicadores (4.950) para cada conjunto de treinamento. Considerando-se a mesma variao no tamanho dos conjuntos de treinamento/teste do experimento anterior (71 conjuntos), teriam que ser construdos portanto, um total de (4.950*71) classicadores binrios. O elevado nmero de classicadores a serem construdos, determinou uma reduo no nmero de classes envolvidas para que o experimento fosse realizado no tempo disponvel para concluso desta dissertao. Optou-se, portanto, pela reduo das 100 classes para apenas 10 classes de objetos, as quais geraram 45 classicadores binrios para cada tamanho de conjunto de treinamento/teste (71 conjuntos). Foram escolhidas as 10 primeiras classes que compem a COIL100. A Figura 4.11 apresenta os objetos utilizados.

Figura 4.11: 10 classes da COIL100 usadas no experimento 3.

O sistema de reconhecimento usando SVM foi implementado seguindo a mesma ordem do experimento anterior: pr-processamento, formao dos conjuntos de treinamento/teste, treinamento de classicadores e avaliao de desempenho. A diferena nesta etapa foi a

4.3 Experimentos Utilizando a Base de Dados COIL100

96

quantidade de classes envolvidas, apenas as 10 primeiras, e o tipo de kernel, polinomial quadrtico, o qual apresentou os melhores resultados na etapa anterior. importante destacar que parmetros como: C,

e , assumiram tambm os mesmos valores anteriores. Esses

estgios no sero descritos nesta seo, uma vez que podem ser vistos na seo anterior. Esta seo apresentar o experimento utilizando Redes Neurais, os resultados obtidos e far a comparao com os resultados obtidos com SVM. O sistema de reconhecimento utilizando Redes Neurais pode ser dividido em cinco etapas: pr-processamento, denio da arquitetura, construo dos conjuntos de treinamento/teste, construo dos classicadores binrios e avaliao de desempenho. A Figura 4.12 ilustra essas etapas.
Construo dos conjuntos de treinamento/teste
Construo dos classificadores binrios

Pr processamento

Definio da arquitetura

Avaliao de desempenho

Figura 4.12: Arquitetura do experimento com Redes Neurais.

Pr-processamento Esta etapa foi a mesma realizada no experimento anterior. As imagens foram convertidas para nveis de cinza e redimensionadas para uma retina de 32x32 pixels. Denio da Arquitetura Considerando que as imagens foram redimensionadas da forma acima, a primeira camada da rede foi constituda por 1024 neurnios. Como tratavam-se de classicadores binrios, a camada de sada foi constituda por 2 neurnios. Utilizou-se apenas uma camada escondida. O nmero de neurnios na camada escondida foi determinado atravs de experimentos que objetivaram minimizar o nmero de ciclos necessrios para a rede convergir. Os resultados ocorreram com 4 neurnios na camada escondida. A Tabela 4.7 sumariza a arquitetura da rede.

4.3 Experimentos Utilizando a Base de Dados COIL100

97

Camadas Entrada Escondida Sada

N de Neurnios 1024 4 2

Tabela 4.7: Arquitetura das Redes Neurais.

Construo dos conjuntos de treinamento/teste Foram construdos conjuntos de treinamento/teste de diferentes tamanhos, como nos experimentos anteriores. Todas as 72 vises das 10 classes foram utilizadas. Como na fase anterior, 71 conjuntos de treinamento/teste foram criados, com amostras de teste por classe, com aleatoriamente. Construo dos classicadores binrios Para cada valor de

 A'('('$

amostras de treinamento e (

. As vises tambm foram selecionadas

, 45 classicadores binrios foram construdos, manipulando as 10

classes envolvidas no problema. A cada iterao (mudana no valor de ) as vises aleatrias foram selecionadas. As vises escolhidas para cada classe, considerando um certo valor de T, mantiveram-se as mesmas para todos os classicadores. Por exemplo, as vises da classe 1 que constituram o classicador binrio 1-2, foram as mesmas que constituram o classicador 1-3, e assim sucessivamente, para cada valor de . Todos os classicadores foram produzidos usando a mesma arquitetura descrita anteriormente. Portanto gerou-se 45 redes treinadas para cada valor de T. Ao nal de cada iterao, a preciso do classicador foi avaliada. Avaliao de desempenho Para cada conjunto de treinamento com

vises, um conjunto de teste com (72-T) vises

foi gerado. Os conjuntos de teste foram utilizados para avaliar a preciso alcanada pelas Redes Neurais. importante destacar que as mesmas vises usadas para treinar os classicadores neurais binrios foram tambm treinadas com SVM. Os mesmos arquivos de teste foram utilizados

4.3 Experimentos Utilizando a Base de Dados COIL100 para a avaliao de desempenho de ambas as tcnicas.

98

O processo envolvendo SVM foi o mesmo do experimento anterior. Quanto s Redes Neurais, os conjuntos de teste foram utilizados como padres de entrada para as redes treinadas na fase anterior, ou seja, o conjunto de teste (72-T) foi submetido aos 45 classicadores gerados para

vises. Para vericar a preciso alcanada, a mesma estratgia de votao

utilizada pela biblioteca LIBSVM foi implementada. Cada padro que compunha o conjunto de teste foi analisado, vericando-se a quantidade de vezes (votos) que o padro foi reconhecido como sendo de uma determinada classe. Ao nal, quando o mesmo padro foi apresentado a todos os 45 classicadores, vericou-se a classe que obteve o maior nmero de votos. Um acerto foi computado toda vez que a classe com o maior nmero de votos (vencedora) coincidiu com a classe real do padro. Quando existiu 2 ou mais classes vencedoras, ento foi considerada apenas a classe de menor ndice como vencedora. SVM apresentou uma pequena superioridade em relao s Redes Neurais. A Figura 4.13 mostra esses resultados atravs das curvas de reconheciemento obtidas a partir da mdia das 10 classes.
Desempenho de SVM x Redes Neurais 100

90

Taxa de reconhecimento

80

70

60

50 Tecnica SVM Redes Neurais 40 0 10 20 30 40 50 60 Numero de amostras de treinamento (T) por classe 70 80

Figura 4.13: Curvas de reconhecimento para SVM e Redes Neurais, na base COIL100.

A taxa mdia de reconhecimento de Redes Neurais foi 87,79% e 89,98% para SVM. A melhor taxa de MLP foi 100% para T=69 e 100% para SVM, com T=68. A pior taxa foi

4.4 Concluso

99

49,58% para MLP, com T=1 e 59,72% para SVM, com T=1. A Tabela 4.8 resume esses resultados. Tcnica SVM MLP Pior Taxa 59,72

Melhor Taxa 100

Taxa Mdia 89,98

T=1

T=68

49,58

T=1

100

T=69

87,79

Tabela 4.8: Taxas de reconhecimento obtidas com Redes Neurais e SVM na base COIL100.

Os resultados obtidos mostraram que ambas as tcnicas apresentam desempenho semelhante, com uma superioridade para SVM, no problema de reconhecimento de objetos baseado na aparncia, usando as 10 primeiras classes de objetos da base de imagens COIL100. Alm do desempenho, as tcnicas apresentaram comportamento semelhante, medida que a quantidade de vises aumentou, as taxas de reconhecimento aumentaram tambm. Ambas alcanaram 100% de preciso antes de utilizar as 71 vises para treinamento.

4.4 Concluso
Os experimentos descritos neste captulo objetivaram reforar a compreenso da tcnica SVM, reforar resultados obtidos na literatura recente da tcnica e realizar um estudo experimental comparativo entre SVM e Redes Neurais MLP Backpropagation, no problema de reconhecimento de objetos baseado na aparncia. Os resultados do primeiro experimento deste captulo foram publicados em [dos Santos and Gomes, 2001]. Os resultados do segundo experimento foram aceitos para publicao em [dos Santos and Gomes, 2002]. Um trabalho descrevendo todos os captulos desta dissertao est sendo submentido para o I Workshop de Teses e Dissertaes em Inteligncia Articial. O prximo captulo apresenta as concluses gerais desta dissertao e as perspectivas para trabalhos futuros.

Captulo 5 Concluses
Esta dissertao apresentou a tcnica de aprendizagem de mquina SVM como uma opo para realizar a tarefa de reconhecimento de objetos baseado na aparncia. Investigou o desempenho da tcnica na soluo desse tipo de problema, comparou trs tipos de SVM entre si e comparou SVM com outra tcnica mais clssica, Redes Neurais. Alm da parte experimental discutida acima, esta dissertao tambm procurou apresentar a teoria que formaliza SVM. O Captulo 2 descreve o esquema matemtico que envolve as etapas de treinamento e teste, especicamente para a rea de Reconhecimento de Padres. importante ressaltar que a teoria fundamental para a compreenso de SVM envolve duas reas de pesquisa, Teoria da Aprendizagem Estatstica e Otimizao Matemtica, as quais no so geralmente parte dos currculos de Cientistas da Computao. Portanto, nesta dissertao procurou-se apresentar SVM utilizando uma linguagem mais didtica e acessvel.

5.1 Sumrio da Dissertao


O Captulo 2 apresentou as duas teorias fundamentais de SVM. Sem esse conhecimento seria difcil assimilar como o treinamento de SVM realizado (atravs da soluo de um problema quadrtico convexo) e como os vetores de suporte so extrados (considerando-se a margem de separao mxima). Os conceitos acima so igualmente importantes, para uma melhor compreeno da fase de teste, quando os vetores de suporte so utilizados como parmetros que determinam a que classe um padro no conhecido pertence. Um outro conceito importante para SVM a funo kernel. Os mtodos de aprendi100

5.1 Sumrio da Dissertao

101

zagem basedos em kernel esto ganhando muito espao nas conferncias e peridicos de aprendizagem de mquina. Esse crescimento deve-se especialmente, ao desenvolvimento das pesquisas com SVM. Constitui uma outra rea de pesquisa em separado e envolve outras metodologias de aprendizagem de mquina como, Redes Neurais, PCA, Funes de Base Radial, etc. Apesar da complexidade conceitual, o Captulo 3 procurou relacionar as principais linhas de pesquisa na rea de SVM. O objetivo do captulo foi apresentar os conceitos de forma clara, evitando muitos termos tcnicos, mas sem negligenciar os conceitos fundamentais. Essa meta foi proposta para apresentar um contedo mais compreensvel, o que no acontece na literatura tpica de SVM. Trata-se portanto, de uma rea de pesquisa que est em franco desenvolvimento, restrita ainda a poucos grupos, porm j alcanando um pblico maior. Como a teoria totalmente formalizada, embora ainda haja muito a ser explorado, o enfoque da maioria dos trabalhos so as aplicaes. Busca-se um dimensionamento do poder de abrangncia de SVM em problemas prticos. Um dos problemas investigados o reconhecimento de objetos baseado na aparncia, que pode ser til na maioria das tarefas que envolvem navegao, Robtica, sistemas de segurana, entre outras tarefas em que a Viso de Mquina requerida. Esta dissertao, alm de apresentar a descrio conceitual, tambm investigou o comportamento de SVM no problema prtico de reconhecimento baseado na aparncia. Para a realizao de um estudo prtico, descrito no Captulo 4, foram utilizadas bibliotecas e bases de imagens disponveis ao pblico, para pesquisas com ns no comerciais. Os experimentos foram divididos em trs grupos, utilizando uma estratgia de variar o tamanho dos conjuntos de treinamento e teste. A primeira etapa de experimentos avaliou o comportamento e a preciso de SVM no problema de classicao de 10 classes de objetos, com 20 vises de cada. O kernel utilizado foi o polinomial quadrtico. A taxa mdia de reconhecimento foi 90 . Os resultados obtidos conrmaram que SVM aplicvel ao problema,

tm seu desempenho de reconhecimento aumentado quando treinada com muitas vises e que se comporta como a maioria das demais tcnicas. O segundo experimento constou de um estudo comparativo entre trs tipos de kernel polinomial: linear, quadrtico e cbico, na base de imagens COIL100. Os resultados obtidos reforaram outros resultados da literatura de que o tipo de kernel normalmente no interfere

5.2 Perspectivas de Trabalhos Futuros

102

muito na preciso nal do classicador. Os trs kernels pesquisados apresentaram resultados muito prximos, com uma pequena superioridade para o quadrtico. O terceiro experimento envolveu um estudo experimental comparativo entre SVM e Redes Neurais do tipo Multilayer Perceptron Backpropagation, para a vericao do desempenho de ambas as tcnicas, considerando-se apenas 10 classes de objetos da base de imagens COIL100. SVM apresentou uma pequena superioridade em mdia de (2,19%) em relao Redes Neurais, o que refora que SVM uma tcnica totalmente vivel para problemas de classicao de padres, em especial para problemas de reconhecimento baseado na aparncia. Todos esses experimentos contriburam para uma compreenso mais prtica da tcnica, reforando o conhecimento terico e conrmaram a aplicabilidade de SVM ao problema de reconhecimento de objetos 3D, a partir de vises 2D.

5.2 Perspectivas de Trabalhos Futuros


Algumas sugestes de trabalhos futuros so apresentadas a seguir:

Realizar experimentos para avaliao de SVM em comparao com Redes Neurais, utilizando as 100 classes da base de imagens COIL100. O que no foi possvel ser realizado nesta dissertao por limitaes de tempo.

Realizar experimentos variando apenas o tamanho dos conjuntos de treinamento e mantendo um nico conjunto de teste.

Testar extenses de SVM. Conforme foi citado, j foram propostas modicaes para o algoritmo padro. Uma possibilidade seria realizar um estudo comparativo entre esses algoritmos para determinar o mais indicado ao problema.

Estudo comparativo entre metodologias de classicao multi-classes. A maioria das estratgias j foram objeto de experimentos, porm metodologias mais recentes como por exemplo [Weston and Watkins, 1999] indicam a possibilidade de adicionar a representao multi-classes diretamente ao problema de otimizao resolvido em SVM. Portanto, um possvel trabalho poderia ser um estudo comparativo entre essas metodologias.

5.2 Perspectivas de Trabalhos Futuros

103

Estudo de implementao com processadores dedicados em que no seja necessrio diminuir a dimenso das imagens das bases de dados.

Uma outra perspectiva de trabalho futuro seria estender o domnio de aplicao de SVM. Esta dissertao restringiu-se ao domnio de Reconhecimento de Padres, mas SVM pode ser aplicado a outros tipos de problemas como Regresso e Deteco de Novidades. As formulaes de SVM sofrem algumas mudanas dependendo do tipo de problema. O que no foi explorado nesta dissertao.

Divulgar a contribuio terica atravs de tutorial, artigo etc, com o intuito de transferir o conhecimento sistematizado nesta dissertao.

Bibliograa
[Barabino et al., 1999] Barabino, N., Pallavicini, M., et al. (1999). Support vector machines vs multi-layer perceptrons in particle identication. In Proceedings of European Symposium on Articial Neural Network. [Brown et al., 2000] Brown, M. P. S., Grundy, W., et al. (2000). Knowledge-based analysis of microarray gene expression data using support vector machines. National Academy of Sciences, (1):262267. [Burges, 1998] Burges, C. J. (1998). A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, pages 243245. [Campbell, 2000] Campbell, C. (2000). Kernel methods: A survey of current techniques. http://citeseer.nj.nec.com/campbell00kernel.html. [Chang et al., 2000] Chang, C.-C., Hsu, C.-W., and Lin, C.-J. (2000). The analysis of decomposition methods for support vector machines. IEEE Transactions on Neural Networks, 11(4):10031008. [Chang and Lin, 2001a] Chang, C.-C. and Lin, C.-J. (2001a). Libsvm: a library for support vector machines (version 2.31). http://citeseer.nj.nec.com/chang01libsvm.html. [Chang and Lin, 2001b] Chang, C.-C. and Lin, C.-J. (2001b). Training  -support vector classiers: Theory and algorithms. Neural Computation, (9):21192147. [Collobert and Bengio, 2001] Collobert, R. and Bengio, S. (2001). Svmtorch: Support vector machines for large-scale regression problems. Journal of Machine Learning Research, 1:143160.

104

BIBLIOGRAFIA

105

[Correia, 2000] Correia, S. E. N. (2000). Reconhecimento de caracteres numricos manuscritos usando transoformada de wavelet. Dissertao de mestrado, COPELE-Universidade Federal da Paraba. [Cortez, 1996] Cortez, P. C. (1996). Reconhecimento de formas 2d usando uma tcnica sequencial integrada e modelos poligonais. Universidade Federal da Paraba. [Cristianini and Shawe-Taylor, 2000] Cristianini, N. and Shawe-Taylor, J. (2000). An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. Cambridge University Press. [da Silva, 1999] da Silva, V. C. (1999). Identicao de vrtices em imagens multi-vista de formas 3d. Dissertao de mestrado, COPIN-Universidade Federal da Paraba. [de Alcntara Morais, 1998] de Alcntara Morais, M. R. (1998). Sistema de prototipagem rpida dirigida ao processamento de imagens. Dissertao de mestrado, COPELEUniversidade Federal da Paraba. [de Arruda, 1997] de Arruda, A. E. M. (1997). Avaliao de mtodos de limiarizao para segmentao de imagens de tomograa do fgado em oncologia. Dissertao de mestrado, COPELE-Universidade Federal da Paraba. [de Ftima Santos Farias, 1997] de Ftima Santos Farias, M. (1997). Reconhecimento de objetos 3d atravs de atributos de superfcies de modelos poliedrais. Dissertao de mestrado, COPELE-Universidade Federal da Paraba. [dos Santos and Gomes, 2001] dos Santos, E. M. and Gomes, H. M. (2001). Appearance based object recognition using support vector machines. In XIV Brazilian Symposium on Computer Graphics and Image Processing, page 399. [dos Santos and Gomes, 2002] dos Santos, E. M. and Gomes, H. M. (2002). A comparative study of polynomial kernel svm applied to appearance based object recognition. A ser publicado em Proceedings of the International Workshop on Pattern Recognition with Support Vector Machines, Lecture Notes in Computer Science, Windsor, Canad. Dissertao de mestrado, COPELE-

BIBLIOGRAFIA

106

[Duda et al., 2000] Duda, R. O., Hart, P. E., and Stork, D. (2000). Pattern Classication. Wiley-Interscience, 2nd edition. [Dumais et al., 1998] Dumais, S., Platt, J., Heckerman, D., and Sahami, M. (1998). Inductive learning algorithms and representations for text categorization. In In Proceedings of ACM 7th International Conference on Iformation and Knowledge Management, pages 148155. [Eghbalnia and Assadi, 2001] Eghbalnia, H. and Assadi, A. (2001). An application of support vector machines and symmetry to computational modeling of perception through visual attention. Neurocomputing, (40):11931201. [Evgeniou et al., 1999] Evgeniou, T., Pontil, M., and Poggio, T. (1999). A unied framework for regularization networks and support vector machines. Technical Report AIM1654. [Franklin, 1995] Franklin, S. P. (1995). Articial Minds. MIT Press. [Gill et al., 1981] Gill, P., Murray, W., and Wright, M. H. (1981). Practical Optimization. Academic Press. [Ginsberg, 1993] Ginsberg, M. (1993). Essentials of Articial Intelligence. Morgan Kaufmann Publishers. [Gonzalez, 1993] Gonzalez, R. (1993). Digital Image Processing. Addison-Wesley Publising Company. [Gottfried and Weisman, 1973] Gottfried, B. S. and Weisman, J. (1973). Introduction to Optimization. Series in Industrial and Systems Engineering. Prentice-Hall. [Grove and Fisher, 1996] Grove, T. and Fisher, R. (1996). Attention in iconic object matching. In Proceedings of British Machine Vision Conference, volume 1, pages 293302, Edinburgh, Scotland. [Gunn, 1998] Gunn, S. (1998). Support vector machines for classication and regression. Technical Report ISIS-1-98, Department of Electronics and Computer Science, University of Southampton.

BIBLIOGRAFIA

107

[Hadzic and Kecman, 2000] Hadzic, I. and Kecman, V. (2000). Support vector machines trained by linear programming. theory and application in image compression and data classication. In Proceedings of Neurel 2000-IEEE Fifth Seminar on Neural Network Applications in Electrical Engineering, pages 1823. [Haykin, 1999] Haykin, S. (1999). Neural Networks a Comprehensive Foundation. Prentice Hall. [Hearst, 1998] Hearst, M. A. (1998). Support vector machines. IEEE Intelligent Systems, pages 1828. [Jaakkola and Haussler, 1998] Jaakkola, T. and Haussler, D. (1998). Exploiting generative models in discriminative classiers. In Kearns, M., Solla, S., and Cohn, D., editors, Advances in Neural Information Processing Systems 11. MIT Press. [Joachims, 1998] Joachims, T. (1998). Text categorization with support vector machines: learning with many relevant features. In Proceedings of 10th European Conference on Machine Learning, number 1398, pages 137142. Springer Verlag, Heidelberg, DE. [Joachims, 1999] Joachims, T. (1999). Making large-scale svm learning practical. In

B. Schlkopf, C. B. e. A. J. S., editor, Advances in Kernel Methods - Support Vector Learning, pages 169184. MIT Press. [Jonsson et al., 1999] Jonsson, K., Kittler, J., Li, Y., and Matas, J. (1999). Support vector machines for face authentication. In Proceedings British Machine Vision Conference (BMVC99), pages 543553. [Kwok, 1998] Kwok, J. T.-Y. (1998). Support vector mixture for classication and regression problems. In International Conference on Pattern Recognition (ICPR), pages 255258. [Kwong and Gong, 1999] Kwong, J. N. S. and Gong, S. (1999). Learning support vector machines for a multi-view face model. In Proceedings of British Machine Vision Conference, September 1999., pages 503512, Nottingham, UK. [Lasdon, 1970] Lasdon, L. S. (1970). Optimization Theory for Large Systems. Macmillan Publishing.

BIBLIOGRAFIA [Marr, 1982] Marr, D. (1982). Vision. W.H. Freeman & Company.

108

[Matter and Haykin, 1999] Matter, D. and Haykin, S. (1999). Support vector machines for dynamic reconstruction of chaotic system. In B. Schlkopf, C. B. e. A. J. S., editor, Advances in Kernel Methods - Support Vector Learning, pages 211241. MIT Press. [Mattera et al., 1999] Mattera, D., Palmieri, F., and Haykin, S. (1999). An explicit algorithm for training support vector machines. IEEE Signal Processing Letters, 6(9):243245. [M.Gomes et al., 1998] M.Gomes, H., Fisher, R. B., and Hallan, J. (1998). A retina-like image representation of primal sketch features extracted using neural network approach. In Proceedings Noblesse Workshop on Non-Linear Model Based Image Analysis, pages 251256. [Mller et al., 2001] Mller, K.-R., Mika, S., et al. (2001). An introduction to kernel-based learning algorithms. IEEE Transactions on Neural Networks, 12(2):181201. [Murase and Nayar, 1995] Murase, H. and Nayar, S. K. (1995). Visual learning and recognition of 3-d object from appearance. Computer Vision, pages 524. [Murtagh and Saunders, 1993] Murtagh, B. A. and Saunders, M. A. (1993). Minos 5.4 users guide. Technical Report SOL 83.20. [Nayar et al., 1996] Nayar, S. K., Nene, S. A., and Murase, H. (1996). Real-time 100 objects recognition system. In Proceedings of ARPA Image Understanding Workshop. [Osuna et al., 1997a] Osuna, E., Freund, R., and Girosi, F. (1997a). Support vector machines: Training and applications. Technical Report AIM-1602. [Osuna et al., 1997b] Osuna, E., Freund, R., and Girosi, F. (1997b). Training support vector machines:an application to face detection. In Proceedings Conference on Computer Vision and Pattern Recognition (CVPR 1997). [Osuna and Girosi, 1999] Osuna, E. and Girosi, F. (1999). Reducing the run-time complexity in support vector machines. In B. Schlkopf, C. B. e. A. J. S., editor, Advances in Kernel Methods - Support Vector Learning, pages 271283. MIT Press.

BIBLIOGRAFIA [Penrose, 1995] Penrose, R. (1995). Shadows of the mind. Vintage.

109

[Platt, 1999] Platt, J. (1999). Fast training of support vector machines using sequential minimal optimization. In B. Schlkopf, C. B. e. A. J. S., editor, Advances in Kernel Methods - Support Vector Learning, pages 185208. MIT Press. [Pontil and Verri, 1998] Pontil, M. and Verri, A. (1998). Support vector machines for 3d object recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(February):637646. [Ribeiro, 2001] Ribeiro, S. F. (2001). Um sistema de viso inteligente para deteco e reconhecimento e peas em um tabuleiro de xadrez em tempo real. Dissertao de mestrado, COPIN-Universidade Federal da Paraba. [Rich and Knight, 1991] Rich, E. and Knight, K. (1991). Articial Intelligence. McGrawHill. [Roobaert, 1999] Roobaert, D. (1999). Improving the generalization of linear support vector machines: an application to 3d object recognition with cluttered background. In Proceedings of SVM Workshop at the 16th International Joint Conference on Articial Intelligence. [Roobaert, 2000] Roobaert, D. (2000). Directsvm: a simple support vector machine perceptron. In IEEE Int. Workshop Neural Networks for Signal Processing, pages 356365. [Roobaert et al., 2000] Roobaert, D., Nillius, P., and Eklundh, J.-O. (2000). Comparison of learning approaches to appearance-based 3d object recognition with and without cluttered background. In Proceedings of the Fourth Asian Conference on Computer Vision (ACCV00, pages 443448. [Roth et al., 2000] Roth, D., Yang, M.-H., and Ahuja, N. (2000). Learning to recognize objects. In IEEE Conference on Computer Vision and Pattern Recognition, pages 724 731. [Russel and Norvig, 1995] Russel, S. and Norvig, P. (1995). Articial Intelligence, a modern approach. Series in Articial Intelligence. Prentice Hall.

BIBLIOGRAFIA

110

[Schlkop et al., 1999] Schlkop, B., Smola, A. J., and Mller, K. R. (1999). Kernel principal component analysis. In B. Schlkopf, C. B. e. A. J. S., editor, Advances in Kernel Methods - Support Vector Learning, pages 327352. MIT Press. [Schlkopf, 1997] Schlkopf, B. (1997). Support Vector Learning. PhD thesis, Universidade de Berlin. [Schlkopf et al., 1999a] Schlkopf, B., Burges, C., and Smola, A. (1999a). Advances in Kernel Methods - Support Vector Learning. MIT Press. [Schlkopf et al., 1999b] Schlkopf, B., J.Platt, et al. (1999b). Estimating the support of a high-dimensional distribution. Technical Report Microsof Research 99-87. [Schwenker, 2000] Schwenker, F. (2000). Hierarchical support vector machines for multiclass pattern recognition. In Proceedings Fourth International Conference on KnowledgeBased Intelligent Engineering Systems, September 2000, pages 561565, Brighton, UK. [Stitson et al., 1996] Stitson, M., Weston, J., Gammerman, A., et al. (1996). Theory of support vector machines. Technical Report CSD-TR-96-17, Computational Intelligence Group, Royal Holloway, University of London. [Suykens and Vandewalle, 1999] Suykens, J. and Vandewalle, J. (1999). Training multilayer perceptron classiers based on a modied support vector method. IEEE Transactions on Neural Networks, (4):907911. [Tipping, 2000] Tipping, M. (2000). The relevance vector machine. In Advances in Neural Information Processing Systems. MIT Press. [Vanderbei, 1997] Vanderbei, R. J. (1997). Loqo 3.10 users manual. Technical Report SOR-97-08. [Vapnik, 1995] Vapnik, V. N. (1995). The Nature of Statistical Learning Theory. SpringerVerlag, New York. [Vapnik, 1999] Vapnik, V. N. (1999). The Nature of Statistical Learning Theory. Springer Verlag, New York, 2nd edition.

BIBLIOGRAFIA

111

[Veloso, 1998] Veloso, L. R. (1998). Reconhecimento de caracteres numricos manuscritos. Dissertao de mestrado, COPELE-Universidade Federal da Paraba. [Weston and Watkins, 1999] Weston, J. and Watkins, C. (1999). Support vector machines for multiclass pattern recognition. In Proceedings of the Seventh European Symposium On Articial Neural Networks. [Weston, 1999] Weston, J. A. E. (1999). Extensions to the Support Vector Method. PhD thesis, Royal Holloway University of London. [Yang and Ahuja, 2000] Yang, M.-H. and Ahuja, N. (2000). A geometric approach to train support vector machines. In Proceedings Conference on Computer Vision and Pattern Recognition (CVPR 2000), pages 430437. [Z. Li and Licheng, 2000] Z. Li, Z. W. and Licheng, J. (2000). Pre-extracting support vectors for support vector machine. In Proceedings of the 5th International Conference on Signal Processing, pages 14321435.