Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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
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 . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
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
Preciso mdia alcanada utilizando k-fold cross validation, com k=10. . . Arquitetura das Redes Neurais. . . . . . . . . . . . . . . . . . . . . . . . .
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.
Base de Conhecimento
Elemento de Desempenho
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
SISTEMA DE APRENDIZAGEM
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
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.
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
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.
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
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
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.
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
12
principais objetivos so estudar a tcnica SVM e investigar sua aplicao aprendizagem de objetos visuais, com representao baseada na aparncia.
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.
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
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.
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.
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.
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.
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.
, 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,
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
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
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
particular
gera o que podemos chamar de mquina treinada, por exemplo: uma Rede Neural com arquitetura denida, com dizagem nesse sentido.
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.
, a qual re-
presenta uma medida de discrepncia entre a resposta desejada do supervisor, para uma
F
O objetivo encontrar a funo que minimiza a funcional de risco probabilidade conjunta
B
(2.2)
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
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.
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
,
F
na qual a medida de probabilidade (amostra i.i.d) so conhecidos,
$
(2.4)
descreve um par
" , '('(' , 0
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.
, 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
F
4 "
45
(2.5)
"$A'('('A 0 .
24
0
pela funo
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
por
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
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
mero mximo de pontos de treinamento que podem ser separados em todas as combinaes
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.
Se para qualquer h algum conjunto de vetores que podem ser separados pelo conjunto
,
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)
$#&%
!('
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]
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].
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)
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
'
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,
"
'
,
inequao:
43
( 0 ) !#"%$'& ( 1% 2
7
para todo A7
para todo
, denido
0 ,
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
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
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.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-
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
, denidas
Minimize Sujeito a
(2.10)
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
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 Quadrtica: quando a funo objetivo quadrtica e as restries so lineares. Neste caso, a forma da funo objetivo :
-vetor , w a varivel desconhecida,
" ! 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,
31
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.
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
4 "
4 4
(2.12)
32
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
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
"
(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
33
(2.16)
A relao 2.20 a chamada condio complementar Karush-Kuhn-Tucker (KKT) [Cristianini and Shawe-Taylor, 2000]. Essa relao implica em
4
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-
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
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
&
(2.21)
4 " 4 % 4 4 " 4 4 %
(2.22)
9 "
(2.23)
!
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
ponto zero, no sendo porm, ponto de mximo nem ponto de mnimo porque as prximas derivadas de
'
!
que os problemas dual e primal tm o mesmo valor. Teorema de dualidade forte Dado um problema de otimizao com domnio convexo
35
e em que
4 e 4 so funes ans,
minimize sujeito
(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 "
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.
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.
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.
(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
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
'
, em que
. Seja
a menor distncia entre o hiperplano de separao e os pontos na fronteira da classe positiva fronteira da classe negativa ( (
), e
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)
34 H45'
9@
(2.27)
H4 '
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
'
39
'
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
'
'
, 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
minimize
sujeito a
34 H 4 '
8
'
9 ( '('A'A
(2.28)
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
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
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].
41
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-
em relao a
0 34 4 4 "
4 "
34 4 H4
(2.31)
(2.32)
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)
42
o problema primal e
ou maximizao
" ou
@4
treinamento. Eles esto na fronteira, ou seja, mais prximos do hiperplano de deciso. Todos os outros pontos tem
4
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)
equivalente a encontrar uma soluo para as condies KKT. Como os chamados vetores de suporte possuem vidos na expresso do vetor peso
4 "
64 4 H4
(2.37)
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:
43
Maximize
Sujeito a
34 4 4 " 4 8 9 ( '('A'A
F
4 "
4 "
34 4 H4 '
(2.39)
Dado
" ('('('$ 0
'
na qual
vetores de suporte
4 H45' 34
(2.40)
F
14 so os vetores de suporte, 4
vetores de suporte
64 4 H45'
(2.41)
em que
'
('
(2.42)
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.
44
H45' 8 A4 H45' A 4 A4 8
64 para 64 9
para
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,
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].
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
e seus multiplicadores de
45
Maximize
Sujeito a
4 " 4 64 4 " 4
42 64 H4
(2.47)
4 34 H4
(2.48)
F4 tm um limite superior
w H2 b ||w|| origem
H1
||w||
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)
A Equao (2.49) praticamente igual Equao (2.36), com a diferena que o termo
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
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
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
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
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
'
pode-se
% ' 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
(2.54) de dimenso
. 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
$'
F
&'
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 '" "'
' ' ' '
(2.57)
nos quais os monmios so distribudos de uma forma que d condies para que o kernel
prova formal pode ser encontrada em [Schlkopf, 1997]. Seja uma funo que mapeia para o vetor
8
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..
#"$('('A'A H E G
" &('('(')
(2.59)
2.3 Support Vector Machines Esse passo equivalente ao mapeamento do espao de entrada
49
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
O
X
(O)
O O
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
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
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
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:
$'
;
'
&'
$' $'
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:
% %
(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
(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
51
B45
54 .
(2.63)
Com a funo kernel, a funo de separao (ou de deciso) passa a ser representada como:
9
%
64 4 H45' "
B4
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
52
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
(')
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
53
F
4 "
' H4
"
(2.68)
a arquitetura da mquina de duas camadas, determinando o nmero N de unidades escondidas (o nmero de vetores de suporte);
4 1 9
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
prtica, em um nico passo. Os resultados so linearmente combinados pelos pesos encontrados pela soluo de um problema quadrtico (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
(x1)
(x2)
(x)
(xn)
Vetores de Suporte
x1... x n
Vetor de teste x
aparncia. O objetivo conrmar a alta preciso de SVM e observar o comportamento da tcnica sob diferentes condies experimentais..
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
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].
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
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
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.
59
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-
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.
64
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
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}
{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
disponvel
http://www.research.att.com/ lewis/reuters21578.html. Foram usadas 12.902 notcias da Reuters, classicadas em 118 categorias, 75
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
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
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 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 Aplicaes
69
cimento. A Figura 3.3 mostra imagens de um objeto, visto sob 10 ngulos diferentes, que pode ser reconhecido pela aparncia.
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/
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.
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.
74
reconhecimento de objetos, uma toolbox para o simulador Matlab parecia o mais ideal. Trs toolboxs foram avaliadas.
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/
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).
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-
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/
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-
77
Chung Chang e Chih-Jen Lin [Chang and Lin, 2001a], est disponvel em http://www.csie.ntu.edu.tw/
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.
78
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.
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.
79
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
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
80
'('(' ,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:
81
C 1
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
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.
82
95
90 (% de acertos)
85
80
75
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.
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.
84
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 .
85
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 '
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
e . Diante disso,
tambm seria necessrio realizar experimentos para denir que valores dessas variveis (sa-
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
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
'('('
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
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,
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.
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
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
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
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
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
variando o valor de , indicaram o valor 1 como ideal. A Tabela 4.4 sintetiza os parmetros denidos para o treinamento.
90
1, 2 e 3
1000 10 1
, , .
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
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
91
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 (
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.
para o
cbico e 81,20
93
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-
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.
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
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.
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
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,
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
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.
97
N de Neurnios 1024 4 2
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 (
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
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
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
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.
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
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.
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.
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.
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.