máquinas de vetores suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · resumo este...

224
Máquinas de Vetores Suportes SAMUEL BELINI DEFILIPPO Monografia final de curso sob orientação do Prof. Raul Fonseca Neto Juiz de Fora, MG fevereiro de 2004

Upload: hoangminh

Post on 29-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

1

Máquinas de Vetores Suportes

SAMUEL BELINI DEFILIPPO

Monografia final de curso sob orientação

do Prof. Raul Fonseca Neto

Juiz de Fora, MG fevereiro de 2004

Page 2: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

2

Máquinas de Vetores Suportes

SAMUEL BELINI DEFILIPPO MONOGRAFIA SUBMETIDA AO CORPO DOCENTE DO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO DA UNIVERSIDADE FEDERAL DE JUIZ DE FORA COMO PARTE INTEGRANTE DOS REQUISITOS NECESSÁRIOS PARA OBTENÇÃO DO GRAU DE BACHAREL EM CIÊNCIA DA COMPUTAÇÃO.

Aprovada por:

Wilhelm Passarella Freire Doutorando em Engenharia de Sistemas e Computaçao– COPPE/UFRJ

Hélio José Corrêa Barbosa Doutor em Engenharia Civil – COPPE/UFRJ

Juiz de Fora, MG fevereiro de 2004

Raul Fonseca Neto (orientador)

Doutor em Engenharia de Sistemas e Computação – COPPE/UFRJ

Page 3: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

i

Agradecimentos

Agradeço a todos que direta e indiretamente me ajudaram a concluir este trabalho.

Especialmente ao meu Orientador que foi muito importante ao me ajudar e influenciar para o estudo aqui publicado.

Page 4: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

ii

Resumo

Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução do problema relacionado ao treinamento de um classificador denominado máquina de vetores suportes (SVM). Trata-se da solução de um problema dual de otimização quadrática colocado sob a forma de Wolfe. O método apresentado tem como embasamento teórico o desenvolvimento de uma rede Perceptron dual cuja topologia está relacionada a uma representação dependente dos dados que computa uma função de saída responsável pela maximização da margem de separação dos dados em um problema de classificação binária. O algoritmo, denominado KPDS, Kernel Perceptron Dual SVM, utiliza uma forma mais estável, porém, com uma menor taxa de convergência, de correção dos multiplicadores, com base no gradiente da função lagrangeana.

Page 5: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

iii

Sumário AGRADECIMENTOS..................................................................................................................................................I RESUMO ...................................................................................................................................................................... II LISTA DE FIGURAS ................................................................................................................................................. V LISTA DE TABELAS..............................................................................................................................................VII CAPÍTULO I – APRENDIZADO SUPERVISIONADO E TEORIAS DE GENERALIZAÇÃO .................. 1

1.1 - APRENDIZADO SUPERVISIONADO E A PARTIR DE DADOS .................................................................................. 3 1.2 - APRENDIZAGEM ESTATÍSTICA E MINIMIZAÇÃO DE RISCOS ............................................................................... 4

1.2.1 - Minimização do Risco Empírico (ERM).................................................................................................. 8 1.2.2 - Minimização de Risco Estrutural (SRM)...............................................................................................11

1.3 - DIMENSÃO VC E SELEÇÃO DE MODELOS......................................................................................................... 14 1.3.1 – Capacidade e poder de generalização: ................................................................................................15 1.3.2 – Projeto de máquinas:.............................................................................................................................16

CAPÍTULO II – DISCRIMINANTES E REGRESSORES ................................................................................19 2.1 - CLASSIFICADORES BAYESIANOS: .................................................................................................................... 19

2.1.1 – Regra de Bayes:......................................................................................................................................20 2.1.2 – Critério MAP:.........................................................................................................................................21 2.1.3 - Naive Bayes:............................................................................................................................................23

2.2 - FUNÇÃO DISCRIMINANTE E SUPERFÍCIE DE DECISÃO ...................................................................................... 25 2.3 – CRITÉRIO ML OU CRITÉRIO DE FISHER:.......................................................................................................... 28 2.4 - MINIMIZAÇÃO DO RISCO DE DECISÃO.............................................................................................................. 32 2.5 - TREINAMENTO POR CORREÇÃO DO ERRO ........................................................................................................ 34

2.5.1 – Regressor linear:....................................................................................................................................34 2.5.2 - Regressor com múltiplas variáveis:.......................................................................................................40 2.5.3 - Método de Newton:.................................................................................................................................46 2.5.4 - Algoritmo LMS, regra delta e ADALINE:.............................................................................................49 2.5.5 - Uso de regressão linear como classificador.........................................................................................55

CAPÍTULO III – PERCEPTRONS ........................................................................................................................58 3.1 – MODELO PERCEPTRON .................................................................................................................................... 58

3.1.1 – Perceptron como superfície de decisão:...............................................................................................59 3.1.2 - Algoritmo de treinamento.......................................................................................................................63 3.1.3 – Critério de custo e correção do erro ....................................................................................................66 3.1.4 – Perceptron de múltiplas saídas:............................................................................................................69 3.1.5 – Perceptron dual:.....................................................................................................................................70 3.1.6 - Convergência do Perceptron:...............................................................................................................73 3.1.7 – Perceptron de votação:..........................................................................................................................75

3.2 - PERCEPTRON E O PROBLEMA XOR:................................................................................................................. 77 3.2.1 – Perceptron multi-camadas (MLP): .......................................................................................................77 3.2.2 - Espaço de características: .....................................................................................................................83 3.2.3 – Base de funções:.....................................................................................................................................86 3.2.4 – Redes RBF e funções de base radial.....................................................................................................90 3.2.5 - RBF e o problema XOR:.........................................................................................................................92

3.3 - PERCEPTRON DE ÓTIMA ESTABILIDADE OU DE LARGA MARGEM.................................................................... 93 3.3.1 – Maximização da margem: .....................................................................................................................96 3.3.2 – Convergência e estabilidade:................................................................................................................98

CAPÍTULO IV – MÁQUINAS DE VETORES SUPORTE (SVM) .................................................................100 4.1 - NORMALIZAÇÃO DA MARGEM E HIPERPLANOS CANÔNICOS......................................................................... 100 4.2 - FORMULAÇÃO MATEMÁTICA LAGRANGEANA:.............................................................................................. 105 4.3 - REPRESENTAÇÃO DEPENDENTE DOS DADOS: ................................................................................................ 107

Page 6: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

iv

4.4 – PERCEPTRON SVM DUAL:............................................................................................................................. 109 4.4.1 – Classificador geométrico: ...................................................................................................................109 4.4.2 – Estratégias de aprendizado:................................................................................................................111

4.5 - SVM COM SOFT MARGIN .............................................................................................................................. 113 4.5.1 – Flexibilização da margem:..................................................................................................................114 4.5.2 – Norma L1: .............................................................................................................................................115 4.5.3 – Norma L2: .............................................................................................................................................118 4.5.4 – Controle da capacidade de generalização:........................................................................................120

4.6 - ANALOGIA MECÂNICA:.................................................................................................................................. 123 4.7 – SVM E MULTI-CLASSIFICAÇÃO: ................................................................................................................... 124

CAPÍTULO V – CLASSIFICADORES KERNEL .............................................................................................127 5.1 – FUNÇÕES KERNEL ......................................................................................................................................... 128

5.1.1 - Espaço e Funções de Características..................................................................................................129 5.1.2 – Problema XOR: ....................................................................................................................................132

5.2 - CONDIÇÕES DE MERCER E UNIVERSALIDADE: .............................................................................................. 135 5.3 - CLASSES E PROPRIEDADES DE FUNÇÕES KERNEL.......................................................................................... 139

5.3.1 - Propriedades de funções Kernel..........................................................................................................139 5.3.2 – Classes de funções Kernel ...................................................................................................................140 5.3.3 – Dimensão VC de funções Kernel.........................................................................................................141

5.4 - PROJETO DE FUNÇÕES KERNEL ...................................................................................................................... 144 5.4.1 – Validação de funções kernel: ..............................................................................................................145 5.4.2 – Kernel baseados em modelos generativos: ........................................................................................146 5.4.3 – Kernel baseados em sintaxes: .............................................................................................................148

5.5 – KERNEL E ESTIMATIVA DE DENSIDADE: ....................................................................................................... 153 5.5.1 - Regra NN ou kNN:................................................................................................................................154 5.5.2 - Mapeamento kernel: .............................................................................................................................156 5.5.3 - Janelas de Parzen:................................................................................................................................156 5.5.4 - Aprendizagem dos parâmetros: ...........................................................................................................159

5.6 – FUNÇÕES KERNEL EM DISCRIMINANTES: ...................................................................................................... 160 5.6.1 – Kernel em Perceptron..........................................................................................................................161

CAPÍTULO VI – SVM: TÉCNICAS E SOLUÇÕES.........................................................................................163 6.1 - ESTRATÉGIAS DE CONJUNTO DE TRABALHO OU DECOMPOSIÇÃO ............................................................... 165

6.1.1 – Decomposição de variáveis:................................................................................................................166 6.1.2 - Formulação do Método:.......................................................................................................................167 6.1.3 – Algoritmo gradiente reduzido: ............................................................................................................169 6.1.4 – Aplicação a SVM:.................................................................................................................................170 6.1.5 – Chunking: .............................................................................................................................................172

6.2 - OTIMIZAÇÃO SEQÜENCIAL MÍNIMA (SMO):TEORIA E IMPLEMENTAÇÃO.................................................. 173 6.2.1 – Escolha das variáveis: .........................................................................................................................173 6.2.2 – Solução do subproblema de otimização:............................................................................................176 6.2.3 – Atualização de parâmetros e cache:...................................................................................................180 6.2.4 – Cálculo da função Kernel:...................................................................................................................180 6.2.5 – Algoritmo SMO:...................................................................................................................................181 6.2.6 – Aplicação a um problema de separabilidade linear:.........................................................................185

6.3 – MÉTODOS ONLINE: TEORIA E IMPLEMENTAÇÃO ......................................................................................... 187 6.3.1 – Algoritmo Kernel Adatron:..................................................................................................................187 6.3.2 – Variantes do Kernel Adatron: .............................................................................................................189 6.3.3 – Algoritmo Kerneltron: .........................................................................................................................194 6.3.4 – Algoritmo KPSD: .................................................................................................................................198 6.3.5 – Aplicação a um problema de separabilidade linear:.........................................................................203 6.3.6 – Aplicação a um problema de separabilidade não linear: .................................................................205

CAPÍTULO VII – CONSIDERAÇÕES FINAIS E SUGESTÕES FUTURAS ..............................................208 REFERÊNCIAS BIBLIOGRÁFICAS..................................................................................................................211

Page 7: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

v

Lista de Figuras FIGURA I-1 – SISTEMAS ADAPTATIVOS........................................................................................................................... 2 FIGURA I-2 – PROBLEMA DE CLASSIFICAÇÃO ................................................................................................................ 6 FIGURA I-3 – RELAÇÃO DE ERRO, COMPLEXIDADE E ESPAÇO DE HIPÓTESES.............................................................. 13 FIGURA I-4 – POSSÍVEIS DICOTOMIAS PARA TRÊS PONTOS EM R2............................................................................... 14 FIGURA I-5 – RELAÇÃO ENTRE COMPLEXIDADE, CONFIDÊNCIA E RISCOS .................................................................. 16 FIGURA II-1 – PROBABILIDADE DAS CLASSES .............................................................................................................. 22 FIGURA II-2 – REGIÃO DE ERRO RELACIONADA À SUPERPOSIÇÃO DAS CURVAS ........................................................ 23 FIGURA II-3 – SUPERFÍCIE DE DECISÃO EM R2............................................................................................................. 26 FIGURA II-4 – CLASSIFICADOR LINEAR PARA MÚLTIPLAS CLASSES ............................................................................ 27 FIGURA II-5 – SUPERFÍCIE DE DECISÃO PARA ∑ = ( Σ2.I) .......................................................................................... 30 FIGURA II-6 – SUPERFÍCIE DE DECISÃO PARA ∑1 = ∑2 .............................................................................................. 31 FIGURA II-7 – SUPERFÍCIE DE DECISÃO PARA ∑1 ≠ ∑2 ................................................................................................. 31 FIGURA II-8 – MODELO DE REGRESSÃO LINEAR .......................................................................................................... 35 FIGURA II-9 – SUPERFÍCIE DE ERRO DA REGRESSÃO SIMPLES ..................................................................................... 37 FIGURA II-10 – MÉTODO DE DESCIDA OU GRADIENTE................................................................................................. 38 FIGURA II-11 – REGRESSÃO LINEAR COM MÚLTIPLAS VARIÁVEIS .............................................................................. 41 FIGURA II-12 – SUPERFÍCIE DE ERRO DA REGRESSÃO MÚLTIPLA ................................................................................ 42 FIGURA II-13 – DIREÇÕES DO GRADIENTE E AUTOVALORES ....................................................................................... 45 FIGURA II-14 – DIREÇÃO DE NEWTON X DIREÇÃO DO GRADIENTE............................................................................. 48 FIGURA II-15 – NEURÔNIO MATEMÁTICO E NEURÔNIO BIOLÓGICO ............................................................................ 50 FIGURA II-16 – REGRA DA CADEIA APLICADA A FUNÇÃO DE ATIVAÇÃO .................................................................... 51 FIGURA II-17 – FUNÇÕES DE ATIVAÇÃO MAIS COMUNS .............................................................................................. 52 FIGURA II-18 – MODELO MADALINE ........................................................................................................................... 53 FIGURA II-19 – FUNÇÃO DE ATIVAÇÃO SIGMÓIDE E SUA DERIVADA .......................................................................... 55 FIGURA II-20 – REGRESSOR COMO CLASSIFICADOR .................................................................................................... 56 FIGURA III-1 – TOPOLOGIA DO MODELO PERCEPTRON................................................................................................ 59 FIGURA III-2 – SEPARAÇÃO DE CLASSES NO MODELO PERCEPTRON........................................................................... 60 FIGURA III-3 – SUPERFÍCIE DE DECISÃO DO PERCEPTRON........................................................................................... 61 FIGURA III-4 – TOPOLOGIA DE REDE DO PERCEPTRON ................................................................................................ 61 FIGURA III-5 – CORREÇÃO DO VETOR W EM FUNÇÃO DA ENTRADA X ........................................................................ 68 FIGURA III-6 – PERCEPTRON DE MÚLTIPLAS SAÍDAS ................................................................................................... 69 FIGURA III-7 – MOVIMENTAÇÃO DO VETOR W ............................................................................................................ 74 FIGURA III-8 – TOPOLOGIA DO PERCEPTRON MLP ..................................................................................................... 77 FIGURA III-9 – SEPARAÇÕES DOS PONTOS DO PROBLEMA XOR POR UMA HIPÉRBOLE .............................................. 78 FIGURA III-10 – INTERSEÇÃO DA FUNÇÃO OU COM A FUNÇÃO ~ E........................................................................... 79 FIGURA III-11 – REDE MLP DO PROBLEMA XOR ....................................................................................................... 80 FIGURA III-12 – MLP E CRITÉRIO MAP....................................................................................................................... 82 FIGURA III-13 – TRANSFORMAÇÃO DO PROBLEMA XOR PARA O ESPAÇO R3............................................................ 84 FIGURA III-14 – REDE MLP EQUIVALENTE DO PROBLEMA XOR ............................................................................... 84 FIGURA III-15 – REDE PERCEPTRON COM EXPANSÃO DOS DADOS .............................................................................. 85 FIGURA III-16 – APROXIMAÇÃO DA FUNÇÃO F POR UMA BASE DE FUNÇÕES ELEMENTARES .................................... 87 FIGURA III-17 – APROXIMAÇÃO COM BASE DE FUNÇÕES SINC. .................................................................................. 88 FIGURA III-18 – MLP COM BASE DE FUNÇÕES ............................................................................................................. 89 FIGURA III-19 – APROXIMAÇÃO DE FUNÇÕES COM BASES LOGÍSTICAS...................................................................... 90 FIGURA III-20 – REDE RBF UNIDIMENSIONAL. ........................................................................................................... 91 FIGURA III-21 – APROXIMAÇÃO DE FUNÇÕES COM BASES RADIAIS............................................................................ 92 FIGURA III-22 – TRANSFORMAÇÃO NÃO LINEAR DOS DADOS PARA O PROBLEMA XOR............................................ 93 FIGURA III-23 – HIPERPLANOS SEPARADORES............................................................................................................. 96 FIGURA III-24 – HIPERPLANO COM MÁXIMA MARGEM................................................................................................ 97 FIGURA IV-1 – HIPERPLANOS NA FORMA CANÔNICA. ............................................................................................... 101 FIGURA IV-2 – NORMALIZAÇÃO DA MARGEM. .......................................................................................................... 101 FIGURA IV-3 – RESTRIÇÃO DO ESPAÇO DE HIPÓTESES (HIPERPLANOS). ................................................................... 104 FIGURA IV-4 – CLASSIFICADORES DE MÍNIMA MARGEM E MÁXIMO DIÂMETRO ...................................................... 105 FIGURA IV-5 – PERCEPTRON SVM DUAL. ................................................................................................................. 108 FIGURA IV-6 – PROBLEMA DE RECONHECIMENTO DE PADRÕES EM R2.................................................................... 109

Page 8: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

vi

FIGURA IV-7 – SVM COM SOFT MARGIN ................................................................................................................... 115 FIGURA IV-8 – SVM MULTICLASSIFICAÇÃO: UM CONTRA TODOS ............................................................................ 125 FIGURA IV-9 – ÁRVORE DE DECISÃO PARA PROBLEMA DE MULTICLASSIFICAÇÃO. ................................................. 126 FIGURA V-1 – ESPAÇO DE ENTRADA E ESPAÇO DE CARACTERÍSTICAS ..................................................................... 129 FIGURA V-2 - CLASSIFICADOR KERNEL COM MÚLTIPLAS SAÍDAS ............................................................................. 130 FIGURA V-3 – FUNÇÃO KERNEL E FUNÇÕES CARACTERÍSTICAS............................................................................... 131 FIGURA V-4 – SVM KERNEL E O PROBLEMA XOR. .................................................................................................. 135 FIGURA V-5 – CLASSIFICADOR SVM COM KERNEL GAUSSIANO............................................................................... 137 FIGURA V-6 – EXEMPLO DE CLASSIFICAÇÃO COM SVM E KERNEL GAUSSIANO ...................................................... 138 FIGURA V-7 – FUNÇÕES KERNEL ESTACIONÁRIAS ..................................................................................................... 141 FIGURA V-8 – EXTRAÇÃO DE CARACTERÍSTICAS....................................................................................................... 154 FIGURA V-9 – KERNEL PERCEPTRON DUAL............................................................................................................... 162 FIGURA VI-1 – ESTRATÉGIAS NA DETERMINAÇÃO DO CONJUNTO DE TRABALHO .................................................... 174 FIGURA VI-2 – SOLUÇÃO ANALÍTICA DO SUB-PROBLEMA QUADRÁTICO.................................................................. 177 FIGURA VI-3 – REPRESENTAÇÃO GRÁFICA DA SOLUÇÃO SVM ................................................................................ 185 FIGURA VI-4 – TOPOLOGIA DE REDE DO ALGORITMO KSPD.................................................................................... 200 FIGURA VI-5 – CONJUNTO DE TREINAMENTO DO PROBLEMA DA ESPIRAL ............................................................... 206 FIGURA VI-6 – RESULTADO OU SAÍDA DO PROBLEMA DA ESPIRAL NO ESPAÇO R2.................................................. 206

Page 9: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

vii

Lista de Tabelas TABELA III-1 – TABELA DA VERDADE DO PROBLEMA XOR ....................................................................................... 80 TABELA III-2 – VALORES DAS COORDENADAS PROJETADAS PELAS FUNÇÕES GAUSSIANAS ..................................... 93 TABELA V-1 – OCORRÊNCIAS DE SUBSTRINGS DE TAMANHO 2 ................................................................................ 151 TABELA V-2 – OCORRÊNCIAS DE SUBSTRINGS DE TAMANHO VARIÁVEL ................................................................. 152 TABELA VI-1 – CONJUNTO DE TREINAMENTO ........................................................................................................... 185

Page 10: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

1

Capítulo I – Aprendizado Supervisionado e Teorias de Generalização Neste capítulo trataremos do paradigma de aprendizado supervisionado que consiste de

um processo de indução que procura inferir hipóteses a partir de um conjunto de dados.

Neste sentido, torna-se importante o estudo de teorias de generalização no sentido de

estabelecer a hipótese ou modelo que seja mais adequada ao problema. Primeiramente,

vamos abordar de forma geral o problema de aprendizado supervisionado, em seguida

descreveremos a principal teoria de generalização que utilizam o conceito de

aprendizagem estatística de VAPNIK e CHERVONENKIS (1971).

Ultimamente, uma classe de problemas ocorridos na tomada de decisões em um

ambiente real, cercado de incertezas e imprecisões, tem sido resolvidas, segundo

ZADEH (1994), utilizando-se técnicas denominadas soft computing que empregam,

sobretudo, o conceito de aprendizado a partir de dados experimentais ou da experiência

do agente com o ambiente no qual se encontra inserido o problema. Estes problemas

têm, como aspectos principais, a adaptatividade, a distributividade e, freqüentemente, a

não-linearidade. É importante observar que todos estes são características marcantes dos

sistemas biológicos naturais.

Procuramos o desenvolvimento de técnicas e algoritmos no sentido de

solucionar problemas de identificação, classificação, predição, estimativa e controle de

sistemas adaptativos e paramétricos através de um processo contínuo de treinamento,

considerando a existência de um conjunto de dados ou informações do ambiente. Este

processo de loop feedback possibilita o ajuste progressivo dos parâmetros até que um

ponto de resultado seja alcançado.

É importante destacar que o desenvolvimento de modelos adaptativos, ver

Figura I-1, segundo PRÍNCIPE, EULIANO e LEFEBVRE (2000), é um processo

construtivo, a exemplo dos projetos de engenharia, possuindo um conjunto de princípios

biológicos, físicos e matemáticos que justificam o seu funcionamento.

Page 11: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

2

Figura I-1 – Sistemas adaptativos

Embora, muitos problemas desta natureza possuam uma modelagem analítica

travéz de expressões algébricas, equações diferenciais ou sistemas discretos,

procuramos uma alternativa de solução mais parecida com a forma humana de atuar.

Certamente, a inteligência humana não é capaz de realizar cálculos matemáticos

complexos. Entretanto, a sua habilidade em interagir com sistemas adaptativos de alta

complexidade é notória e fruto, talvez, de milhões de anos de evolução em contato com

a natureza.

Neste sentido, temos um problema fundamental, ou seja, temos que encontrar a

forma mais eficiente de se utilizar o conhecimento ou a habilidade humana no

desenvolvimento de modelos adaptativos. A princípio, destacam-se duas categorias

principais de sistemas. Na primeira abordagem estão os sistemas de arquitetura top-

down, onde o conhecimento humano é inserido na forma de heurísticas ou regras de

julgamento em modelos simbólicos e declarativos, característicos das técnicas

cognitivas de Inteligência Artificial. Apesar deste tipo de arquitetura ter sucesso na

solução de inúmeras tarefas de altíssima complexidade, como: jogos, planejamento,

otimização combinatória e processamento da informação, a mesma é deficiente na

incorporação de capacidades mentais como o aprendizado, a discriminação, a

categorização, a generalização e a memorização, ingredientes fundamentais em

qualquer sistema inteligente.

Na segunda abordagem, destacam-se os sistemas de arquitetura botom-up,

provenientes dos modelos conexionistas de Inteligência Artificial, nos quais o

conhecimento e a habilidade humana são conquistados ou aprendidos a partir da

Page 12: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

3

utilização de um conjunto de dados experimentais, a partir da interação com o ambiente

e, também, a partir de um conjunto de paradigmas de aprendizado que vão direcionar a

forma como os dados do modelo serão ajustados.

1.1 - Aprendizado supervisionado e a partir de dados Para entendermos melhor o processo de aprendizagem a partir de dados, considere uma

adaptação do exemplo apresentado por POGGIO e GIROSI (1990):

Exemplo 1.1: Seja um agente envolvido no aprendizado de uma língua

estrangeira, mais precisamente, na pronúncia de suas palavras. Considere a existência de

um livro de regras, bem como de uma tabela contendo todos os pares de palavras

existentes seguidas de suas pronúncias. Na tentativa de estabelecer um mapeamento ou

uma função, que caracterize uma forma de aprendizado, apresentam-se cinco opções:

1 - O agente não aprende nada;

2 - O agente aprende o conjunto de regras de pronúncia;

3 - O agente memoriza todos os pares da tabela;

4 - O agente memoriza um subconjunto de pares da tabela utilizados com

maior freqüência;

5 - O agente memoriza os pares mais freqüentes e desenvolve uma teoria ou

modelo.

Na primeira alternativa, não existe aprendizagem. A segunda alternativa requer o

aprendizado de um grande número de regras, com situações de conflito e exceções,

necessitando, ainda, de um eficiente processo de matching, no sentido de melhor

escolher a regra de pronúncia adequada a cada palavra. Não parece, portanto, uma

forma humana de resolver o problema, mas somente o uso top-down de um

conhecimento imperativo, estabelecendo uma analogia com o problema da sala chinesa

(SEARLE, 1980).

A terceira alternativa requer a memorização de todos os pares (palavra,

pronúncia) existentes em uma tabela de observações (look-up table). Entretanto, existem

dois tipos de problemas. Em primeiro lugar, embora existam 800.000 palavras

Page 13: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

4

estrangeiras cadastradas, somente um número reduzido, cerca de 50.000, são mais

utilizadas, e, em segundo lugar, mesmo possuindo um esquema de acesso eficiente, o

agente descarta a pronúncia das palavras menos utilizadas, exigindo, de tempos em

tempos, um novo período de treinamento ou de memorização.

A quarta alternativa constrói um conjunto de treinamento contendo, somente, as

palavras mais utilizadas e suas respectivas pronúncias, requerendo que o agente crie

uma função, segundo alguma estratégia adequada como, por exemplo, um modelo de

regressão ou de interpolação. Entretanto, o mesmo não é capaz de desenvolver uma

teoria e, possivelmente, irá falhar na pronúncia de novas palavras, que não estejam no

conjunto de treinamento. Dizemos que, neste caso, o agente desenvolveu a capacidade

de discriminar o conhecido ou memorizar, mas não desenvolveu o poder de

generalização.

Finalmente, na quinta alternativa, o agente memoriza o conjunto de treinamento,

através do aprendizado de uma função e, também, desenvolve uma teoria de

aprendizado, para que seja capaz de pronunciar, futuramente, palavras ainda não

conhecidas. Esta parece ser, sem dúvida alguma, a alternativa preferível de aprendizado.

Porém, para que a mesma tenha sucesso, sobretudo na pronúncia de novas palavras, é

necessário que algumas premissas sejam observadas:

1 - O tamanho do conjunto de treinamento seja suficientemente grande para

possibilitar o aprendizado da função de mapeamento f ;

2 - A função de mapeamento f deva possuir uma boa aproximação para o

mapeamento futuro de dados não pertencentes ao conjunto de

treinamento;

3 - O conjunto de funções f deva ser suficientemente poderoso de modo a

representar o verdadeiro mapeamento;

4 - Todas as pronúncias (valores desejados) e mapeamentos (pares), que

formarão o conjunto de treinamento, sejam conhecidos a priori.

1.2- Aprendizagem estatística e minimização de riscos O problema de aprendizado, na sua forma mais geral, pode ser descrito como um

problema de mapeamento ou de aproximação de funções, KECMAN (2001). Ou seja,

Page 14: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

5

desejamos descobrir ou aproximar uma função f que relacione um conjunto de pontos

ou amostras ou vetores de entrada de alta dimensão, X, a um conjunto de pontos ou

valores desejáveis ou vetores de saída, Y.

Este problema se divide em dois grupos principais relacionados,

respectivamente, a uma forma de aprendizado supervisionado, que utiliza, em seu

treinamento todo o conjunto de dados, e a uma forma de aprendizado não

supervisionado que utiliza em seu treinamento apenas o conjunto de amostras. No

primeiro caso temos os problemas de classificação ou reconhecimento de padrões,

regressão ou predição de valores ou ajuste dos dados. No segundo caso, temos os

problemas de estimativa de densidade, agrupamento de dados ou clusterização, detecção

de anomalias, extração de características e redução da dimensionalidade, também

chamado de análise dos componentes principais.

Particularmente, no problema de classificação relacionado a um conjunto de

treinamento, temos um processo de indução onde, a partir de uma representação

apropriada dos dados em vetores de características, tentamos inferir uma hipótese

caracterizada pelo projeto de um classificador que possui um conjunto de parâmetros,

como mostra a Figura I-2. Posteriormente, para uma nova amostra ou observação,

representada pelo respectivo vetor de características, utilizamos o classificador para

estabelecermos a sua categorização.

Page 15: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

6

Aprendizado:

Aplicação:

Figura I-2 – Problema de classificação

Page 16: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

7

É importante ressaltar que neste processo não existe, a priori, nenhuma

informação a respeito da distribuição dos dados de entrada, e o conjunto de pontos,

muitas vezes, não é precisamente conhecido. Assumimos, entretanto, que os dados são

distribuídos segundo alguma distribuição de probabilidade. Na forma mais comum de

aprendizado, tem-se um problema de inferência estatística, onde os conjuntos X e Y,

formam um conjunto de treinamento D = {(x,y)∈ X x Y}. A inferência estatística,

entretanto, se baseia em três considerações fundamentais:

1 - Os dados podem ser modelados, ou ajustados, por uma função

paramétrica, de um modelo;

2 - A distribuição de probabilidade que regula a aleatoriedade dos dados é

uma distribuição conhecida, como exemplo, a distribuição normal, cuja

função de densidade é uma função gaussiana;

3 - O paradigma utilizado para a correção ou estimativa dos parâmetros da

função é o método da probabilidade ou likelihood máxima, reduzindo o

aprendizado à aplicação de minimização de uma função quadrática do

erro (WIDROW, HOFF(1960)).

Segundo VAPNIK (1998), as três considerações apresentam inconvenientes ou

são inapropriadas para o tratamento de muitos problemas complexos, considerando que:

1 - Muitos problemas atuais são de altíssima dimensão, necessitando de um

número exponencial de parâmetros, em relação as suas

dimensionalidades. Como exemplo, podemos citar o fato de que, uma

função discriminante quadrática, possui uma quantidade de parâmetros

equivalente ao quadrado da dimensão dos dados em uma máquina de

classificação linear;

2 - Os algoritmos de aprendizagem não podem depender do conhecimento a

priori das distribuições de probabilidade como forma de regular a

natureza estocástica do sistema;

3 - Como forma de obter um melhor limite para o erro de validação, os

algoritmos de aprendizagem não podem utilizar, somente, o critério de

minimização do erro de treinamento, conhecido como o princípio de

minimização do risco empírico, necessitando, portanto, de novos

paradigmas.

Page 17: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

8

Além destas considerações, devemos observar também que um novo paradigma

de aprendizado deva ser capaz de lidar com a esparsidade e escassez do conjunto de

treinamento e assumir o não conhecimento a priori da quantidade de parâmetros

necessários ao modelo. Neste sentido, pode-se considerar que a capacidade do modelo

ou o seu número de parâmetros é função da complexidade do conjunto de treinamento e

do paradigma de aprendizado adotado. Definimos, portanto, uma classe de modelos

semiparamétricos, contrapondo aos modelos estatísticos paramétricos mais

convencionais.

A nova premissa, sugerida por Vapnik, é contemplada pelo princípio da

minimização do risco estrutural (SRM), um novo princípio de indução derivado da

teoria de aprendizagem estatística introduzida por VAPNIK e CHERVONENKIS

(1971), que controla melhor o erro de generalização no processo de aprendizagem,

aperfeiçoando a teoria anterior da minimização do risco empírico (ERM) que é a base

da inferência estatística.

Este novo princípio é o ingrediente principal para o desenvolvimento de

máquinas de vetores suportes, também chamadas de SVM, apresentadas por CORTES e

VAPNIK (1995), que são modelos recentes de aprendizagem supervisionada, aplicados,

sobretudo, em problemas de classificação e regressão, e que serão objeto de estudo e

implementação.

1.2.1 - Minimização do Risco Empírico (ERM) Seja a função f definida como uma função aplicada a um conjunto de dados X Є Rn

associada a um conjunto de parâmetros α. Em um modelo linear, poderíamos definir f

como uma função sinal aplicada à equação de um hiperplano.

Desta forma a função de aprendizado seria escrita como:

( ) ( )( ) ( ) RbRwbxwbwxfxf D ∈∈+== ,:,,,, ϕα ,

sendo ϕ uma função sinal, e <w,x> o produto interno entre o vetor externo ao vetor de

parendizagem.

A função { }1,1: +−→DRf realiza um mapeamento dos valores de X DR∈ em

um conjunto binário de valores Y = {-1, +1}, dependendo da pertinência de um

Page 18: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

9

elemento x a uma classe negativa ou positiva. Tal problema é definido como um

problema de classificação binária, e a função f de aprendizado é comumente chamada de

função de decisão.

Um processo iterativo de determinação da função, também chamado de

aprendizado supervisionado ou treinamento da máquina, é obtido baseando-se na

escolha dos parâmetros α em função do conjunto D de m observações:

( ) ( ){ } { }1,1,:,, 11 +−∈∈= iD

imm yRxyxyxD K

Este conjuto, como já vimos, é chamado de conjunto de treinamento, e

desempenha um papel fundamental no processo de aprendizado iterativo, as vezes

conhecido como online.

Uma vez escolhida uma função para a aproximação dos dados, é necessário

estabelecermos uma medida de qualidade, denominada erro de classificação, associada

ao treinamento da máquina:

( ) ( ) ( )∫ −= yxdPxfyR ,,21

αα

A medida é chamada de perda e P(x,y) é definida como uma função de

distribuição de probabilidade condicional geralmente desconhecida. R(α) é conhecido

na literatura estatística como um funcional de risco ou simplesmente risco. O objetivo,

portanto, da minimização do risco, é encontrar um conjunto de parâmetros que

minimize R(α) sobre uma classe de funções ou hipóteses definidas dentro de um espaço

de hipóteses denominado H.

O risco esperado é, portanto, uma medida de qualidade da hipótese em predizer

os mapeamentos relativos aos possíveis valores de x e y. Como a distribuição de

probabilidade é desconhecida, nós não podemos computar e portanto minimizar o risco

esperado em função do conjunto de parâmetros α diretamente. Neste caso, a única

alternativa é computar uma aproximação estocástica do risco para um conjunto

especifico de treinamento D, chamada de risco empírico.

O risco empírico é definido através da seguinte equação:

Page 19: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

10

( ) ( )∑=

−=m

iiiemp yxf

mR

1

,1αα

A utilização da minimização do risco empírico no lugar do risco esperado,

definido pelo funcional R(α), conduz a um princípio denominado princípio da

minimização do risco empírico (ERM). Este princípio se baseia na intuição de que pela

lei dos grandes números o risco empírico converge para o risco esperado. Ou seja:

( ) ( )( ) 0lim =−∞→

αα empmRR

Caso esta convergência não ocorra na prática, devido à insuficiência de dados,

não será garantido que alguma forma de inferência seja realizada no conjunto de dados.

Segundo Vapnik e Chervonenkis, a consistência de um processo de inferência existe, se

e somente se, ocorrer uma convergência na probabilidade do risco empírico substituir o

risco esperado. O que é necessário, portanto, é a existência de uma convergência

uniforme ou consistência assintótica. Esta convergência pode ser escrita em termos

probabilísticos pela equação:

( ) ( )( ) 0suplim =

>−

∞→εαα

αempm

RRP , para qualquer ε > 0,

onde ε denota um valor de probabilidade e sup um argumento que aplicado em algum

conjunto não vazio S fornece o menor elemento s tal que o s ≥ x para todo x Є S. Se S

não existe, então sup(S) = ∞.

De forma resumida, esta equação assegura que a consistência no processo de

convergência é determinada pelo pior caso de uma função, de um conjunto de funções

de aproximação, que produzem o maior erro entre o risco empírico e o verdadeiro risco

esperado.

O princípio ERM é muito geral. Diferentes funções de perda podem ser

consideradas para desenvolvermos uma medida de qualidade. Entre as mais comuns, se

encontra o método dos mínimos quadrados, associado a norma L2, para a estimativa de

modelos de regressão ou o método da máxima probabilidade, para a estimativa de

densidades. A eficiência destas técnicas depende, entretanto, da lei dos grandes números

Page 20: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

11

e da qualidade do conjunto de treinamento. Neste sentido, uma série de razões pode

comprometer o aprendizado supervisionado, baseado no princípio ERM:

1 - Existe uma dependência determinística no mapeamento, relacionada à

natureza do problema, mas um excesso de ruído nos dados coletados;

2 - A natureza do problema ou do mapeamento é estocástica;

3 - O processo de mapeamento é determinístico, mas não existe quantidade

de dados suficientes a serem coletados.

1.2.2 - Minimização de Risco Estrutural (SRM) A técnica ou principio de minimização do risco estrutural foi desenvolvido por

VAPNIK (1998), dentro do contexto da aprendizagem estatística e introduz um novo

princípio de indução compromissado com o projeto de máquinas que demonstrem uma

melhor capacidade de generalização, buscando um equilíbrio entre a qualidade do erro

de treinamento e a capacidade da máquina. Como já citado, os modelos que tenham uma

capacidade reconhecidamente reduzida, são incapazes de aprenderem o conjunto de

treinamento. Por outro lado, modelos que tenham uma alta capacidade desenvolvem um

problema de aprendizado excessivo denominado overfitting, perdendo o poder de

generalização.

A teoria da convergência uniforme em probabilidade, desenvolvida por Vapnik e

Chevonenkis, provê limites no desvio do risco empírico em relação ao risco esperado.

Para algum η tal que 0 ≤ η ≤ 1 podemos limitar o funcional de risco, para uma

probabilidade 1- η, segundo a expressão:

( ) ( )m

hmh

RR emp

+

+≤4

ln12ln η

αα para qualquer α,

onde h é definida como a dimensão VC da função e m a quantidade de dados.

Se conhecermos a dimensão VC, dada pelo parâmetro h, podemos computar o

lado direito da equação, determinado um limite superior para o valor do risco. A

equação demonstra que um baixo risco depende, simultaneamente, da escolha de uma

classe de funções ou do tipo de máquina de aprendizagem, e de uma função particular

Page 21: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

12

pertencente a esta classe. Estes valores são representados, respectivamente, pelos

parâmetros h e α. Depende, também, da quantidade de dados, representada pelo

parâmetro m e da probabilidade de acerto ou nível de confiança da hipótese, 1-η, dada

pelo parâmetro η. Podemos observar que o limite decresce, se diminuirmos o risco

empírico através da utilização de uma máquina com uma baixa dimensão VC.

Como o risco empírico é usualmente uma função decrescente no valor de h, ou

seja, quanto maior a capacidade menor o erro de treinamento, isso significa que para um

dado conjunto de treinamento deve ser estabelecido um valor ótimo para a dimensão

VC. A escolha de um valor apropriado para h é essencial no sentido do algoritmo de

aprendizagem obter bom desempenho, notadamente, quando o conjunto de treinamento

é pequeno.

Este princípio, baseado no limite imposto ao funcional de risco, substitui o

princípio ERM como um princípio de indução. Pela equação que liga os dois tipos de

erro, fica claro que a minimização isolada do risco empírico não necessariamente

implica em valores reduzidos para o risco esperado. Baseado neste fato, Vapnik propôs

no novo princípio, para que o risco esperado seja pequeno, a minimização conjunta de

ambos os termos. Portanto, a dimensão VC e o risco empírico de uma classe de funções,

devem ser minimizados ao mesmo tempo.

Neste sentido, definimos subconjuntos aninhados de funções, máquinas ou

hipóteses, na forma:

KK ⊂⊂⊂⊂ nHHH 21 ,

com a propriedade de que h(n) ≤ h(n + 1) onde h(n) é a dimensão VC associada a

hipótese Hn. Desta forma, podemos sugerir que a adoção do princípio SRM envolve a

solução do seguinte problema:

( ) ( )

+

mnhRMin empHn

α

Observando a Figura I-3, podemos perceber a relação entre os tipos de erro e

respectivos riscos com a complexidade das hipóteses, associadas ao parâmetro C ou a

Page 22: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

13

dimensão h. O erro de generalização ou risco esperado ou, simplesmente, o verdadeiro

erro, associado ao princípio de minimização do risco estrutural, representa um

compromisso entre o erro de treinamento ou erro de aproximação ou bias do modelo, e

o erro de validação ou a estimativa de erro ou a variância do modelo.

Figura I-3 – Relação de erro, complexidade e espaço de hipóteses

Assim, procuramos escolher uma hipótese que, de certa forma, represente este

compromisso. O princípio SRM, proposto por Vapnik e Chervonenkis, procura

estabelecer através da dimensão VC um aninhamento de hipóteses no sentido de

possibilitar a escolha de um modelo satisfatório de baixa complexidade. Por outro lado,

as técnicas de treinamento, bastante utilizadas no treinamento das redes neurais

artificiais, procuram minimizar somente o erro de validação, estabelecendo um intervalo

de confiança no erro de treinamento, como validação corrigida, mas não garantido a

bom desempenho do classificador em dados desconhecidos.

Apesar do princípio SRM estar bem estruturado, a sua implementação como

critério de generalização, em problemas reais é dificultada por três razões:

Page 23: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

14

1 - Determinação da dimensão VC de uma hipótese pode ser difícil de ser

computada;

2 - Mesmo considerando o conhecimento da dimensão VC de uma hipótese,

a solução do problema de minimização, para um conjunto de hipóteses

aninhadas, envolve a determinação do risco empírico para cada hipótese

Hn e finalmente a escolha da hipótese Hn que minimiza os erro associada;

3 - Existem várias hipóteses para as quais a dimensão VC é infinita.

A seguir, veremos as duas formas clássicas de implementação do princípio

SRM, e uma descrição mais detalhada do conceito de dimensão VC.

1.3 - Dimensão VC e seleção de modelos Basicamente, Vapnik e Chervonenkis introduzem o conceito de dimensão VC de um

conjunto de funções, como o maior número possível de pontos ou vetores que podem

ser separados em duas classes, entre todas as possibilidades possíveis, chamadas de

dicotomias, utilizando-se as funções do conjunto, como mostra o Exemplo 1.2.

Exemplo 1.2: Para um conjunto formado de funções lineares ou hiperplanos em

um espaço de n dimensões, a dimensão VC é computada como sendo igual a n+1.

De fato, em um espaço bidimensional, conforme a Figura I-4, a separação de

todas as dicotomias possíveis, utilizando-se 1 reta como separador, somente é possível

para três pontos.

Figura I-4 – Possíveis dicotomias para três pontos em R2

Page 24: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

15

1.3.1– Capacidade e poder de generalização: Considerando que as condições de necessidade e suficiência de consistência ou

generalização do princípio de risco empírico, dependem da capacidade do conjunto de

funções que implementam o modelo, a dimensão VC se apresenta como uma alternativa

para o estabelecimento de um limite superior para o erro de validação.

Desta forma, o novo princípio indutivo se baseia, como vimos, na maximização

do poder de generalização de uma máquina considerando a minimização do risco

empírico ou erro de treinamento e, também, de uma medida de confiança relacionada à

dimensão VC. Este princípio corresponde, portanto, a encontrar uma máquina com a

menor dimensão VC que satisfaça a um determinado erro de treinamento.

A capacidade de uma máquina está relacionada a sua consistência com o

conjunto de treinamento, ou seja, com o erro de aproximação, dependendo da

quantidade de parâmetros do modelo. Por outro lado, o seu poder de generalização

depende do nível de confiança, da dimensão VC e do tamanho do conjunto de

treinamento. Claramente, quando o tamanho do conjunto de treinamento tende para

infinito, o risco esperado se iguala ao risco empírico. Por outro lado, um maior nível de

confiança relacionado a hipótese, diminui o risco empírico mas aumenta o limite

superior do erro de generalização, representado, portanto, um aumento do risco

esperado, conforme a Figura I-5. Isto reflete, portanto, um compromisso entre a acurácia

de um modelo e o grau de confiança associado.

Page 25: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

16

Figura I-5 – Relação entre complexidade, confidência e riscos

Em princípio, não existe uma relação direta entre a quantidade de parâmetros

livres de um modelo e sua dimensão VC. Temos modelos com dimensão VC infinita

que superam o número de parâmetros, modelos, como os classificadores lineares, onde

o número de parâmetros é igual a dimensão VC, e modelos onde o número de

parâmetros é superior a dimensão VC como a função descrita no Exemplo 1.3.

Exemplo 1.3: O conjunto de funções unidimensionais definidas por:

f(x,α) = sinal (∑ i |αi.xi|.sinal(x) + α0, para i = 1,...,n ,

onde x є R1 e α є Rn+1, possui dimensão VC igual a um, ou seja, somente um ponto em

um alinha, sendo este valor independente do número de parâmetros que é igual a n+1.

1.3.2 – Projeto de máquinas: A seguir, apresentamos duas abordagens para o projeto de uma máquina representada,

para alguns casos, por um modelo, um conjunto de hipóteses ou uma classe de funções.

A primeira consiste em projetar uma máquina de determinada capacidade e uma

dada topologia, possuíndo, portanto, uma dimensão VC que deve ser estimada. Em

seguida, realiza-se o treinamento da mesma com base no princípio do risco empírico ou

ERM, observando-se o dilema bias-variância, ou seja, para se diminuir o erro de

treinamento, aumentamos a capacidade do modelo, o que, diretamente, aumenta o

intervalo de confiança, ocasionando um maior erro de generalização. Este compromisso

pode ser mais bem orientado, se utilizarmos o princípio da razão de Occam, no sentido

de que a menor ou mais simples representação deva ser a melhor ou aquela escolhida.

Poderíamos, também, controlar diretamente o número de parâmetros do modelo,

através da escolha de uma medida de penalização, seguindo o critério de determinação

de uma hipótese de descrição mais curta, conhecido como critério MDL, derivado da

teoria de aprendizagem computacional de RISSANEN (1989). Uma segunda alternativa

seria a utilização do critério de informação, conhecido como critério AIC, proposto por

AKAIKE (1974), ou, finalmente, a utilização de um funcional de regularização, na

forma proposta por TIKHONOV e ARSENIN (1977).

Page 26: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

17

Por fim, poderíamos adotar uma técnica heurística baseada no controle do

treinamento do algoritmo, durante a fase de minimização do erro de aproximação ou

treinamento. Esta tecnica é conhecida como cross-validation. Esta técnica pode ser

aplicada com eficiência em problemas cujo conjunto de treinamento possui um tamanho

razoável e a base de dados pode ser dividida em um subconjunto para treinamento e um

subconjunto para validação.

Neste sentido, vários projetos de máquina poderiam ser testados, até mesmo com

o uso de computação evolutiva, e aquele que apresentasse os menores erros de validação

e treinamento seria escolhido. É a abordagem predileta dos algoritmos de treinamento

baseados no uso de redes neurais artificiais, mais especificamente nas topologias de

redes alimentadas adiante, conhecidas como Perceptron de múltiplas camadas ou MLP.

A segunda consiste em seguir o princípio SRM, ou seja, escolher um conjunto de

máquinas cujo risco empírico ou erro de treinamento seja zero, selecionando,

posteriormente, aquela de menor complexidade ou dimensão VC. Neste sentido, é

suficiente projetarmos uma máquina de vetores suportes, ou simplesmente uma SVM,

onde os conceitos de classificador de larga margem e de separabilidade linear são de

fundamental importância.

No entanto, é importante ressaltar que, sob a ótica da dimensão VC, não existe

no princípio SRM nenhum compromisso em relação ao dilema bias-variância.

Simplesmente, a melhor estratégia consiste na utilização de uma máquina com

dimensão VC reduzida buscando a minimização do intervalo de confiança. Também,

existe uma distinção clara entre a dimensão VC e o controle do número de parâmetros

do modelo, o que não ocorre nos modelos baseados em penalidades.

A utilização de máquinas ou classificadores com dimensão VC reduzida, não é

uma condição necessária para obtermos uma boa capacidade de generalização. Existe

um grande número de algoritmos de aprendizagem, como exemplo, o método da k-

vizinhança, ou KNN, e as funções de base radiais que apresentam dimensão VC infinita

mas proporcionam um bom desempenho em problemas práticos. Portanto, a existência

de uma dimensão VC alta, não implica, necessariamente, em um desempenho ruim.

Page 27: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

18

Neste sentido, torna-se possível a utilização de máquinas de maior ou menor

capacidade, em problemas com um pequeno conjunto de treinamento, obtendo um bom

poder de generalização. Isto, de uma forma ou outra, provoca uma mudança profunda

no projeto e na utilização de novos modelos de máquinas de aprendizagem.

Page 28: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

19

Capítulo II – Discriminantes e Regressores Neste capítulo, vamos apresentar alguns modelos matemáticos desenvolvidos para a

solução do problema de reconhecimento de padrões chamados de discriminantes e

modelos de ajuste de dados chamados de regressores. Estes problemas, respectivamente,

podem ser descritos como um problema de classificação ou categorização dos dados, ou

como um problema de predição de valores, ambos sob a ótica do aprendizado

supervisionado. Portanto, é necessária para o desenvolvimento ou treinamento destes

modelos, a existência de um conjunto de treinamento baseado em um conjunto de

observações.

Inicialmente, trataremos dos classificadores Bayesianos, embasados na teoria de

decisão de Bayes e os vários critérios de minimização de riscos associados. É uma

classe de classificadores paramétricos que obtêm ótimos resultados, caso sejam

conhecidos às probabilidades a priori das hipóteses relacionadas, bem como as

probabilidades condicionais dos dados. Estes classificadores introduzem os conceitos de

função discriminante e superfície de decisão.

Dando continuidade, apresentaremos os regressores baseados no processo de

correção por erro. Trataremos dos modelos de regressão linear, na forma simples e

múltipla, desenvolvidos de forma adaptativa e semiparamétrica, a partir do método dos

mínimos quadrados, conhecido como LMS. Finalmente, abordaremos o uso de modelos

de regressão como classificadores.

2.1- Classificadores Bayesianos: A teoria de decisão de Bayes (Thomas Bayes, 1702-1761) se desenvolveu no contexto

da teoria da probabilidade, tendo uma forte relação com a razão de Occam, em favor do

uso da simplicidade como critério de escolha das hipóteses.

Willian of Occam foi um monge que viveu no século XVI (1285-1349) na

Inglaterra e estabeleceu um princípio em favor da simplicidade que tem uma forte

conexão com o raciocínio Bayesiano.

Originalmente, a razão de Occam foi escrita em latim como: “Pluralitas non est

ponenda sine necessitate”. Também, segundo NILSSON (1996), a citação foi

Page 29: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

20

apresentada como: “Entia Non sunt multiplicanda praeter necessitatem”, que

traduzidas significam, basicamente, que em um processo de explanação ou justificativa

as entidades ou meios não devem ser multiplicados ou utilizados além da necessidade.

Em resumo, este princípio estabeleceu que a explicação dos fatos não deveria ser

mais complicada que o necessário. É um princípio aceito universalmente pela ciência.

Na prática, a razão de Occam é utilizada como uma heurística, ou seja, uma medida

efetiva que auxilia no entendimento e na solução de problemas.

2.1.1 – Regra de Bayes: O raciocínio Bayesiano depende, essencialmente, de um conhecimento antecipado das

hipóteses. Este conhecimento, na forma de probabilidades, é conhecido como a

probabilidade à priori das hipóteses, e tem uma importância fundamental na acurácia do

classificador. O emprego da razão de Occam no raciocínio Bayesiano se justifica na

escolha de hipóteses mais simples e menos complexas, contendo um menor número de

parâmetros.

Basicamente, a teoria de decisão de Bayes utiliza uma fórmula de inferência

conhecida como fórmula de Bayes, que induz uma probabilidade denominada

probabilidade a posteriori, relacionada à pertinência de um novo dado à determinada

hipótese, induzida a partir do conhecimento da probabilidade a priori da hipótese e da

probabilidade condicional do dado estar relacionado à hipótese, dado que a hipótese seja

verdadeira. Matematicamente, a fórmula é derivada da probabilidade condicional entre

dois eventos. Ou seja:

( ) ( )( )BP

BAPBAP ∧=| .

Reescrevendo a probabilidade da interseção como:

( ) ( ) ( )APABPBAP .|=∧ ,

e, substituindo o seu valor na fórmula da probabilidade condicional, temos:

( ) ( ) ( )( )

=

BPAPABPBAP .|| .

Page 30: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

21

Em termos de um problema de classificação, podemos associar o evento B a um

dado ou amostra x e o evento A a uma hipótese Hi, que pode ser descrita como a

pertinência do dado x a uma classe Ci. Desta forma, a equação de Bayes fica definida

como:

P(Ci|x) = (P(x|Ci) . P(Ci)) / P(x)

A expressão P(Ci), como já dissemos, indica a probabilidade à priori da classe

Ci. A probabilidade P(x|Ci) indica a probabilidade condicional de classe, ou seja, a

probabilidade de que x pertença a classe Ci, dado a existência da classe. A probabilidade

P(x) indica a probabilidade do evento, podendo ser descartada do processo de

classificação, por ser um termo de normalização. Para tanto, definimos P(x) como:

( ) ( ) ( )∑=i

ii CPCxPxP .| , para as diferentes classes envolvidas no processo.

2.1.2 – Critério MAP: Para se classificar corretamente um dado a partir da regra de Bayes, tomamos o maior

valor da probabilidade a posteriori, ou seja, x Є Ci se e somente se:

( ) ( )xCPxCP ji || > para todo j ≠ i.

Este critério de escolha é denominado de critério MAP, significando a escolha

da máxima probabilidade a posteriori.

Geralmente, a probabilidade a priori é obtida a partir de um conhecimento

histórico da freqüência de cada classe. A probabilidade condicional pode ser obtida a

partir de estimativas de densidade do conjunto de treinamento ou associadas a uma

função de densidade de probabilidade conhecida. A função de densidade mais utiliza é

baseada na função de Gauss ou distribuição normal. Este modelo de classificação é um

modelo paramétrico, pelo fato de utilizar um conjunto de parâmetros associados ao

conjunto de treinamento. Como exemplo, podemos citar a distribuição de Gauss

univariável, que necessita da média e do desvio padrão dos dados.

A equação de Bayes aplicada a cada classe e normalizada pela probabilidade

P(x), define uma função de probabilidade conjunta que especifica no espaço dos dados,

Page 31: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

22

também conhecido como espaço de entrada, uma região que caracteriza o nível de

participação de cada valor no conjunto de valores da respectiva classe.

O raciocínio Bayesiano apresenta um importante resultado relacionado à

minimização do erro esperado, também chamado de erro de Bayes. Seja um problema

contendo duas hipóteses 1H e 2H complementares. A probabilidade de erro pode ser

considerada como a área de interseção das funções de probabilidade condicional

multiplicadas pela probabilidade a priori das classes, dadas pela fórmula de Bayes:

( ) ( )11| HPHSP para a hipótese 1H e

( ) ( )22| HPHSP para a hipótese 2H ,

considerando que a probabilidade ( )SP atua como fator de normalização.

Graficamente, para um problema unidimensional, cujas probabilidades

condicionais são descritas pela distribuição de Gauss e considerando x como espaço de

entrada da amostra, 1H a hipótese do dado pertencer a 1C e 2H a hipótese do dado

pertencer à classe 2C , temos a seguinte representação, mostrada pela Figura II-1:

Figura II-1 – Probabilidade das classes

A probabilidade de erro é definida como a soma das probabilidades de todas as

classificações erradas, ou seja:

( ) ( ) ( )1221 || RxCPRxCPerroP ∈+∈= .

Aplicando a fórmula de Bayes podemos redefinir o erro como:

( ) ( ) ( ) ( ) ( )221112 || CPCRxPCPCRxPerroP ∈+∈= .

Finalmente, considerando a integração das áreas relacionadas às regiões R1 e

R2, temos:

Page 32: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

23

( ) ( ) ( ) ( ) ( )∫ ∫+=2 1 2211 ||

R RdxCPCxPdxCPCxPerroP

Figura II-2 – Região de erro relacionada à superposição das curvas

Observando a Figura II-2, podemos reparar que, caso não haja superposição

entre as curvas, ocorre uma perfeita separação das classes relacionadas às hipóteses, não

havendo erro. Entretanto, caso haja interseção, FUKUNAGA (1990) mostrou que a

escolha do ponto de interseção entre as curvas para o posicionamento do discriminante,

é aquela que minimiza a probabilidade de erros futuros de classificação entre as duas

classes ou hipóteses. O parâmetro T é denominado limite de Bayes. Claramente, se o

limite T for reposicionado para a esquerda ou para a direita, aumentamos o erro de

classificação.

2.1.3 - Naive Bayes: Um dos classificadores Bayesianos de maior utilização em problemas de classificação é

denominado Naive Bayes Classifier, tendo a seu desempenho comparável, em algumas

aplicações, aos classificadores baseados em árvores decisórias e em redes neurais

artificiais. A sua utilização é direcionada a problemas de aprendizado envolvendo a

aprendizagem de conceitos, a exemplo das árvores decisórias, onde cada amostra do

conjunto de dados possui um conjunto de atributos, geralmente com valores discretos,

sendo um atributo denominado categórico relacionado ao processo de classificação.

Seja portanto, um mapeamento da forma f(x) → V , onde o conjunto V

representa um conjunto discreto de valores, e c(x) a função de aprendizagem que

aproxima a função de classificação f. Seja um conjunto de treinamento formado por um

Page 33: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

24

conjunto de n+1 uplas, na forma (a1, a2, a3, ...,an,v), relacionado aos valores dos n

atributos da amostra x acrescido do valor do atributo categórico que define a

pertinência do dado a alguma classe, ou seja f(x) = v.

É possível a classificação de uma nova instância (a1,a2,...,an) atribuindo a

mesma o valor da classe relacionada ao critério MAP, ou seja:

c(x) = Arg Max v є V Prob {v | a1, a2, ..., an}

Utilizando a regra de Bayes, e eliminando o fator de normalização referente a

Prob{a1, a2, ..., an}, podemos reescrever a expressão na forma:

c(x) = Arg Max v є V Prob{a1, a2, …, an| v}.P{v}

Para determinar a probabilidade condicional da amostra em relação a uma classe

ou hipótese, o classificador se baseia na hipótese de que os valores dos atributos são

condicionalmente independentes em relação ao valor da classe v. Neste sentido a

probabilidade condicional se torna igual ao produtório das probabilidades individuais.

Portanto, podemos escrever:

Prob{a1, a2, …, an| v} = Πi P(ai|v),

Fornecendo a seguinte função de classificação:

c(x) = Arg Max v є V Prob{v}. Πi P(ai|v)

Para um conjunto de dados cujo domíninio dos atributos é formado por

conjuntos discretos de valores, podemos computar as probabilidades condicionais

P(ai|v), simplesmente, tomando-se a freqüência dos respectivos valores para cada classe

no conjunto total de treinamento. Entretanto, quando o domínio dos atributos é formado

por valores contínuos, o classificador naive Bayes oferece uma solução bastante

simples, tomando-se as probabilidades P(ai|v) como funções gaussianas de uma

variável, ou seja:

P(ai|v) = 1/ √2.πσ . exp(-1/2. (( x – μ )2 / σ2 )),

considerando μ = 1/m. ∑ i xi , o valor esperado do conjunto de valores associados ao

atributo ai e σ2 = 1/m. ∑ i (xi – μ)2, . a sua variância.

Page 34: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

25

2.2 - Função discriminante e superfície de decisão Uma forma natural de classificarmos os dados é através da definição de uma função

discriminante para cada classe envolvida no problema. Consideramos, portanto, a

função discriminante de cada classe, como a equação que delimita a sua região de

classificação, definindo uma forma de score ou pontuação:

( ) ( ) ( ) ( )iiii CPCxPxCPxg .|| == ,

Aplicando o logaritmo na expressão, temos a equação da função discriminante

na sua forma mais conhecida:

( ) ( )( ) ( )( )iii CPCxPxg ln|ln += .

Para classificarmos um novo dado x, basta computarmos o valor de x para cada

função discriminante, e escolhermos a classe de pertinência que fornecer o maior valor.

Na Figura II-2, o valor T, chamado de limite de Bayes, está associado ao ponto de

interseção das equações, consistindo, portanto, de uma superfície de decisão. Neste

caso, assume o papel de um ponto delimitador para um problema de classificação

envolvendo as classes C1 e C2. De uma forma mais geral, as superfícies de decisão

formadas pela interseção de discriminantes, definem hiperplanos de dimensão D

equivalente a dimensão do espaço de entrada.

A classificação Bayesiana é importante, pois, segundo FUKUNAGA (1990), e

como pode ser visto anteriormente, a escolha do limite de Bayes como ponto

delimitador minimiza o erro esperado de classificação, também conhecido como erro de

Bayes. Este erro está associado ao funcional de risco. Entretanto, como já percebemos, a

utilização da classificação Bayesiana nem sempre é possível, dado que a probabilidade a

priori das classes, em muitos problemas, é de difícil determinação ou nem mesmo é

conhecida.

A superfície de decisão em problemas multidimensionais consiste de uma região

de fronteira que separa ou delimita as diferentes classes ou categorias. O objetivo

principal no estudo de reconhecimento de padrões é definir com exatidão a posição e o

formato da superfície de decisão de forma que o erro esperado ou o erro de Bayes seja

minimizado. É fácil percebermos no exemplo apresentado que o deslocamento do ponto

Page 35: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

26

de decisão para a direita ou esquerda do ponto de interseção das curvas aumenta o erro

de classificação, não sendo, portanto, uma boa opção.

A Figura II-3 define, de forma clara, a construção de uma superfície de decisão

em R2 para um problema de classificação em um espaço bidimensional de entrada,

envolvendo duas classes:

Figura II-3 – Superfície de decisão em R2

Neste caso, a função de classificação pode ser implementada como uma função

sinal da equação da superfície de decisão, ou seja, considerando a superfície de decisão

como a interseção das funções discriminantes das duas classes, o que implica em fazer:

( ) ( )21 || CxgCxg = .

Assim, a função de decisão do classificador, que neste caso se assemelha a

função de classificação, é definida como:

( ) ( ) ( )( )21 || CxgCxgxf −= ϕ ,

Page 36: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

27

onde ϕ é uma função sinal.

Claramente, se f(x) = 1 o dado x pertence à classe C1, ou seja c(x) = 1.

O uso destas funções permite o desenvolvimento de uma classe mais geral de

classificadores lineares, representados pela Figura II-4. Para um problema de

multiclassificação, onde a função discriminante de cada classe é uma função linear ou

hiperplano na forma:

Neste caso, podemos definir, seguindo o critério MAP, a função de decisão do

classificador como:

f(x) = Max i gi (x),

sendo o dado xk atribuído a classe Cl se l = Arg Max i gi (x), ou seja c(x) = l.

Figura II-4 – Classificador linear para múltiplas classes

A construção de classificadores mais potentes, relacionados à solução de

problemas de separabilidade não linear, exige o emprego de funções kernel que,

basicamente, realizam uma projeção dos dados do espaço de entrada para um espaço de

maior dimensão definido como espaço de características.

Page 37: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

28

2.3 – Critério ML ou critério de Fisher: Em 1936, R.A. Fisher sugeriu o primeiro algoritmo paramétrico de reconhecimento de

padrões. Para um problema de classificação binária, onde a probabilidade condicional

dos dados pertencerem às classes era descrita por uma distribuição normal representada

pela função de Gauss multivariável, com centros em m1 e m2 e matrizes de covariância

∑1 e ∑2 , Fisher mostrou que a solução era uma superfície de decisão quadrática na

forma:

f(x) = ϕ( 1/2.(x-m1)T.∑1-1.(x-m1) - 1/2.(x-m2)T.∑2

-1.(x-m2) + ln |∑2| / |∑1| )

De fato, se definirmos a função de Gauss, multivariável, para cada classe Ci,

como:

pi(x) = 1/ ((2.π)D/2 | ∑i |1/2).exp( - ( (x – mi). ∑i-1.(x – mi)T)/2 ),

considerando o valor esperado ou centro mi e a matriz de covariância ∑i das respectivas

classes C1 e C2, e tomarmos o logaritmo da probabilidade condicional desconsiderando

a probabilidade a priori das classes, o discriminante de cada classe fica definido por:

gi(x) = g(x|Ci) = -1/2.(x – mi). ∑-1.(x – mi)T) – D/2.log(2.π) – 1/2.ln| ∑i |

fornecendo como função de decisão:

( ) ( ) ( )( )21 || CxgCxgxf −= ϕ ,

onde ϕ é uma função sinal.

Equivalente, portanto, a função de decisão sugerida por Fisher. A expressão ML

deriva, portanto, da maximização da probabilidade condicional, denominada de

likelihood.

O termo (x-mi)T.∑i-1.(x-mi) é considerada como a distância normalizada entre os

respectivos centros e suas classes, sendo, também, chamada de distância

mahalanobiana. Observe que, para os casos onde a matriz de covariância é igual a uma

matriz identidade ou igual a matriz diagonal na forma σ2.I, a distância mahalanobiana se

iguala a distância euclidiana, dada pelo produto interno dos vetores: (x-mi)T.(x-mi).

Page 38: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

29

A matriz de covariância ∑i de uma classe, é uma matriz quadrada e simétrica, definida na forma:

∑i = E [(x – mi).(x-mi)T] = E [x.xT] – mi.miT,

sendo E [x.xT] = R, a matriz de auto-correlação das variáveis ou componentes

das amostras.

FUKUNAGA (1990), descreve dois casos de interesse, que tornam o critério ML

um discriminante linear:

O primeiro, relacionado ao fato das matrizes de covariância serem iguais e

reduzidas a matrizes diagonais, portanto, ∑ = ( σ2.I). Neste caso, o classificador se

limita a classificar um vetor x, com base na menor distância de um ponto aos

respectivos centros. A distribuição dos dados para cada classe define agrupamentos

circulares de mesmo tamanho. As funções discriminantes para cada classe tomam a

forma de funções lineares, ou hiperplanos, do tipo:

gi(x) = wiT.x + bi, onde wi = (1/ σ2).mi e bi = -(1/2. σ2)mi

T.mi

Definindo, portanto, uma superfície de decisão linear, correspondente a um

hiperplano perpendicular a direção da reta que une os centros das duas classes, cuja

equação é dada por:

f(x) = ϕ ( g2(x) – g1(x)) =ϕ( wT. (x – x0)),

onde w = m2 – m1 e x0 = 1/2.(m1+m2) + k.ln(P(C2)/P(C1)).

A constante k está relacionada a probabilidade a priori das classes. Caso estas

probabilidades sejam iguais ou desconsideradas como no critério ML, o valor do termo

associado se reduz a zero. Neste caso, x0 = 1/2.(m1+m2), e o hiperplano passa

exatamente no ponto médio dos centros m1 e m2, conforme a Figura II-5. Caso

contrário, o hiperplano será puxado em direção ao centro relacionado a menor

probabilidade a priori, aumentando a probabilidade de classificação na classe contrária.

Page 39: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

30

Figura II-5 – Superfície de decisão para ∑ = ( σ2.I)

O segundo, relacionado ao fato das matrizes de covariância serem iguais, ou

seja: ∑1 = ∑2 = ∑. Neste caso, a função de classificação quadrática se reduz a uma

função de decisão, na forma:

f(x) = ϕ ( g2(x) – g1(x)), ou

f(x) = ϕ ( 1/2.(x-m1)T.∑-1.(x-m1) - 1/2.(x-m2)T.∑-1.(x-m2)).

A superfície de decisão continua sendo linear, derivada do fato de que:

(x-mi)T.∑-1.(x-mi) = xT.∑-1.x - xT.∑-1.mi - miT

.∑-1.x + miT

.∑-1.mi

provocando, portanto, a anulação do termo quadrático xT.∑-1.x na função relacionada a

diferença das funções discriminantes.

Entretanto, a superfície não é mais perpendicular à direção da reta que une os

dois centros. A distribuição dos dados para cada classe assume a forma geral de um

elipsóide, conforme a Figura II-6, com formatos e tamanhos semelhantes. As funções

discriminantes, neste caso, são descritas pelas seguintes funções lineares:

gi(x) = wiT.x + bi, onde wi =∑-1.mi e bi = -(1/2.mi

T .∑-1.mi).

Page 40: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

31

Figura II-6 – Superfície de decisão para ∑1 = ∑2

Para o caso mais geral, ver Figura II-7, onde as matrizes de covariância são

diferentes e não diagonais, as superfícies de decisão são quadráticas, podendo tomar as

formas circulares, elípticas ou parabólicas, dependendo do formato e da posição de cada

cluster de dados determinados, respectivamente, pelo centro e pela matriz de

covariância associada.

Figura II-7 – Superfície de decisão para ∑1 ≠ ∑2

Page 41: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

32

Apesar da maior precisão ou acurácia dos classificadores quadráticos, tem-se um

problema relacionado ao seu alto custo computacional. Este custo se refere ao fato

destes classificadores possuírem um número de parâmetros livres que crescem

quadraticamente com a dimensão do espaço de entrada. Ao contrário, as funções de

classificação lineares necessitam determinar, somente, um número linear de parâmetros.

Também, o uso de discriminantes quadráticos, requer mais exemplos de

treinamento para uma estimativa precisa de seus parâmetros. FISHER (1936),

demonstrou que os discriminantes quadráticos requerem uma quantidade de dados da

ordem mínima de 10.n2, sendo n a dimensão do espaço de entrada. Para contornar este

problema, Fisher sugeriu que, no caso mais geral, as matrizes de covariância sejam

aproximadas para a forma:

∑1 = ∑ 2 = ∑ = γ.∑1 - (1- γ ).∑ 2 ,

para uma constante γ, 0< γ < 1, tornando o discriminante linear.

2.4 - Minimização do risco de decisão Podem ser utilizados diferentes critérios para o projeto de classificadores. Esses

critérios, de uma forma ou de outra, são baseados em medidas de probabilidade. Dentre

os critérios mais importantes, podemos descrever:

1 - O critério denominado MAP, visto anteriormente, conhecido também

como critério de decisão de Bayes, que minimiza o erro esperado de

classificação, tomando o argumento relacionado ao valor máximo das

probabilidades a posteriori.

2 - O critério denominado ML, também visto anteriormente, que considera

somente as probabilidades condicionais, chamadas de likelihood, para a

determinação da função de decisão. É equivalente ao critério de Bayes,

caso as probabilidades à priori sejam iguais.

3 - O critério de Neyman-Pearson ou simplemente N-P, que é um critério

idêntico na forma ao critério ML. A diferença básica é que este critério

compara a taxa das probabilidades condicionais em relação a um

determinado parâmetro. Se este parâmetro for igual a um, o critério de

Neyman-Pearson se equipara ao critério ML.

Page 42: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

33

4 - O critério Min-Max, relacionado à teoria dos jogos.

5 - O critério relacionado somente as probabilidades a priori.

6 - O critério relacionado a estimativa da máxima entropia.

7 - O critério relacionado à minimização do risco de Bayes, que representa

uma generalização do critério de Bayes, para um novo conjunto de

funções perda. Caso a função de perda seja uma função do tipo 0-1, esse

critério se reduz ao critério de Bayes.

Considerando que o critério Min-Max, apesar de ser um critério de decisão, não

se aplica a problemas de classificação ou reconhecimento de padrões, que o critério

relacionado a máxima entropia se aplica, principalmente, aos classificadores simbólicos

como as árvores decisórias, e que os demais critérios são variantes ou simplificações do

critério de Bayes, apresentaremos, a seguir, o critério relacionado à minimização de

risco de Bayes.

Em alguns problemas de classificação, é importante minimizar a probabilidade

de classificação errônea dos dados, segundo determinados critérios. Em um problema de

diagnóstico médico, por exemplo, a ocorrência de resultados falso-negativos é muito

mais séria do que a presença de resultados falso-positivos. Sendo assim, é possível

associar ao erro de classificação das hipóteses uma matriz de perda, definida por

elementos Lkj, atribuindo penalidades distintas à classificação de um dado a classe Cj

quando de fato o mesmo deveria pertencer à classe Ck.

Desta forma, considerando como função discriminante a probabilidade a

posteriori de cada classe, o risco ou perda esperada de um dado pertencente a classe Ck,

ser classificado erroneamente, para um total de c classes, é dado por:

( ) ( )∑ ∫=

=c

j Rkkj

j

dxCxPLkR1

|

Portanto, a perda total esperada ou simplesmente o risco, para todo processo de

classificação, será dado por:

( ) ( ) ( )∑ ∫∑∑= ==

==c

j R

c

kkkkj

c

kkk

j

dxCPCxPLCPRR1 11

|.

Page 43: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

34

Assim, a melhor decisão deve ser aquela que minimiza o funcional de risco para

uma determinada matriz de perda escolhida, nos casos em que a probabilidade de

distribuição dos dados seja conhecida. Portanto, atribuímos x a classe Ck se:

Para um problema envolvendo somente duas classes, podemos definir o risco

das mesmas como:

R1 = L11.P(x|C1).P(C1) + L21.P(x|C2).P(C2)

R2 = L12.P(x|C1).P(C1) + L22.P(x|C2).P(C2)

Neste caso, atribuímos a x a classe C1 se R1 < R2, ou seja, se:

P(x|C1)/P(x|C2) > P(C2).(L21 – L22) / P(C1).(L12 – L11)

Se considerarmos P(C1) = P(C2) e L11 = L22 = 0, atribuímos a x a classe C1 se:

P(x|C1) > P(x|C2).(L21/L12).

2.5 - Treinamento por correção do erro

2.5.1 – Regressor linear:

Nesta seção, mostraremos um novo paradigma de aprendizado supervisionado que tem

como base o processo de correção por erro. Esta forma de treinamento esta relacionada

ao princípio de minimização do risco empírico, tomando como função de perda o

quadrado da diferença entre o valor computado f(x) e o valor desejável y para um

conjunto finito de treinamento formado por pares (xi, yi), para i=1,...,m.

Na forma mais simples, o modelo consiste de um regressor linear que procura

aproximar ou ajustar o conjunto de pontos pela equação de uma reta, considerando as

informações fornecidas pelo conjunto de treinamento. Os principais elementos deste

modelo, mostrados na Figura II-8, são definidos a seguir:

Page 44: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

35

1 - A equação da reta na forma <w, x> + b definindo dois parâmetros

formados pelo coeficiente w e o escalar b, também chamado de bias da

equação.

2 - O conjunto de valores estimados correspondentes ao mapeamento da

função na forma: z = <w, x> + b.

3 - O erro individual de cada mapeamento dado pela diferença entre valor

estimado e o valor desejado na forma: εi = yi - zi, onde zi = <w,xi> + b.

Figura II-8 – Modelo de regressão linear

Em função destes elementos, podemos definir o erro quadratico médio, como a

função quadrática:

∑=

=m

iim

J1

2

21

ε

Solução analítica:

A solução do problema de regressão consiste em encontrar o mínimo da função J

em função dos parâmetros da equação de regressão. Existe uma solução analítica do

problema, amplamente conhecida no meio estatístico, proposta por Karl Friedrich Gauss

(1777-1855), que consiste em computar as derivadas parciais da função J em relação aos

parâmetros da equação de regressão e igualar a zero. Esta solução está relacionada,

obviamente, a satisfação das condições de primeira ordem para a determinação do ponto

de mínimo de uma função. Ou seja, fazemos:

Page 45: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

36

∂J/∂w = 1/m. ∑i [yi – w.xi –b. xi] = 0

∂J/∂b = -1/m. ∑i [yi – w.xi –b) = 0

A solução deste sistema de equações lineares fornece:

w = ∑i (xi – xm).(yi – ym) / ∑i (xi – xm)2

b = (∑i xi2. ∑i yi - ∑i xi. ∑i yi.xi) / m.(∑i (xi – xm)2),

onde xm e ym são, respectivamente, as médias do conjunto de dados, definidas como:

xm = 1/m. ∑i xi e ym = 1/m. ∑i yi,

estando associadas ao primeiro momento das funções de densidade de probabilidade

(fdp).

Para determinarmos o grau de eficiência da regressão, computamos o coeficiente

de correlação r, definido como uma relação entre a covariância das duas variáveis e o

produto dos respectivos desvios padrões, ou seja:

r = E[(xi ), (yi)] / σx. σy,

onde:

E[(xi),(yi)] = 1/m . ∑i (xi – xm).(yi – ym)T e

( )∑ −=i

mx xxim

21σ

( )∑ −=i

my yyim

21σ

Os valores do coeficiente r variam de -1 a 1. Quando r está próximo de 1 indica

que os dados estão bem correlacionados, próximo de 0, indica que não há correlação e

próximo de -1 indica que existe uma correlação negativa, ou seja, na forma inversa. O

desvio padrão é a raiz quadrada da variância. A variância, identificada por σ2,

representa uma medida de dispersão dos dados em torno da média, estando associada ao

segundo momento da função de densidade de probabilidade.

Page 46: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

37

Solução iterativa:

Neste trabalho, estamos interessados em soluções adaptativas, ou seja, soluções

que possam ser computadas de modo iterativo, convergindo para o ponto de ótimo do

problema.

A solução do problema de regressão linear pode ser obtida iterativamente através

da utilização do método de gradiente. A função de erro J, também chamada de

superfície de erro, tem a forma quadrática. A solução do problema consiste em

determinar o ponto de mínimo w* em J, assumindo por conveniência que o bias do

modelo é igual a zero, correspondente ao menor valor do erro, conforme a Figura II-9:

Figura II-9 – Superfície de erro da regressão simples

Para tanto, podemos utilizar um método de descida. Este processo consiste,

basicamente, em atualizar a cada iteração os parâmetros da função em relação à direção

contrária a direção do gradiente, que aponta para a máxima troca, ou seja:

( ) ( ) ( )kJkwkw ∇−=+ η1 ,

onde η é uma pequena constante relacionado ao passo de atualização, sendo o gradiente

da função computado momentaneamente para cada valor de w. Este processo pode ser

melhor visualizado pela Figura II-10.

Page 47: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

38

Figura II-10 – Método de descida ou gradiente

É importante mostrarmos que o algoritmo apresenta uma taxa de convergência

geométrica em relação a um parâmetro de adaptação que é inversamente proporcional a

taxa de aprendizagem η. Neste sentido, devemos saber qual o maior valor possível da

taxa de aprendizagem η, no sentido de garantirmos uma convergência rápida e estável.

Para mostrarmos esta convergência é necessário, primeiramente, reescrever a

equação de atualização dos pesos na forma:

w(k + 1) = (1- η.λ).w(k) + η.λ.w* ,

onde λ = 1/m. ∑xi2 e w* é a solução ótima que minimiza a função quadrática de erro.

Prova: Para obtermos a nova expressão de atualização dos pesos devemos mostrar que

a função quadrática de erro pode ser reescrita na forma:

J = Jmin + ½.m .(w – w*). ∑xi2 .(w – w*)

Seja w* obtido da equação original de erro fazendo ∂J/ ∂w = 0, o que implica:

w* = ∑xi.yi/ ∑xi2.

Substituindo este valor na equação de erro, temos:

Page 48: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

39

Jmin = 1/(2m).[∑i yi2 - (∑i xi.yi)2/ ∑i xi2 ].

Considerando a função original de erro na forma:

J = 1/(2m). ∑i [xi2.w2 – 2.yi.xi.w + yi2],

podemos reescrever a mesma na forma desejada:

Jmin + ½.m .(w – w*). ∑xi2 .(w – w*),

introduzindo na expressão os valores de Jmin e w*.

Considerando a introdução do parâmetro λ = 1/m. ∑xi2 na nova equação obtida

para a superfície de erro, temos:

J = Jmin + λ / 2.(w – w*)2.

Finalmente, computando o gradiente de J em relação a w, obtem-se:

( )*. wwj −=∇ λ ,

cujo valor, substituído na equação original de atualização, fornece:

w(k + 1) = (1- η.λ).w(k) + η.λ.w*.

Aplicando o processo de indução nesta equação, até obtermos o valor de w(0), e

realizando algumas operações de eliminação dos termos comuns, obtemos:

w(k) = w* + (1- η.λ)k.(w(0) – w*)

Na solução, temos w(k) = w*. Desta forma, a segunda parte da expressão deve

tender a zero em função do número de iterações k. Portanto, o valor de (1- η.λ)k deve

ser menor que 1. Para tanto, devemos ter |1- η.λ| < 1, fornecendo:

η < ηmax = 2/ λ

Desta análise da convergência, podemos deduzir alguns resultados importantes:

1 - O processo de convergência é geométrico em relação a uma razão ρ=|1-

η.λ|;

Page 49: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

40

2 - Na atualização por lote ou batch, podemos utilizar uma taxa normalizada

igual a ηmax/2.m;

3 - Na atualização online é comum utilizarmos uma taxa equivalente a 10%

de ηmax;

4 - É possível definirmos uma constante de adaptação que prevê o número

de iterações ou épocas que o algoritmo vai realizar até ocorrer a

convergência. Este valor é dado pela expressão: Г= 1/ η.λ.

Obviamente, uma adaptação rápida requer uma taxa alta de aprendizagem, sendo

que, em condições ideais, para η = ηmax, o método converge em quatro iterações.

2.5.2 - Regressor com múltiplas variáveis: Nesta forma de aprendizado, assumimos a existência de múltiplas variáveis ou

componentes para cada amostra do conjunto de treinamento. Estas variáveis são

chamadas de variáveis independentes, e o objetivo consiste em determinar o melhor

regressor linear que associa estes valores a uma saída representada por um conjunto de

valores a serem mapeados.

A equação do regressor tem a forma:

z = w1x1 + w2x2 + ... + wDxD + b

= < w, x > + b,

considerando a existência de D variáveis independentes, determinando a dimensão do

espaço de entrada, do vetor de pesos w e do parâmetro b, relacionado ao bias da

equação.

A cada variável ou componente xi, de uma amostra (x,y), está associado um

coeficiente ou peso wi, sendo o vetor w também chamado de vetor de coeficientes. Para

cada amostra xi do conjunto de treinamento, o regressor computa uma saída zi, que deve

ser comparada ao valor desejável yi, fornecendo um valor de erro єi, ou seja:

εi = yi-zi, onde zi = <w,xi> + b,

conforme o esquema apresentado na Figura II-11.

Page 50: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

41

Figura II-11 – Regressão linear com múltiplas variáveis

Desta forma, podemos definir a função de erro, dada pela média da soma dos

erros quadrados, como:

J = 1 / (2m) . ∑(εi)2 , i = 1,...,m

= 1/ (2m) . ∑i ( yi - < w, xi> + b )2 , i = 1,...,m

= 1/ (2m) . ∑i ( yi - ∑k wk.xik, k=0,...,D)2 , i = 1,...,m

Podemos observar, pela Figura II-12, que em R2, ou seja, considerando a

existência de duas componentes no vetor w, a superfície de erro depende dos

coeficientes w1 e w2.

Page 51: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

42

Figura II-12 – Superfície de erro da regressão múltipla

Solução analítica: A solução deste problema, ou seja, a obtenção do mínimo da função ou da

superfície de erro, pode ser obtida exatamente como no caso de regressão simples,

tomando as derivadas parciais de J em relação ao vetor w e bias b, representado pela

componente w0, e igualando as expressões a zero. Isto implica na solução de um sistema

formado por D+1 equações, contendo D+1 variáveis não conhecidas, expresso na forma:

∂ J/∂wj = -1/m. ∑i xij .( yi - ∑k wkxik, para k = 0,...,D ) = 0, para j = 0,...,D

A solução deste sistema recai na solução do sistema de equações matriciais na

forma:

∑i xij.yi = (∑k wk∑i xik.xij, para k=0,...,D), para j = 0,...,D

Este sistema pode ser representado mais facilmente utilizando-se uma notação

matricial que emprega uma matriz R denominada matriz de autocorrelação dos vetores

de entrada. Esta matriz é definida na forma R = [Rk,j], onde cada elemento

Rk,j=1/m.(∑ixik.xij, para i = 1,...,m), representa a auto-correlação das variáveis ou

componentes de índices k e j, considerando todo conjunto de treinamento.

Page 52: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

43

Seja, também, o vetor P = [Pj] relativo à correlação cruzada de uma variável ou

componente de índice j em relação ao vetor de valores desejados y. Portanto:

Pj = 1/m. (∑xij.yi , para i = 1,...,m).

Substituindo no sistema de equações, temos:

P = R.w* , o que implica: w* = R-1.P.

A solução analítica do problema de regressão de múltiplas variáveis envolve,

portanto, a determinação da matriz inversa da matriz R de autocorrelação, e a realização

de um produto matricial, envolvendo uma matriz e um vetor.

A solução deste problema poderia, também, ser obtida diretamente da função de

erro, representada na forma matricial, ou seja, tomando:

J(w) = [0.5.wT.R.w – PT.w + 1/(2m). (∑i yi2, para i=1,...,m) ],

e, fazendo ∂J/∂w = 0 , temos:

0.5.R.w + 0.5.wTR – P = 0,

o que implica em:

2.R.w – 2.P = 0, ou w* = R-1.P

Se substituirmos o valor de w*, na equação da superfície de erro, obtemos:

Jmin = ½ .[1/m. (∑i yi2, para i=1,...,m) – PTw*]

Desta forma, a equação de erro pode ser reescrita como:

J = Jmin + ½.(w – w*)T.R.(w-w*)

Neste caso, podemos observar que a matriz de correlação define o formato da

superfície de erro, entretanto, a determinação de seu ponto de mínimo depende do

conjunto de valores desejados.

Page 53: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

44

Solução iterativa: Para determinamos o mínimo da superfície de erro, podemos, a exemplo da

regressão linear simples, utilizar uma técnica iterativa baseada, também, no computo da

direção do gradiente, ou seja:

Definindo T

DwJ

wJ

wJJ

∂∂

∂∂

∂∂

=∇ ,,,10

K , podemos atualizar o vetor w, segundo a

expressão:

( ) ( ) ( )kJkwkw ∇−=+ η1

Neste caso, o tamanho máximo do passo, representado pela constante η, que

garante a convergência do método, é fornecido considerando a análise da expressão:

w(k+1) = (I - η.R).w(k) + η.R.w*

A convergência não será mais geométrica, como na regressão simples, e

dependerá da matriz de autovalores Λ relacionada ao computo dos autovalores da matriz

de auto-correlação R. A condição de convergência requer, segundo WIDROW e

STEARNS (1985), que: lim ( I - η Λ)k = 0 p/ k → ∞.

A matriz de autovalores Λ tem a forma de uma matriz diagonal, onde cada

elemento autovalor λi é computado segundo a solução do sistema: det( R – λ.I) = 0.

De forma resumida, podemos dizer que a convergência é garantida, se, para cada

direção principal da superfície de erro, tivermos: 0 < η < 2/ λi. Portanto, um limite para

o valor da taxa, pode ser obtido considerando: η < 2/ λmax.

Neste sentido, podemos fazer as seguintes observações relacionadas ao processo

de convergência, conforme a Figura II-13.

Page 54: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

45

Figura II-13 – Direções do gradiente e autovalores

1 - Quando os autovalores da matriz R são semelhantes, as curvas de

contorno da superfície são circulares e a negativa da direção do gradiente

aponta em relação ao ponto de mínimo. Neste caso, a convergência se

comporta como no caso unidimensional.

Page 55: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

46

2 - Quando os autovalores são diferentes, ocorre uma forma de spread, e as

curvas de contorno tomam a forma de elipses. Neste caso, a direção

oposta ao gradiente não aponta necessariamente para o ponto de mínimo,

significando que a trajetória de modificação dos pesos não será retilínea.

Se tomarmos um valor de η incompatível, o processo pode divergir em

uma ou mais direções. Portanto, o passo ou a taxa de aprendizagem do

método, fica limitado inversamente pelo valor do maior autovalor.

3 - A convergência segue, inicialmente, a direção do maior autovalor,

implicando em maiores correções do vetor de pesos, associadas a

menores passos. No fim do processo, a atualização do vetor de pesos está

associada ao valor do menor autovalor, o qual possui uma pequena taxa

de adaptação e fornece maiores passos. Neste sentido, podemos dizer que

a velocidade de adaptação é controlada pelo menor autovalor. De fato,

podemos considerar Г= 1/ η.λmin .

2.5.3 - Método de Newton: O método de Newton propõe uma solução iterativa do problema de minimização de

uma função utilizando-se, também, das informações de segunda ordem relacionadas a

matriz hessiana H, ou matriz de derivadas parciais de segunda ordem da função.

Seja uma aproximação quadrática f, ou a expansão da função f, contínua e

diferenciável, em uma série de Taylor:

( ) ( ) ( )( ) ( ) ( )( )kkkT

kkkkkkk xxxHxxxxxfxfxf −−+−∇+= ++++ 1111 .21

Se H(xk) ≠0, então xk+1 é um ponto estacionário de f, ou seja ( ) 01 =∇ +kxf ,

fornecendo:

( ) ( ) ( ) 0. 1 =−+∇ + kkkk xxxHxf

ou, equivalentemente:

( ) ( )kkkk xfxHxx ∇−= −+

11

Page 56: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

47

Considerando, xk+1 = xk + p, onde p se refere ao passo em relação ao ponto de

mínimo, podemos reescrever o modelo quadrático da função na forma:

( ) ( ) ( ) ( )pxHppxfxfpxf kT

kkk .21

+∇+=+

Caso pk seja o mínimo da função quadrática: ( ) ( ) ( )pxHppxfp kT

k .21

+∇=Φ ,

temos que:

( ) ( )kkk xfpxH −∇=. , ou ( ) ( )kkk xfxHp ∇−= −1.

Considerando a função a ser aproximada a função de erro J, temos:

J = 1/(2m).∑i ( yi - ∑k wk.xik, k=0,...,D)2 , i = 1,...,m ,

consequentemente:

∂J/∂wj = -1/m. (∑i ( xij.(yi - ∑k wk.xik, k=0,...,D))) , i = 1,...,m , j = 1,...,D

= ∑k wk.Rk,j - Pj, k,j = 0,...,D

∂(∂J/∂wj)/∂wi = Ri,j, para i,j = 1,...,D

Portanto, a matriz hessiana H, na solução do problema de regressão de múltiplas

variáveis pelo método de Newton, se equivale a matriz R de autocorrelação. Neste

sentido, a equação de atualização dos pesos toma a forma:

( ) ( ) ( )( )kR

kJkwkw ∇−=+1

A principal diferença entre o método de Newton e o método do gradiente, se

refere ao fato de que, no método de Newton, a direção de descida sempre aponta para o

mínimo da função, enquanto que, no método do gradiente, a direção de descida aponta

na direção da máxima troca, conforme mostra a Figura II-14. Portanto, ao

multiplicarmos o vetor gradiente pela inversa da matriz de autocorrelação, estamos

ajustando ou normalizando a direção, no sentido do ponto de mínimo da função.

Page 57: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

48

Figura II-14 – Direção de Newton x direção do gradiente

Quando os autovalores da matriz R são iguais, a direção de Newton coincide

com a direção do gradiente. Entretanto, caso o spread ocorra, o método de Newton se

torna uma alternativa mais eficiente ao método do gradiente.

Outra vantagem deste método está na velocidade de convergência relacionada a

um tempo de adaptação constante, derivado da equalização dos autovalores em

decorrência da normalização do gradiente. Neste caso, os pesos, ou componentes do

vetor, convergem na mesma taxa em cada direção, independentemente dos valores dos

autovalores.

Esta vantagem está, evidentemente, no uso de informações adicionais, ou das

informações de segunda ordem da função. Entretanto, a sua implementação requer um

custo computacional maior, relacionado ao cálculo da matriz de autocorrelação e a sua

inversa. Neste caso, podemos ter uma solução analítica que computa a inversa da matriz

de autocorrelação a priori, ou uma solução adaptativa que estima o seu valor por

sucessivas aproximações com base em uma implementação iterativa.

Ambas alternativas apresentam seus problemas, a solução analítica pode esbarrar

no mau condicionamento da matriz R, enquanto que, a solução adaptativa, na baixa taxa

de convergência do método decorrente de um alto spread dos dados .

Page 58: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

49

A seguir, veremos como o gradiente da função de erro pode ser computado de

forma eficiente, em função dos valores presentes no conjunto de treinamento, em uma

forma online, proporcionando uma nova forma de solução para o problema de

regressão, conhecida como método dos mínimos quadrados, ou algoritmo LMS.

2.5.4 - Algoritmo LMS, regra delta e ADALINE: No início dos anos 60, Bernard Widrow construiu um algoritmo extremamente elegante

para uma estimativa paramétrica do gradiente da função em soluções adaptativas. Ele

propôs que, ao invés de estimar o gradiente de todos os valores da função envolvido em

um somatório, era suficiente utilizar somente os valores instantâneos, de forma iterativa,

como uma estimativa da verdadeira quantidade. Convêm ressaltar que Bernard Widrow

foi o primeiro pesquisador a utilizar sistemas adaptativos em aplicações de engenharia.

Utilizando a idéia na função de erro J, e tomando a derivada parcial da mesma

em relação ao parâmetro w, temos:

A vantagem neste caso, é que o gradiente da função pode ser estimado a cada

iteração, realizando-se somente uma multiplicação. Esta forma de estimativa do

gradiente, aplicada ao problema de regressão linear, gerou o famoso algoritmo

denominado LMS ou método dos mínimos quadrados, bem como, o modelo de rede

neural conhecido como Adaline (WIDROW e HOFF (1960)).

Substituindo o valor do gradiente na equação de atualização do parâmetro w,

tem-se a seguinte regra de treinamento:

Esta regra, no contexto de um neurônio linear adaptativo ou Adaline com um

vetor de múltiplos parâmetros de entrada, equivalente a um problema de regressão de

múltiplas variáveis, é chamada de regra delta. A mesma pode ser obtida de uma forma

adaptativa, empregando-se a regra da cadeia a topologia de uma rede neural definida

somente por um elemento processador.

Page 59: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

50

Este elemento foi introduzido pela primeira vez por Warren McCulloch e Walter

Pitts (1943) e consiste basicamente na aplicação de uma função de saída degrau, não

linear, chamada função de ativação, ao valor produzido pelo elemento Adaline. Desta

forma, o resultado de saída do modelo de McCulloch e Pitts, pode ser computado como:

Sendo a variável net uma abstração do potencial de ativação do neurônio

produzido pela combinação linear dos sinais de entrada equivalente ao produto interno

<w, x> em comparação a um valor de limiar representado pelo bias b. Esta analogia,

pode ser mais bem representada na Figura II-15.

Figura II-15 – Neurônio matemático e neurônio biológico

Como dissemos, a regra de aprendizado relacionado ao algoritmo LMS, pode ser

derivada utilizando-se a regra da cadeia na estrutura de um elemento linear adaptativo.

Observe que agora, a função de ativação ou função de saída não é definida a priori,

como no elemento de McCulloch e Pitts. A derivação da regra delta pela regra da cadeia

é um exemplo claro do emprego do paradigma de correção por erro na solução

adaptativa de sistemas lineares.

Page 60: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

51

Primeiramente, tomamos a função J, modificada agora, de modo a representar o

erro quadrático total.

( ) ∑∑==

+=−==D

iiipppp

m

pp bxwzzyJ

11

2 . e onde 21

εε

Aplicando a regra da cadeia, conforme a Figura II-16, temos:

( ) pippippi

p

pi

p xxzywz

zJ

wJ

ε−=−−=∂

∂∂

=∂

∂.

Caso a função de ativação f seja considerada, temos um novo desdobramento da

regra da cadeira, fornecendo:

( ) ii

p

i

p xnetfwnet

netz

wz

.. ′=∂∂

∂=

Derivando, portanto, a seguinte expressão final conhecida como regra delta:

( ) ( ) ( ) ( ) ( )( )knetfkxkkwkw ppipii ′+=+ ..1 ηε

É importante verificarmos que para uma função de saída linear, a regra delta

retoma a equação anterior, desconsiderando o termo relativo à derivada da função de

ativação.

Figura II-16 – Regra da cadeia aplicada a função de ativação

Page 61: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

52

Na solução de sistemas não lineares, é comum tomarmos a função de ativação

como um tipo de função sigmóide que atenue o valor da derivada. Entre as funções mais

empregadas estão a função logística e a função tangente hiperbólica, que mapeiam

respectivamente valores entre 0..1 e -1..1 . As derivadas destas funções são dados por:

( ) ( )iii xxnetf −=′ 1logistic

( ) ( )2tanh 15.0 ii xnetf −=′

As funções de ativação mais utilizadas estão representadas na Figura II-17.

Além da função logística e da função tangente hiperbólica é representada, também, a

função sinal, conhecida como threshold, de caráter não linear e descontínuo.

Figura II-17 – Funções de ativação mais comuns

Uma implementação em alto nível do algoritmo está descrita a seguir:

Algoritmo LMS;

Entrada:

Conjunto de treinamento na forma: { (x1,y1), ..., (xm,ym) }

Função de ativação: (1) linear, (2) logística, (3) tangente hiperbólica

Taxa de aprendizagem η, 0 < η < 1

Variáveis:

Conjunto de variáveis independentes: x = (+1, x1, x2, xD)

Conjunto de parâmetros: w = (w0, w1, w2, ..., wD)

Aproximação do erro: ε

Derivada da função: derf

Page 62: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

53

Saída:

Equação do regressor na forma: <w.x> + b = 0

Início

n ← 1; w(n) ← 0;

derf ← 1;

Se tipo = 2 Então

derf ← x(n+1).(1 – (x(n+1))

SenãoSe tipo = 3 Então

derf ← 0.5.(1 – x(n+1)2)

Fim_Se; Enquanto erro (ε) for maior que erro admissível Faça

Para todo vetor x do conjunto de treinamento Faça

ε(n+1) ← y(n+1) – xT(n+1).w(n);

w(n+1) ← w(n) + η . derf.x(n+1).ε(n+1)

Fim_Para;

n ← n + 1;

Fim_Enquanto;

Fim. A extensão do modelo Adaline para uma rede contendo múltiplas unidades de

saída, recebe o nome de Madaline, conforme mostra a Figura II-18. Neste caso, o vetor

de pesos toma a forma de uma matriz e a regra delta é aplicada da mesma forma

computando localmente o erro e a derivada de cada unidade, para cada vetor linha de

pesos associados, ou seja:

( ) ( ) ( ) ( )( )knetfkxkkwkw ijijiji ′+=+ ..)(1 ,, ηε

Figura II-18 – Modelo Madaline

Page 63: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

54

Não linearidade, suavidade e atenuação de erro: Conforme observado na introdução do trabalho, a não linearidade e

adaptabilidade são características essenciais de muitos problemas reais e seus processos

biológicos de solução. A modelagem e solução analítica destes problemas nem sempre é

possível. Entretanto, a utilização de técnicas de otimização iterativa ou adaptativa, como

já visto, aproxima boas soluções para esta classe de problemas. Contudo, esses métodos

dependem, essencialmente, da propriedade de suavidade da função. Daí, a utilização de

funções de ativação não lineares de natureza sigmóide.

A utilização de elementos processadores não lineares terá um papel importante

em sistemas de classificação, como veremos adiante. Entretanto, a sua utilização torna

mais difícil o processo de convergência para um ótimo local. A não linearidade do

elemento processador modifica a superfície de erro, que relaciona os valores da função

de erro com os parâmetros que estão sendo otimizados. Neste caso, a superfície de erro

deixa de ter a forma quadrática e convexa do método LMS, tornando-se uma superfície

não convexa com a existência de vários mínimos locais.

Outro aspecto importante a ser considerado na otimização de sistemas, se refere

a atenuação dos valores de saída, principalmente, relacionados aos valores da derivada

da função de ativação, conforme mostra Figura II-19. Essa atenuação de sensibilidade é

importante no sentido de amenizar a influência de pontos indesejáveis, denominados

outliers, no processo de treinamento.

Page 64: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

55

Figura II-19 – Função de ativação sigmóide e sua derivada

2.5.5 - Uso de regressão linear como classificador A utilização de um modelo de regressão linear como classificador consiste,

basicamente, em aplicar uma função de decisão a função de regressão representada pela

equação de uma reta. Para exemplificar, tomemos um problema de classificação binária

em R2.

Exemplo 2.1: Sejam x1 e x2 as coordenadas ou componentes de um vetor de

entrada. O modelo de regressão define a equação de uma reta na forma <w, x> + b.

Esta reta define uma superfície de decisão de tal forma que: se um ponto do espaço esta

exatamente sobre a reta o valor produzido será zero. De outra forma, o valor produzido

pela equação de regressão assumirá valores positivos ou negativos. Para um problema

de classificação binária, estes valores, correspondentes ao conjunto de valores

desejáveis yi, serão +1 ou -1.

Portanto, definindo uma terceira dimensão para os valores da função, temos uma

superfície de decisão na forma de um degrau de escada. No patamar superior estarão os

pontos associados aos valores +1, no patamar inferior estarão os pontos associados aos

valores -1.

Page 65: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

56

Neste sentido, aplicando a função sinal a equação da reta, criamos uma função

de decisão que produzirá como saída a classificação apropriada do dado de entrada. Este

processo pode ser exemplificado pelo seguinte esquema da Figura II-20:

Figura II-20 – Regressor como classificador

Equação do regressor: [ ][ ] bxx T +− 21,.1,1

Função discriminante: ( ) ( )( )

∈<−∈≥−

=−11

22121 02 se 0

0 se 1CxxxCxxx

xxϕ

É fácil percebermos que a função de decisão, representada pela aplicação de

função de ativação do tipo sinal, no elemento processador, gera duas regiões de

classificação. Uma correspondente ao semi-espaço acima da reta para classe C1(rosa) e

a outra correspondente ao semi-espaço abaixo da reta para a classe C2(azul). Se

incluirmos um bias ou desvio na equação de regressão, modificamos a posição do

regressor para a direita ou para a esquerda.

Page 66: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

57

Geralmente, a utilização de regressores em problemas de classificação, não

conduz a bons resultados, mesmo em problemas com separabilidade linear. A

explicação básica é que, os processos de classificação e regressão, são processos de

natureza completamente distinta, até mesmo opostos, mesmo tendo como objetivo

conceitual a aproximação de uma função ou a realização de um mapeamento.

Na regressão, procuramos um ajuste perfeito dos dados, minimizando o erro

residual ou erro empírico, no sentido de obtermos uma correlação entre os dados de

entrada e a resposta desejada. Na classificação, por outro lado, procuramos separar os

dados de classes distintas o máximo possível. É um processo de segregação que requer,

quase sempre, a elaboração de discriminantes não lineares. Neste caso, o objetivo

principal é reduzir ao máximo o erro de classificação, considerando o erro de

treinamento e o erro de generalização.

Também, nos modelos de regressão, os dados referentes às amostras e aos

valores desejáveis são provenientes de um mesmo mecanismo gerador. Estes dados

geralmente são formados por valores reais, possuindo ambos, uma natureza randômica.

Ao contrário, nos modelos de classificação, principalmente naqueles que envolvem

múltiplas classes, os dados são provenientes, muitas vezes, de mecanismos geradores

diferentes. Os valores desejados ou a variável dependente do modelo assumem valores

discretos, sendo, na maioria das vezes, frutos de um processo de rotulação.

Page 67: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

58

Capítulo III – Perceptrons Nesse capítulo trataremos algumas questões relativas a construção de hiperplanos

separadores e a separabilidade do problema de classificação. Inicialmente, mostraremos

o desenvolvimento do algoritmo Perceptron baseado em uma forma de treinamento

adaptativo. A seguir, será mostrada a deficiência do modelo Perceptron no tratamento

de problemas não linearmente separáveis tomando como exemplo o problema XOR.

Como extensão apresentaremos, também, o desenvolvimento do Perceptron de

múltiplas camadas ou simplesmente MLP.

Finalmente, descreveremos o desenvolvimento do Perceptron de Margem onde

será introduzido o conceito de maximização de margem e vetores suportes no problema

de classificação, iniciando assim, o estudo das máquinas de vetores suportes, tópico que

será descrito com maior profundidade no capítulo seguinte. Vale ressaltar, que o

desenvolvimento do Perceptron de margem se realizou no contexto da mecânica

estatística, não tendo, a princípio, uma relação com a teoria de aprendizagem estatística

de Vapnik e Chervonenkis.

3.1 – Modelo Perceptron ROSENBLATT (1958) propôs um procedimento para a atualização dos pesos de um

elemento processador com múltiplas saídas baseando-se na comparação do valor da

saída com os valores desejados. Este modelo, chamado de Perceptron, é uma máquina

para reconhecimento de padrões, aplicado, inicialmente, ao reconhecimento ótico de

caracteres. Foi considerado o primeiro algoritmo de aprendizado relacionado a modelos

não lineares.

Estruturalmente, o modelo Perceptron é formado por uma camada de entrada,

associando cada unidade de input a componente de um vetor de dimensão D, e uma

camada de saída formada por m unidades. É, portanto, um modelo de Redes Neurais

Artificiais com uma única camada de processamento. Os elementos das duas camadas

são totalmente interconectados por uma matriz sináptica.

Podemos dizer que o modelo Perceptron realiza um mapeamento de um espaço

de entrada de dimensão D para um espaço de saída de dimensão m reduzida. Na sua

forma mais simplificada, o modelo Perceptron é utilizado para problemas de

Page 68: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

59

classificação ou reconhecimento de padrões envolvendo somente duas classes, neste

caso, é suficiente a existência de somente um elemento processador na camada de saída.

Na Figura III-1 representamos a topologia deste modelo Perceptron. O mesmo

pode ser considerado como aplicação da função de ativação threshold ao modelo

Adaline.

Figura III-1 – Topologia do modelo Perceptron

3.1.1 – Perceptron como superfície de decisão: Um Perceptron com m saídas pode dividir o espaço de entrada do problema em m

regiões distintas. Considere o exemplo de um problema de reconhecimento de padrões

com três classes e espaço de entrada em R2. Para um Perceptron constituído de três

elementos processadores na camada de saída, cada unidade definirá a equação de um

hiperplano.

Considerando a interseção desses hiperplanos, ou seja, o segmento de superfície

para o qual duas funções discriminantes se interceptam, serão definidas três regiões de

classificação. A Figura III-2 mostra a superfície de decisão para este Perceptron de três

saídas, para as duas situações possíveis.

Page 69: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

60

Figura III-2 – Separação de classes no modelo Perceptron

Na classificação de um dado, somente uma saída do Perceptron fornecerá um

valor positivo relacionado à região de classificação desejada. Portanto, ao associarmos

cada elemento processador de saída a uma classe, podemos dizer que obtemos uma

implementação associada a uma máquina linear descrita na seção 2.2. A região de

classificação associada a cada classe é definida como a interseção de uma região

positiva de uma classe com a região negativa relativa as duas outras classes, obtidas de

uma forma de treinamento denominada um contra todos.

Para um vetor de entrada x de dimensão D, cada elemento processador do

Perceptron com função de ativação f e potencial de ativação neti, fornece uma saída

f(neti). Desta forma, para um conjunto de parâmetros relacionado ao bias bi e ao vetor

de pesos wi, obtido da matriz de pesos sinápticos, temos a seguinte saída ou sinal

relacionada a unidade de processamento “i”:

( )

+= ∑

jijiji bxwfnetf , j = 1, ..., D.

A capacidade de aprendizagem do Perceptron, bem como seu algoritmo de

treinamento, será estudada, sem perda de generalidade, em um problema de

classificação binária para um espaço de entrada R2, de duas dimensões. Como já

dissemos anteriormente, para a classificação de padrões em duas classes, é necessário

somente um elemento processador na camada de saída. Este elemento define a equação

Page 70: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

61

de um hiperplano, que em nosso exemplo, seria uma reta, capaz de dividir o espaço de

entrada do problema em duas sub-regiões distintas. Seja o exemplo da Figura III-3 para

um hiperplano definido pela equação x1 + x2 = 2.

Figura III-3 – Superfície de decisão do Perceptron

O respectivo modelo, na topologia de uma rede, está apresentado na Figura III-4.

Figura III-4 – Topologia de rede do Perceptron

Se considerarmos a função de ativação uma função threshold ou sinal teremos a

saída do Perceptron igual a um, se o valor de net for não negativo, ou seja, f(neti) = 1 se

neti ≥ 0. Do contrário, se o valor de neti for negativo então a saída do Perceptron será

igual a zero, ou seja, f(neti) = 0 se neti < 0.

Page 71: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

62

Graficamente, pode ser observado na Figura 3.4, que o conjunto de pontos que

fornecem saída igual a um se situam na região definida acima ou na função de decisão,

enquanto que, o conjunto de pontos que fornece a saída igual a zero, está situado na

região definida abaixo da função de decisão. Os discriminantes das duas classes seriam

definidos respectivamente pelas equações dos hiperplanos: X1 + X2 ≥ 2 e X1 + X2 < 2.

Em algumas implementações, o Perceptron pode apresentar saída binária

bivalente, ou seja, -1 e 1. Esses valores estão relacionados, também, a classificação dos

dados nas classes C1 e C2.

Neste momento, é interessante introduzirmos o conceito de hiperplano

separador, ou seja, a definição de uma equação linear que permite a divisão do espaço

em sub-regiões linearmente separáveis, portanto, é conclusivo observar que o modelo

Perceptron ou qualquer outro algoritmo de aprendizagem de máquinas, cuja superfície

de decisão esta relacionada a equação de um hiperplano, só resolve problemas

linearmente separáveis.

Caso o conjunto de dados relacionado ao problema não seja linearmente

separável o modelo Perceptron irá falhar na sua solução. Esta deficiência do Perceptron

na representação de um número muito grande de funções pode ser observada de forma

intuitiva no exemplo descrito a seguir:

Exemplo 3.1: Seja um problema de representação de funções booleanas.

Obviamente, algumas funções simples, como exemplo, a função AND e a função OR,

linearmente separáveis, são implementadas facilmente pelo modelo Perceptron.

Entretanto, existe um grande número de funções, não linearmente separáveis, como

exemplo a função XOR, que não serão implementadas. Para mostrarmos melhor este

problema vamos reutilizar o conceito de dicotomia.

Considerando o número de dicotomias como o número de possíveis divisões de

um conjunto de n pontos, relacionado a um espaço de entrada, em dois subconjuntos

distintos, teríamos, para um conjunto de quatro pontos e espaço de entrada R2, sete

dicotomias possíveis, incluindo algumas funções lógicas conhecidas. Estendendo este

raciocício, teríamos, para um conjunto de n pontos, 2n-1-1 dicotomias. Se

Page 72: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

63

considerarmos, também, a rotulação das classes e a existência do conjunto vazio,

teríamos o número de dicotomias distintas ampliadas para 2n. Certamente, um grande

número destas divisões, não seriam linearmente separáveis.

Segundo Vapnik e como já visto, o número máximo de pontos em um problema

de classificação binária, que admitem dicotomias linearmente separáveis, está

relacinado a dimensão VC, sendo definido como n+1, considerando n a dimensão do

espaço de entrada. Neste sentido, para um espaço de entrada em R2, poderíamos ter no

máximo três pontos linearmente separáveis em todas as dicotomias possíveis.

Uma outra forma de observarmos a incapacidade de representação de algumas

funções booleanas pelo Perceptron, está no que chamamos ser a maldição da

dimensionalidade. Este problema relacionado à maldição da dimensionalidade de

BELLMAN (1957) foi apresentado no contexto do Perceptron por MINSKY e PAPERT

(1969).

Para uma função booleana com n variáveis de entrada, poderíamos ter 2n

argumentos distintos, representando o domínio da função. Como esta função pode

apresentar uma saída binária, teríamos no total 22n

possibilidades de mapeamentos

diferentes, ficando claro que o número de diferentes funções cresce absurdamente em

relação a dimensão do espaço de entrada. Possivelmente, um grande número dessas

funções, também, não será linearmente separável. Exemplo 3.2: Para duas variáveis booleanas de entrada, teríamos quatro

possíveis mapeamentos, ou seja: (1,1), (1,0), (0,1) e (0,0). Como cada mapeamento

poderia assumir dois valores distintos, teríamos um total de dezesseis mapeamentos

distintos para uma função booleana qualquer.

3.1.2 - Algoritmo de treinamento O algoritmo de treinamento do modelo Perceptron pode ser descrito na forma a seguir,

para um processo de treinamento online:

Page 73: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

64

Algoritmo Perceptron;

Entrada:

Conjunto de treinamento na forma: {(x1,y1),(x2,y2),...,(xm,ym)}

Taxa de aprendizagem η

Variáveis:

x(n) – vetor de entrada

w(n) – vetor de pesos

b(n) – bias

z(n) – resposta ou saída

y(n) – resposta desejada

net(n) – potencial do elemento

Saída:

Hiperplano separador na forma: f(x) =.<w,x> + b

Inicio

w(0) ← 0; b(0) ← 0;

n ← 1; t ← 1;

want ← w(0);

Enquanto w(m) <> want Faça

Se (t mod m = 1) Então want← w(m);

n ← 1;

Fim_Se;

net(n) ← ∑ wt(n) . x(n) + b(n);

z(n) ← sinal(net(n));

{ onde:

sinal(net(n)) = 1 se net(n) ≥ 0

= -1 se net(n) < 0 }

Page 74: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

65

{ Atualize o vetor de pesos e o bias }

w(n + 1) ← w(n) + η .1/2.(y(n) – z(n)).x(n);

b(n + 1) ← b(n) + (y(n) – z(n))/2;

{ onde:

y(n) = 1 se x(n) pertence a classe C1

= 0 se x(n) pertence a classe C2 }

{ se x(n) é corretamente classificado pelo vetor w(n) então

w(n+1) = w(n), pois y(n) – z(n) = 0, não havendo correção do vetor de peso.

Caso contrário, fazemos:

w(n+1) = w(n) - η . x(n) se x(n) ∈ C2 (y(n) = -1) e z(n) = 1

w(n+1) = w(n) + η . x(n) se x(n) ∈ C1 (y(n) = 1) e z(n) = -1 }

n ← n + 1; t ← t + 1;

Fim_Enquanto;

Fim.

A seguir apresentaremos algumas observações relacionadas ao processo de

treinamento do modelo Perceptron:

1 - O algoritmo itera sobre o conjunto de dados, e cada iteração completa é

considerada uma época.

2 - O algoritmo baseia a correção dos pesos somente nos erros de

classificação.

3 - O algoritmo irá convergir se todos os padrões de entrada forem

classificados corretamente

4 - O algoritmo somente resolve problemas linearmente separáveis. Caso o

problema não seja linearmente separável, o algoritmo nunca termina.

5 - Como o algoritmo do Perceptron não busca um discriminante ótimo

como na estimativa de um regressor linear, mas sim, uma resposta

satisfatória, o mesmo é capaz de generalizar melhor que um regressor.

Page 75: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

66

6 - Em problemas linearmente separáveis o erro de treinamento do algoritmo

do Perceptron é zero.

3.1.3 – Critério de custo e correção do erro A função de perda ou de erro do algoritmo Perceptron pode ser definida na forma:

( ) ii wnxnywJ .).()( ∑−= , i = 1,..., D

considerando o fato de que, se um dado vetor x, não é corretamente classificado na

enésima iteração, então:

( ) 0).(. <wnxny

Neste sentido, na solução do problema de classificação teremos J(w) = 0,

implicando na ausência de erro. Pelo método do gradiente, o valor da função deve ser

minimizado em relação ao vetor de pesos w, fornecendo:

)().()( nynxwJ −=∇

Estabelecendo, portanto, a equação da correção dos pesos na forma :

)(.)()1( nxnwnw η+=+ , se y(n) = 1

)(.)()1( nxnwnw η−=+ , se y(n) = -1

se o dado x não estiver corretamente classificado.

A introdução da não linearidade no modelo Perceptron, através do uso de uma

função de ativação não linear, do tipo degrau ou sigmóide, não aumenta o poder de

classificação do mesmo, embora um classificador Perceptron de saída não linear, com

função de ativação sigmóide, apresente uma superfície de decisão mais suave e mais

adaptada provocando uma diminuição do erro. Neste caso a regra de modificação é

equivalente a uma adaptação da regra delta para valores de saída e desejáveis binários,

ou seja:

( ) ( ) ( ) ( ) ( ))().(..1 nxnwfnxnnwnw ′+=+ ηε ,

considerando y(n), f(w(n).x(n)) = ± 1 e f a função de ativação não linear associada.

Page 76: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

67

Poderíamos optar no algoritmo por um processo treinamento em modo batch.

Neste caso, a atualização do vetor w se daria somente no final de cada época,

considerando, entretanto, a soma de todos os erros ocorridos. Conseqüentemente, a

equação de correção teria a forma:

∑+= iiant yxww ..η ,

para todos vetores xi erroneamente classificados.

O algoritmo Perceptron não apresenta, para problemas de classificação, o

mesmo resultado que um regressor linear. Embora o algoritmo LMS faça a sua correção

em função de um erro, o fato de utilizar a norma L2 faz com que erros maiores tenham

um maior efeito na atualização dos pesos que erros menores. Devemos considerar,

também, que no algoritmo LMS, o conjunto de erros tem um efeito simultâneo na

atualização dos pesos, implementando uma forma de correção mais suave e contínua, o

que nem sempre acontece no algoritmo do Perceptron.

Além de não tratar dicotomias não linearmente separáveis, existe um outro

grande problema no algoritmo do Perceptron que de fato estimulou o desenvolvimento

do Perceptron de margem, que será tratado neste capítulo. Avaliando o seu algoritmo de

aprendizagem, vemos que, a cada ocorrência de um erro de classificação, o algoritmo

modifica o vetor w de pesos, fazendo uma correção na direção do vetor de entrada x,

alterando, conseqüentemente, o posicionamento do hiperplano separador, conforme a

Figura III-5.

Page 77: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

68

Figura III-5 – Correção do vetor w em função da entrada x

Quando o processo convergir, haverá uma grande probabilidade do hiperplano

separador estar posicionado próximo aos últimos exemplos do conjunto de treinamento

que causaram modificações no vetor w. Para o erro de treinamento isto não causa

problemas. Entretanto, para a utilização posterior do modelo em conjuntos de validação,

estes pontos situados próximos à superfície de decisão aumentarão as chances de

ocorrerem erros de classificação, reduzindo, desta forma, o poder de generalização do

Perceptron.

Como veremos, a atitude mais correta será a de afastar o máximo possível o

hiperplano separador dos pontos relacionados ao conjunto de treinamento de classes

contrárias, definindo, assim, uma margem de segurança que garantirá um maior poder

de generalização.

Como solução intermediária poderíamos impor uma margem fixa de

determinado valor como medida de segurança. Neste caso, o critério de viabilidade do

algoritmo teria a forma:

( ) γ≥wnxny ).(. , para i = 1,..., m,

sendo γ a margem fixa estabelecida.

Page 78: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

69

3.1.4 – Perceptron de múltiplas saídas: A exemplo do modelo Madaline, referente ao elemento linear adaptativo de múltiplas

saídas, podemos definir uma topologia para o Perceptron, com múltiplos elementos

processadores na camada de saída, conforme a Figura III-6.

Figura III-6 – Perceptron de múltiplas saídas

A utilização deste tipo de Perceptron é feita em problemas de multiclassificação,

onde existem mais de duas classes associadas ao conjunto de treinamento. O número de

elementos processadores na camada de saída é função do número de classes do

problema, sendo o número de unidades de entrada equivalente, como já vimos, a

dimensão do espaço de entrada. Na Figura III-2, podemos observar as regiões de

classificação produzidas para um Perceptron com três unidades de saída, m = 3, em um

espaço de entrada associado a R2 , D = 2.

O treinamento do modelo Perceptron para uma topologia de múltiplos elementos

processadores na camada de saída, e relacionado, portanto, a um problema de

multiclassificação, pode ser feito de forma equivalente, considerando, neste caso, o

vetor de pesos w na forma de uma matriz. Cada linha deste vetor estará associada ao

treinamento de uma unidade da camada de saída, definindo, portanto, um hiperplano

separador. Se considerarmos a existência de m unidades de saída, teremos definido m

hiperplanos separadores, que recortam o espaço de entrada em m regiões de

classificação.

O treinamento de cada hiperplano está associado aos exemplos positivos de sua

respectiva classe, sendo feito de uma forma denominada um contra todos, empregada,

também, no treinamento de máquinas de vetores suportes em problemas de

Page 79: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

70

multiclassificação. Neste sentido, a equação de correção dos pesos, na sua forma mais

geral, considerando uma função de ativação f, é a mesma do modelo Madaline, ou seja:

( ) ( ) ( ) ( )( )nnetfnxnwnw ijijkiji ′+=+ ..1 ,, ηε ,

considerando, somente, o cômputo do erro e da derivada local para cada unidade de

saída.

3.1.5 – Perceptron dual: Quando a dimensão do espaço de entrada do problema for superior ao tamanho do

conjunto de treinamento será mais vantajoso optarmos pela solução do problema dual

associado ao Perceptron. Em um primeiro momento, isto parece pouco provável, mas,

como veremos adiante, ao utilizarmos classificadores kernel, ou seja, a introdução de

funções kernel no modelo Perceptron, projetamos a solução do problema para um

espaço de características de dimensão muito maior, tornando mais eficiente a solução do

Perceptron dual.

Para obtermos a formulação do Perceptron dual e, conseqüentemente, o seu

algoritmo de treinamento, devemos, inicialmente, considerar a representação do vetor

w, um parâmetro primal, na forma dependente dos dados. Ou seja, realizamos uma

expansão do vetor em função de cada vetor do conjunto de treinamento, xi, associado

ao respectivo rótulo da classe, yi, e a um conjunto de parâmetros, αi, que representam

as variáveis duais do problema, ou, simplesmente, multiplicadores. Portanto,

redefinimos o vetor de coeficientes na forma: w = ∑i αi.yi.xi.

Esta dependência do vetor w, em relação ao conjunto de treinamento e ao

conjunto de multiplicadores, fica mais bem expressa no exemplo a seguir. De fato, cada

multiplicador representa o grau de importância de cada vetor do conjunto de

treinamento, no posicionamento final do hiperplano separador.

Exemplo 3.3: Considere um conjunto de treinamento definido em R2, na forma:

D = {((0,0),-1), ((0,1),-1), ((1,0),+1), ((1,1),+1)}.

Page 80: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

71

Devemos computar uma função de decisão linear do tipo: f(xi) = <w.xi> - b.

Caso f(xi) ≥ 0, o vetor xi pertencerá a classe rotulada com +1, caso contrário, ou seja, se

f(xi) < 0, o vetor xi pertencerá a classe rotulada com -1.

Atribuindo a mesma influência para cada vetor do conjunto de treinamento no

posicionamento do hiperplano separador, podemos considerar os multiplicadores αi

com valores iguais a 1/m, ou seja, α1 = α2 = α3 = α4= ¼. Assim, teremos:

w = ¼. [ -(0,0) –(0,1) +(1,0) + (1,1) ] = (1/2,0).

Para determinarmos o bias b da equação consideramos o valor médio da

projeção dos vetores relativos aos centros das duas classes na direção do vetor w, ou

seja:

c+ = ½.[ (1,1) + (1,0)] = (1,1/2), c- = ½.[ (0,0) + (0,1)] = (0,1/2).

b = ½.[ (1/1/2).(1/2,0)T + (0,1/2).(1/2,0)T ] = 1/4 .

Finalmente, definimos a função de decisão:

f(x) = (1/2,0).x – 1/4 = x1 – 1/2 , que classifica corretamente os vetores.

Foi mostrado, portanto, a dependência do vetor w e, conseqüentemente, do

hiperplano separador em relação ao conjunto de treinamento, considerando, o

posicionamento dos vetores e seus respectivos rótulos. O vetor de multiplicadores, que

estabelece a importância de cada vetor de treinamento na construção do classificador, é,

em geral, determinado por um algoritmo de aprendizagem. A seguir, veremos como este

cálculo pode ser feito no Perceptron dual, fazendo uma analogia como o algoritmo de

treinamento do Perceptron primal.

Para o Perceptron dual, a função de decisão terá a forma:

f(xi) = ∑j αj.yj.<xj,xi> - b, para j =1,...,m.

Sendo que, da mesma forma, se f(xi) ≥ 0 o vetor xi terá rótulo +1, e , caso

contrário, se f(xi) < 0, o vetor xi terá rótulo -1. Portanto, para classificarmos uma

amostra xi durante o processo de treinamento, verificamos o valor do produto yi. f(xi).

Obviamente, se o produto for negativo, ocorrerá uma desclassificação, ou erro de

treinamento, forçando, desta forma, a correção do multiplicador αi associado.

Page 81: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

72

Pela lógica do algoritmo Perceptron primal, quando ocorre um erro no

treinamento, realizamos uma correção do vetor w na direção do vetor xi, sendo o passo

da correção dado por uma constante de aprendizagem η. Ou seja, fazemos:

w = w + η.xi , para yi = +1,

w - η.xi , para yi = -1.

Portanto, podemos definir a equação de correção como:

w = w + η.yi.xi,

caso yi. f(xi) < 0, sendo f(xi) = <w.xi> - b, ou, simplesmente, f(xi) = <w.xi>, se

considerarmos o bias b igual a zero.

Para o Perceptron dual, podemos fazer a mesma analogia, ou seja, fazemos:

w ← w + η.yi.xi, ou

w ← ∑j αj.yj.xj + η.yi.xi,

o que se torna equivalente a atualizar o multiplicador αi, na forma:

αi ← αi + η.1,

definindo, portanto, o algoritmo de aprendizagem do Perceptron dual.

Uma das vantagens deste método é que muitos multiplicadores, ao longo do

processo, permanecem com seus valores iguais a zero, indicando que os vetores

associados não têm importância ou influência no posicionamento do hiperplano

separador. Em alto nível, o algoritmo dual do Perceptron pode ser descrito na forma:

Algoritmo Perceptron dual;

Entrada:

Conjunto de treinamento na forma: {(x1,y1),(x2,y2),...,(xm,ym)}

Taxa de aprendizagem η

Saída:

Hiperplano separador na forma: f(xi) = ∑j αj.yj.<xj,xi>, considerando b = 0.

Page 82: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

73

Início

Para todo i = 1,...,m Faça

αi ← 0;

Enquanto não houver mais erros de classificação Faça

Para cada amostra do conjunto de treinamento Faça

Compute f(xi) = ∑j αj.yj.<xj,xi>;

Se yi. f(xi) < 0 Então { ocorreu um erro }

αi ← αi + η.1;

Fim_Se;

Fim_Para;

Fim_Enquanto;

Fim.

3.1.6 - Convergência do Perceptron: Vamos assumir, por hipótese, que o conjunto de dados seja linearmente separável, pois

do contrário não haveria convergência do método. Portanto, existe uma função

discriminante linear, ou seja, um hiperplano, que produz um erro de treinamento

exatamente igual a zero. Esta solução dada pelo algoritmo de treinamento é um vetor de

pesos w satisfatório, considerando o produto escalar x.w, tal que:

( ) ( )( ) ( ) 1 para 0.

1 para 0.

−=<

=≥

∑∑

nywnx

nywnx

ii

ii

onde n se refere a iteração associada a enésima entrada aplicada ao algoritmo.

Esta equação, pode ser reescrita na forma:

( ) 0).(. >wnxny

Para que todos os exemplos sejam classificados corretamente e não haja mais

correção do vetor de pesos, é necessário encontrar um vetor w que faça com que a

expressão de viabilidade seja satisfeita simultaneamente para todos os dados do

conjunto de treinamento.

Page 83: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

74

Esta solução em um problema de duas dimensões é a equação de uma reta onde

o vetor satisfatório w deve ser ortogonal a cada dado representado pelo vetor x, dado

que xT . w = 0. A equação de atualização dos pesos move os vetor de pesos diretamente

na direção da solução dependendo do sinal do erro. Desta forma existem dois casos a

serem considerados, conforme a descrição a seguir, representada pela Figura III-7.

Figura III-7 – Movimentação do vetor w

No primeiro caso, o dado pertence a classe 1 (saída positiva) mas a saída é –1.

Neste caso, o valor do peso deve ser modificado para a parte esquerda ( de outra forma,

a saída seria positiva e não haveria necessidade de correção). Portanto aumentamos o

valor do peso, movendo-o na direção correta de ajuste.

No segundo caso, o dado pertence a classe 2 (saída negativa) mas a saída é +1.

Neste caso, o valor do peso deve ser modificado para a parte direita ( de outra forma, a

saída seria negativa e não haveria necessidade de correção). Portanto diminuímos o

valor do peso, movendo-o na direção correta de ajuste.

Desta forma, como todas as correções são feitas na direção devida, o vetor de

pesos converge para um vetor satisfatório. após um número finito de iterações.

Page 84: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

75

BLOCK(1962) e NOVIKOFF(1962) demonstraram que o número de iterações

do algoritmo Perceptron é limitado superiormente por uma função relacionada a

distância entre os exemplos positivos e negativos, como mostra o teorema a seguir.

Teorema 3.1: Sendo D = { (x1,y1), (x2,y2),...,(xm,ym)} o conjunto de treinamento,

onde || xi|| ≤ R, ou seja, R é o raio de uma hiperesfera que engloba todos os pontos.

Suponha a existência de um vetor w tal que ||w|| = 1 e yi.(w.xi) ≥ γ para todos os

exemplos. O número de correções ou erros praticados pelo algoritmo para todo o

conjunto é de no máximo (R/ γ)2.

Prova: Seja wk o vetor de coeficientes associado ao késimo erro. Então, w1 = 0 e,

ocorrendo um erro, temos: yi.(w.xi) < γ, e, conseqüentemente: wk+1 = wk + yi.xi.

Também, podemos considerar que: wk+1.u = wk.u + yi.(u.xi) ≥ wk.u + γ. Portanto:

wk+1.u ≥ k.γ.

Similarmente, temos: ||wk+1||2 = ||wk||2 + 2.yi.(wk.xi) + ||xi||2 ≤ ||wk||2 + R2.

Combinando os dois resultados, temos: √k.R ≥ || wk+1|| ≥ wk+1.u ≥ k.γ. Implicando,

finalmente, que:

k ≤ (R/ γ)2,

conforme atesta o teorema.

3.1.7– Perceptron de votação: FREUND e SCHAPIRE (1998) propuseram um algoritmo de aprendizado baseado na

topologia do Perceptron, em uma adaptação de HELMBOLD e WARMUTH (1995) de

correção em modo batch e na utilização de funções kernel. Para problemas linearmente

separáveis no espaço de entrada ou no espaço de características, o algoritmo

denominado Perceptron de votação apresenta bons resultados em termos de

generalização, que quase se comparam aos Perceptrons de larga margem, porém, com

tempos de computação inferiores.

O algoritmo proposto por Freund e Schapire consiste, basicamente, em construir

durante o proceso de treinamento, um vetor de predições equivalente à associação de

um vetor de pesos a vários vetores de coeficientes determinados para o Perceptron. Este

vetor é utilizado, posteriormente, para a construção de um discriminante que adota um

Page 85: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

76

esquema de votação ponderado, associando cada vetor de coeficientes ao seu respectivo

peso. Os vetores de coeficientes são computados utilizando-se a mesma técnica de

correção baseada em erros do algoritmo Perceptron.

Entretanto, para cada ocorrência de um erro, determina-se um vetor de

coeficientes com peso equivalente ao número de acertos consecutivos que o algoritmo

obteve a partir da última correção. Probabilisticamente, as aproximações ou vetores de

coeficientes com maiores períodos de corretude, terão maior influência no processo de

votação ponderada.

A seguir apresentamos uma descrição em alto nível do algoritmo:

Algoritmo Perceptron de votação: Entrada: Conjunto de treinamento na forma: {(x1,y1), (x2,y2),...,(xm,ym)} Saída: Vetor de pesos ponderado: {(w1,c1), (w2,c2),...,(wk,ck)} Início k ← 0; w1 ← 0; c1 ← 0; Para uma quantidade de épocas Faça Para cada vetor xi do conjunto de amostras Faça z ← wk.xi; Se z = yi Então ck ← ck + 1 Senão wk+1 ← wk + yi.xi; ck+1 ← 1; k ← k + 1; Fim_Se; Fim_Para; Fim_Para; Fim; Equação do classificador: Dado: {(w1,c1), (w2,c2),...,(wk,ck)} g(x) = sinal ( ∑ ci.sinal(wi.x), para i=1,...,k).

A introdução de funções kernel no algoritmo dual do Perceptron e no Perceptron

de votação posibilita a solução de problemas não linearmente separáveis, e será vista

adiante no capítulo V, que trata, exclusivamente, sobre classificadores kernel.

Page 86: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

77

3.2- Perceptron e o problema XOR: MINSKY e PAPERT (1969), afirmaram que o poder de aproximação do Perceptron

somente seria aumentado se fossem incluídas novas camadas de processamento. Desde

então, surgiu o Perceptron de múltiplas camadas, dando início a todo estudo das redes

neurais artificiais do tipo feed-forward, culminando com o desenvolvimento do

algoritmo back-propagation (RUMELHART, HINTON e WILLIAMS (1986)) que

resolveu de forma eficiente o problema de atribuição de créditos em um Perceptron de

múltiplas camadas utilizando o paradigma de correção por erros. Este algoritmo

representou um grande avanço no desenvolvimento e estudo dos modelos conexionistas.

Entretanto, a introdução de novas camadas em um Perceptron descaracteriza a

idéia de um hiperplano separador e de um classificador mais geral. Como poderemos

observar, existem outras soluções mais elegantes para um problema de não

separabilidade linear, como o projeto de máquinas kernel ou o uso de uma base de

funções elementares.

3.2.1 – Perceptron multi-camadas (MLP): Um Perceptron de multi-camadas, ou simplesmente MLP, com uma camada interna,

tem sua topologia definida pela Figura III-8.

Figura III-8 – Topologia do Perceptron MLP

Para a solução de problemas não linearmente separáveis como o problema XOR

esta topologia é suficiente, ou seja, basta adicionarmos uma camada interna na topologia

do Perceptron. Neste problema, veremos que a superfície de decisão apropriada tem a

forma quadrática, podendo ter a forma de uma hipérbole, como mostra a Figura III-9.

Esta função, como veremos, poderá ser representada em um espaço de dimensão maior,

Page 87: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

78

denominado espaço de características, onde o problema XOR será resolvido como um

problema linearmente separável.

Figura III-9 – Separações dos pontos do problema XOR por uma hipérbole

Dada a topologia do Perceptron MLP com uma camada interna, e seu conjunto

de parâmetros formado pelos vetores de pesos w, e bias b, podemos definir a saída do

modelo, em função de um vetor x de entrada em R2:

Z w,b (x) = f(∑ (f(∑ (x,w),b),w),b),

considerando:

Z(1,1) = -1, Z(0,0) = -1, Z(0,1) = 1, Z(1,0) = 1,

as saídas lógicas corretas do problema do XOR.

A seguir no Exemplo 3.4 descreveremos a solução do problema através de uma

composição de funções lógicas.

Page 88: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

79

Exemplo 3.4: Utilizando uma expressão regular ou sentença lógica podemos

determinar a função de saída, para o problema, da seguinte forma:

f(x) = (x1 ∨ x2) ∧ ~(x1 ∧ x2 ),

relacionada a representação gráfica da Figura III-10 que produz a interseção das duas

funções lógicas, formadas por (x1 ∨ x2) e ~(x1 ∧ x2 ), que representam,

respectivamente, a disjunção e a negação da conjunção de duas variáveis lógicas ou dois

literais.

Figura III-10 – Interseção da função OU com a função ~ E

Podemos definir uma topologia de rede MLP para a implementação desta função

que resolve o problema XOR. Ajustando, adequadamente, os vetores de peso e os bias

dos elementos processadores, temos, conforme a Figura III-11, a seguinte topologia.

Page 89: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

80

Figura III-11 – Rede MLP do problema XOR

A computação da rede para os quatro pontos de entrada, com coordenadas x1 e

x2, pode ser vista pela tabela da verdade. O valor de saída corresponde a interseção dos

valores lógicos produzidos pelos dois elementos da camada interna responsáveis pela

implementação das funções lógicas OU e ~E.

X1 X2 Elemento 1 (OU) Elemento 2 ~(E) Saída (OU) e ~(E) 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0

Tabela III-1 – Tabela da verdade do problema XOR

Existem alguns resultados interessantes relacionados ao poder de computação

das redes MLP, principalmente, quando relacionadas ao problema de aproximação de

funções.

O primeiro se refere ao fato de que o poder computacional de um Perceptron de

múltiplas camadas somente é aumentado se as funções de ativação dos elementos

processadores forem não lineares. De fato, se considerarmos um Perceptron de uma

camada interna, ou de duas camadas, como uma composição de funções, ou seja:

f(∑ f(∑ (.))) = f(∑ f(∑ j wijxj + bi)) = f(∑ f(neti)) = f( ∑ j wij.netj + bi), podemos reduzi-lo a um Perceptron de uma única camada de saída se a função de

ativação f não for uma função não linear.

Page 90: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

81

O segundo se refere ao fato de que um Perceptron de uma camada interna

produz uma região de classificação equivalente a existências de várias regiões convexas

abertas ou fechadas, sendo cada uma formada pela interseção de semi-espaços gerados

pelos vários hiperplanos definidos pela camada anterior. Neste sentido, o mapeamento

de funções na sua forma mais geral, definidas por regiões côncavas, somente é possível

em Perceptrons de duas camadas, nos quais a camada de saída será responsável pela

combinação de regiões convexas, gerando regiões de classificação côncavas ou não

necessariamente convexas.

O terceiro se refere a um teorema relativo a KOLMOGOROV (1957). Este

teorema assegura que qualquer função contínua de várias variáveis pode ser

representada ou aproximada por um pequeno número de funções de uma variável. Em

uma rede MLP isto significa que uma função contínua de dimensão d que mapeia

valores reais pode ser computada por uma rede de três camadas com d unidades na

camada de entrada, d.(2d+1) unidades na primeira camada interna, (2d+1) unidades na

segunda camada interna e uma unidade na camada de saída.

O quarto resultado se refere ao poder de classificação das redes de saída

sigmóide. Considerando a capacidade de mapeamento ou aproximação universal de uma

rede MLP, qual seria a sua capacidade em relação à implementação de um classificador

Bayesiano. Ou seja, poderíamos interpretar a saída de uma rede MLP como as

probabilidades a posteriori dos dados para cada classe, e aplicarmos o critério MAP de

classificação. De fato, esta interpretação probabilística da saída de uma rede MLP é

possível, se utilizarmos como funções de ativação as funções do tipo logística, como

vimos nesta forma de regressão.

Seja um problema de classificação binária com duas classes C1 e C2. A função

discriminante de cada classe é dada pela fórmula de Bayes, ou seja:

P (Ci|x) = P(x|Ci).P(Ci) / P(x)

Para as duas classes temos que: P(C1) + P(C2) = 1, portanto:

P(x) = P(x|C1).P(C1) + P(x|C2) + P(C2).

Page 91: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

82

Considerando a função de Gauss para a distribuição dos dados segundo as

classes, para uma variância σ e média μ, temos:

P(x|Ci) = ( 1/√(2πσ)). exp( -1/2.((x- μ)2/σ2)),

tornando possível redefinir a probabilidade a posteriori de uma classe como a saída de

uma função logística, na forma:

P(C1|x) = 1 / (1 + ℮-α),

onde:

α = ln (P(x|C1).P(C1) / P(x|C2).P(C2))

Assumindo que as probabilidades condicionais são funções gaussianas de

mesma variância, ou matriz de covariância para o caso multidimensional, temos o

parâmetro α expresso como uma função linear de x, ou seja:

α = w.x + b,

representando um combinador linear seguido de uma função de ativação do tipo

sigmóide.

Entretanto, para que uma MLP se comporte de fato como um classificador

Bayesiano, conforme a Figura III-12, devemos normalizar os valores de saída para que a

soma das probabilidades somem uma unidade. Em seguida, para escolhermos a

classificação correta de uma amostra, devemos aplicar o operador Max aos valores das

saídas a exemplo do critério MAP de classificação. Para o caso particular do problema

de classificação binária, é suficiente a existência de somente um elemento processador

com função de ativação logística na camada de saída, considerando que os valores

produzidos por esta função, para duas classes, são complementares em relação a

unidade.

Figura III-12 – MLP e critério MAP

Page 92: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

83

Segundo Bishop(1995) as saídas zk normalizadas de uma MLP com k unidades

de saída logísticas, e um conjunto de valores desejáveis na forma binária, podem ser

consideradas como uma estimativa das probabilidades a posteriori dos dados

pertencerem as respectivas classes Ck, ou seja:

zk (x) = P{ Ck|x),

sendo o valor da classe atribuído, pelo critério MAP, a maior das probabilidades, ou

seja:

c(x) = t, onde t = Arg Mink P{ Ck|x) = Arg Mink zk (x)

3.2.2 - Espaço de características: Como já dissemos, existem outras formas mais elegantes de solucionar o problema

XOR. A primeira esta relacionada a projeção dos dados do espaço de entrada para um

espaço de mais alta dimensão denominado espaço de características. Como veremos

mais adiante em nosso trabalho, esta é a base do desenvolvimento de novos

classificadores baseados em hiperplanos separadores na solução de problemas de

separabilidade não linear. A seguir veremos no Exemplo 3.5 como o problema pode ser

resolvido pela projeção dos dados em um espaço tridimensional.

Exemplo 3.5: A equação da hipérbole, relativa a Figura III-9, é dada por:

f(x) = x1 + x2 – 2.x1.x2 – 1/3

Se considerarmos a substituição da expressão relativa ao produto das variáveis,

x1.x2, pela variável x3, teremos a equação de um hiperplano ou uma função de separação

linear em um espaço R3 , dada por:

( )312 321 −−+= xxxxf

A representação no espaço R3 do problema XOR, conforme a Figura III-13,

permite observar que as quatro entradas do problema, agora representadas pelos vértices

marcados no poliedro, admitem uma separação linear feita pela função de decisão, que,

neste caso, representa a equação de um plano que secciona o poliedro em duas regiões

de acordo com a solução do problema.

Page 93: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

84

Figura III-13 – Transformação do problema XOR para o espaço R3

A nova representação do conjunto de dados é feita pela definição de uma função

característica φ, que em nosso caso consiste em acrescentar como terceira coordenada

do ponto o produto das respectivas coodernadas em R2, ou seja:

φ: (x1, x2) à (x1, x2, x1.x2)

A solução equivalente do problema com a utilização de uma MLP com uma

camada interna, para um espaço de entrada de duas dimensões, está representada na

Figura III-14.

Figura III-14 – Rede MLP equivalente do problema XOR

Page 94: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

85

Uma forma alternativa de resolvermos o problema utilizando uma rede

Perceptron sem camada interna, consiste na expansão dos dados segundo uma série de

monóides de primeiro e segundo grau, conforme mostra a Figura III-15 . Desta forma,

um vetor x com coordenadas em R2 na forma (x1,x2) será expandido para um espaço R5,

de mais alta dimensão, com a utilização de uma função característica, onde cada ponto

terá coordenadas (x1,x2,x1.x2,x12,x2

2).

Esta forma de solução tem uma implementação elegante e eficiente com a

utilização de funções kernel. Estas funções permitem que o produto interno das

projeções dos dados sejam computados diretamente no espaço de entrada original. Ou

seja, se K(xi,xj) representa a função kernel entre dois pontos então podemos afirmar

que:

K(xi.xj) = φ(xi).φ(xj),

para uma função característica φ.

Entretanto, para que esta propriedade seja válida , é necessário que certas

condições, associadas a função kernel escolhida, sejam satisfeitas. No capítulo V

veremos como e porque a utilização de funções kernel representou uma verdadeira

revolução no projeto de classificadores.

Figura III-15 – Rede Perceptron com expansão dos dados

Page 95: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

86

3.2.3 – Base de funções: O problema XOR poderia ser solucionado sem a necessidade de projetar os pontos em

um espaço de maior dimensão. É possível a realização de transformações não-lineares,

ou transformações de coordenadas, que tornem o problema linearmente separável no

espaço R2. Esta técnica está associada a aproximação de funções a partir da escolha de

uma base de funções elementares.

Aproximação de polinômios e funções: A aproximação de funções tem como base o teorema da projeção linear, o qual

garante que uma função pode ser aproximada por uma combinação linear de uma base

de funções elementares ψi, associadas a um conjunto de parâmetros, ou seja:

( ) ( ) ( ) ( ) ξαψαα <−= ∑ , erro um para ,, xfxfxxf ii

))

Karl Weierstrass (1815-1897) provou que polinômios de alguma ordem podem

aproximar funções contínuas em determinado intervalo. Formalmente, podemos citar o

teorema de Weierstrass como:

Teorema 3.2: “Seja S[a,b] o espaço de uma função real e contínua definida no

intervalo [a,b]. Se f є S[a,b] então existe uma aproximação polinomial para f(x), x є

[a,b] na forma:

P(x) = ∑i αi . xii, para i = 0,...,n

para um conjunto de coeficientes αi reais tal que | f(x) – P(x) | < ε, para ε > 0.”

Este teorema foi posteriormente extendido para a classe de funções sigmóides

por FUNAHASHI (1989), CYBENKO (1989) e, posteriormente, para as funções

gaussianas, garantindo a ambos modelos a capacidade de aproximadores universais.

Neste sentido, conforme a Figura III-16, construímos uma aproximação f)

para

a função f, seguindo um esquema de construção de um modelo de classificação

semiparamétrico em sua forma mais geral. Esta é a base para a construção dos

classificadores conhecidos como máquinas de vetores suportes (SVM), que serão

Page 96: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

87

tratados no capítulo IV, e das funções de base radial (RBF), que serão vistos na seção

seguinte 3.3.

Figura III-16 – Aproximação da função f por uma base de funções

elementares

A escolha das funções elementares, considerando a sua forma e quantidade, no

sentido de formar uma base de aproximação, deve atender, a princípio, a condição de

que as mesmas sejam linearmente independentes, ou seja:

α1ψ1 + α2ψ2 + ... + αnψn = 0 se e somente se [α1,α2,...,αn] = 0

Uma outra condição imposta ao conjunto de funções elementares, é que a base

seja ortonormal, ou seja:

( ) ( ) ( )xdxxx jiji ,. δψψ =∫ ,

onde δ representa a função de Dirac.

Isto significa que uma decomposição ortogonal da base em outra base fornecerá

sempre o valor zero, fornecendo um único conjunto de multiplicadores αi como solução

da aproximação ou projeção da função f(x). Neste sentido, devemos avaliar o conjunto

de multiplicadores através da solução do sistema:

αi = <f(x),ψi(x)>

Pelo fato da base ser ortonormal, temos:

f(x) = ∑i αi .ψi(x)

Page 97: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

88

Tomando o produto interno entre f(x) e ψ1(x), computamos:

<f(x), ψ1> = ∑i αi .<ψi(x),ψ1(x)> = α1.<ψ1(x),ψ1(x)>,

fornecendo:

α1 = <f(x),ψ1(x)>

De forma geral, para a avaliação de todos multiplicadores, temos:

αi = <f(x),ψi(x)>, para a aproximação discreta e

αi = ∫ f(x).ψi(x)dx, para a aproximação contínua.

Funções de base senoidal: Existe um grande número de funções elementares que satisfazem as condições

de ortogonalidade da base. As mais comuns, utilizadas em processamento de sinais, são

as funções senoidais, definidas na forma:

ψi(x) = sinc(x-xi) = sin(x-xi)/(x-xi)

Estas funções permitem uma interessante solução para o problema de

aproximação de funções sinais contínuas, como ondas de som, pela realização de

simples amostragens, segundo o Exemplo 3.6.

Exemplo 3.6: De fato, ao utilizarmos uma base de funções senoidais, os

multiplicadores αi são computados como:

αi = ∫ f(x).sinc(x-xi)dx = f(xi),

significando que os pesos se tornam iguais a própria avaliação da funão nos pontos,

conforme mostra a Figura III-17.

Figura III-17 – Aproximação com base de funções Sinc.

Page 98: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

89

Funções de base logística: Podemos considerar o modelo Perceptron, com uma camada interna com

funções de ativação sigmóides e um combinador linear na camada de saída, como uma

base de funções elementares, conforme a Figura III-18. Neste caso, cada função

elementar tem a forma de uma função logística, cujo parâmetro representa uma

combinação linear do vetor x de entrada acrescido de um bias, ou seja, definimos:

ψi(x) = 1/ ( 1 + exp(neti )),

onde:

neti = ∑j w i,j xj + bi ,

determinando, como saída do modelo, o valor correpondente ao valor da função:

z(x) = ∑i αi.ψi(x)

Figura III-18 – MLP com base de funções

Neste exemplo, relacionado a um Perceptron MLP, consideramos as funções

elementares como aproximadores globais, no sentido de que suas entradas respondem

ao espaço global do problema. Também, não são definidas ou estáticas, como as bases

de funções seno, mas sim adaptativas, dependendo dos parâmetros associados ao

processamento da camada interna. Neste sentido, podemos dizer que um Perceptron de

uma camada interna, ou uma MLP, aproxima uma função arbitrária, real e contínua,

decidindo a orientação, localização e amplitude de um conjunto de funções de ativação

sigmóides multi-dimensionais, conforme a Figura III-19.

Page 99: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

90

Figura III-19 – Aproximação de funções com bases logísticas.

3.2.4 – Redes RBF e funções de base radial A escolha de funções de base radial como funções elementares produz um modelo de

rede denominada de rede de função de base radial ou, simplemente, RBF. Neste caso,

cada função elementar tem como região de influência uma determinada subregião do

espaço de entrada. Neste sentido, consideramos as redes RBF aproximadores locais,

contrapondo as redes MLP de funçõe sigmóides.

As redes RBF, no contexto de modelos conexionistas, foram desenvolvidas por

BROOMHEAD e LOWE (1988), também podem ser destacados os trabalhos de PARK

e SANDBERG (1991), MOODY e DARKEN (1989) e POGGIO e GIROSI (1990) que

mostram o desenvolvimento das redes RBF no contexto da teoria da regularização de

Tikhonov. Como base para a aproximação de funções, o método RBF teve a sua origem

no trabalho de POWELL (1987), relacionado a interpolação exata de pontos no espaço

multi-dimensional.

Topologia e funções de Gauss: Normalmente, na construção de uma rede RBF, utilizamos como função

elementar a função de Gauss, que possui como parâmetro a distância euclidiana, para o

caso unidimensional, ou a distância mahalanobiana, para o caso multidimensional, dos

pontos em relação aos respectivos centros das funções elementares. Assim como nas

redes MLP, as redes RBF são aproximadores semiparamétricos, que necessitam

determinar um conjunto de parâmetros relacionados, respectivamente, ao número de

funções elementares, também chamadas de bases, posição dos centros de cada função,

Page 100: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

91

relacionado aos vetores média da função de Gauss, e a abrangência de cada base ou

função, relacionada a variância dos dados na função de Gauss.

A topologia desta rede, definida como uma rede de uma camada interna, para o

caso unidimensional, está representada na Figura III-20.

Figura III-20 – Rede RBF unidimensional.

As funções elementares têm a forma:

ψi (x) = G ( ||x – ci|| ),

considerando ci o centro da iésima base.

Para o caso unidimensional temos:

G( ||x – ci||, σi ) = exp(-1/2.((x – ci)2 /σi2 )),

considerando σi2 a variância dos dados relacionados a iésima base.

Para o caso multidimensional temos:

G(||x – ci||, ∑i ) = exp(-1/2.(xT.∑i-1.x)),

considerando ∑i a matriz de covariância dos dados relacionados a iésima base.

A saída da rede reflete a combinação linear das funções de base relacionada ao

conjunto de multiplicadores αi. Acrescendo um bias ao elemento de saída, temos a

seguinte função de aproximação computada pela rede:

Page 101: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

92

z(x) = ∑i αi. G( ||x – ci||, σi2 ) + b, para i = 1, ..., k

Para o caso unidimensional, podemos considerar que cada função elementar ψi

possui centro em ci com variância σi2 e métrica euclidiana relacionada a distância entre

os pontos de entrada x e o respectivo centro ci, fornecendo a seguinte aproximação em

R1, para uma função contínua f, mostrada pela Figura III-21.

Figura III-21 – Aproximação de funções com bases radiais.

3.2.5 - RBF e o problema XOR: A seguir, no Exemplo 3.7, descreveremos como o problema XOR pode ser resolvido a

partir de uma base de funções gaussianas.

Exemplo 3.7: Considerando a utilização, para a solução do problema XOR, das

funções elementares ψi como funções gaussianas e o vetor de parâmetros α = (1, 1),

temos a seguinte projeção dos dados:

( ) ( )( ) ( )0,0 onde

1,1 onde

22

112

2

21

==

==−−

−−

cex

cexcx

cx

ψ

ψ

Resultando na seguinte transformação de coordenadas, representada em R2 pela

Figura III-22, cujos respectivos valores são dados pela Tabela III-2.

Page 102: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

93

Figura III-22 – Transformação não linear dos dados para o problema XOR

Pontos ( )x1ϕ ( )x2ϕ (1,1) 1 0,1353 (0,0) 0,1353 1 (0,1) 0,3675 0,3675 (1,0) 0,3675 0,3675

Tabela III-2 – Valores das coordenadas projetadas pelas funções gaussianas

A função de decisão final pode ser implementada, simplesmente, aplicando uma

função de ativação threshold aos valores obtidos de uma combinação linear das

projeções, ou seja:

g(x) = ϕ(ψ1(x) + ψ2(x))

3.3- Perceptron de ótima estabilidade ou de larga margem Algumas pessoas creditam a lacuna de representabilidade do modelo Perceptron,

acusada no trabalho de MINSK e PAPERT (1969), bem como a ausência, naquela

época, de um algoritmo efeciente que resolvesse o problema de atribuição de crédito em

redes MLP ou de múltiplas camadas, a um declínio nas pesquisas e resultados dos

Page 103: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

94

modelos chamados de “conexionistas”, em favor de um maior desenvolvimento da

Inteligência Artificial simbólica ou cognitiva.

Tal declínio teria perdurado até o surgimento do algoritmo backpropagation

apresentado por RUMELHART, HINTON e WILLIAMS (1986). Talvez isto seja

verdade, somente no contexto do desenvolvimento e aplicação dos modelos de redes

neurais artificiais feed-forward ou Perceptrons de múltiplas camadas, haja visto o

trabalho amplamente citado de Lecun e outros no reconhecimento de caracteres manuais

de códigos postais utilizando o algoritmo backpropagation e publicado em 1989.

Nós, entretanto, pensamos de uma forma diferente. Principalmente, se

incluirmos os modelos conexionistas em um contexto mais amplo, representado pelo

estudo da aprendizagem de máquinas e do desenvolvimento da neurocomputação. De

fato, ocorreu um grande desenvolvimento dos modelos cognitivos nas décadas de 60, 70

e 80, definindo, praticamente, todo o estado da arte da Inteligência Artificial.

Uma grande quantidade de recursos e investimentos, impulsionado pela guerra

fria e pela ameaça tecnológica nipónica, foi empregado na geração de sistemas ou

arquiteturas que se fundamentavam na formalização do conhecimento e das técnicas de

solução de problemas, como busca e raciocínio, em um nível de abstração semelhante

ao modelo de processamento humano da informação. É desnecessário afirmar que todas

as teorias relacionadas a solução de problemas, sistemas cognitivos, sistemas de

planejamento e de representação do conhecimento foram desenvolvidas neste período.

Porém, não podemos deixar de mencionar que todo desenvolvimento obtido na

área de aprendizagem de máquinas e neurocomputação, também, ocorreram neste

período. Dentre os estudos mais relevantes, podemos destacar o desenvolvimento da

teoria estatística de reconhecimento de padrões, descrita nos livros de NILSSON

(1965), e DUDA e HART (1973). Da teoria de regularização de TIKHONOV e

ARSENIN (1977) aplicada ao desenvolvimento das redes de função de base radial ou

redes RBF, BROOMHEAD e LOWE (1988). Da teoria dos sistemas auto-organizáveis,

incluíndo os mapas auto-associativos de VON DER MALSBURG (1973), KOHONEN

(1982), e a teoria da ressonância adaptativa de Grossberg de 1980.

Também, da teoria dos sistemas dinâmicos, incluindo o modelo BSB de

Anderson, Silverstein, Ritz e Jones em 1977, o modelo aditivo de Cohen e Grossberg

em 1982 e o modelo de Freeman proposto em 1975. Da teoria de aprendizagem

estatística desenvolvida por Vapnik e Chervonenkis durante a década de 70. Da teoria

Page 104: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

95

de aprendizagem computacional desenvolvida por Valiant em 1984. Da teoria da

complexidade e probabilidade algorítmica desenvolvidas por Kolmogorov, Chaitin e

Slomonoff na década de 60, incluíndo, finalmente, os critérios MML de WALLACE e

BOULTON (1968) e MDL de RISSANEN (1978).

Talvez, a única exceção seja a teoria de aprendizado por reforço, cujas

publicações mais marcantes datam do final da década de 80 e início dos anos 90.

Entretanto, a primeira utilização de aprendizado por reforço é creditada a Arthur

Samuel, cujo trabalho, um algoritmo para jogar damas, foi publicado em 1959.

Também, a primeira publicação de Sutton e Barto que descreve a utilização deste

paradigma em um elemento processador adaptativo é de 1983. Sendo o método de

diferenças temporais de Sutton e o algoritmo Q-learning de Waltkins publicados,

respectivamente, em 1988 e 1989.

Falta, entretanto, mencionarmos outra grande contribuição, que impulsionou,

principalmente, as redes neurais de topologia recorrente ou de pontos atratores. Trata-se

do desenvolvimento da teoria de aprendizagem de Boltzmann com base em estudos e

propriedades da mecânica estatística. Entre os modelos desenvolvidos, podemos

destacar o surgimento do modelo recorrente de Hopfield em 1982, do algoritmo

estocástico de recozimento simulado de Kirkpatrick, Gelatti e Vecchi em 1983 e da

máquina de BOLTZMANN de HINTON e SEJNOWISKI em 1983. Estes estudos, de

fato, trouxeram um grande impulso, no estudo dos modelos conexionistas,

principalmente dos modelos de redes temporais e neurodinâmicos. Porém, um grupo de

pesquisadores da mecânica estatística, OPPER (1988), KINZEL (1990) e ANLAUF e

BIEHL (1989), se preocuparam com a continuidade do estudo do modelo Perceptron,

mais precisamente, com aspectos relacionados a sua estabilidade e ao seu processo de

convergência, derivando um modelo de Perceptron conhecido como Perceptron de

ótima estabilidade ou Perceptron de larga ou máxima margem.

Essa nova abordagem tem como objetivo principal a construção de um

hiperplano separador que maximiza no espaço de entrada uma medida de distância

entre os pontos de classes contrárias, definida como margem. De fato, existe um número

infinito de hiperplanos capazes de realizar a separação de um conjunto de pontos em um

problema de classificação binária. Entretanto, existirá somente um hiperplano cujo

posicionamento estabelecerá a maior margem de segurança daqueles pontos que estão

mais próximos do mesmo, como veremos a seguir.

Page 105: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

96

3.3.1 – Maximização da margem: Na Figura III-23, é fácil verificar a existência de inúmeros hiperplanos que sejam

capazes de separar os pontos seguindo o rótulo de suas respectivas classes. Seja D =

{(x1, y1), ..., (xm,ym)}, um conjunto de treinamento formado por m exemplos, onde x є

Rn e y є {+1, -1}.

A equação de um hiperplano, na sua forma mais geral, é dada por <w,x> + b =

0, e para que um hiperplano seja um hiperplano separador é necessário que as seguintes

condições sejam satisfeitas para todos os exemplos do conjunto de treinamento.

<w, xi> + b > 0 se yi = 1

<w, xi> + b < 0 se yi = -1

Figura III-23 – Hiperplanos separadores.

Evidentemente, estamos procurando a equação de um hiperplano que maximiza

a margem definida para os pontos mais próximos, conforme a Figura III-24 no sentido

de determinar um maior poder de generalização. Os pontos mais próximos a equação

dos hiperplanos são definidos como:

Min x <w, x> + b,

cujo valor será zero para os pontos situados exatamente sobre o hiperplano.

Page 106: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

97

Figura III-24 – Hiperplano com máxima margem.

Portanto, para situarmos o hiperplano de modo a maximizar a distância entre os

pontos situados mais próximos à posição do mesmo, devemos maximizar a equação

acima em relação aos parâmetros que definem o posicionamento do hiperplano. Ou seja:

Max w,b { Min x <w, x> + b },

De outra forma, considerando o conjunto de treinamento e a maximização da

margem, temos:

Max w,b { Min x ||x – xi|| : x ∈ Rn, <w, x> + b = 0, i = 1, ... , m}.

Obviamente, estamos procurando um hiperplano que seja responsável por uma

separação linear dos pontos. Desta forma, podemos definir o problema de encontrar o

hiperplano ótimo separador introduzindo as restrições de classificação função objetiva,

fornecendo:

Max w,b { Min x <w, x> + b }

Sujeito a:

<w, xi> + b > 0 se yi = 1

<w, xi> + b < 0 se yi = -1

A solução deste problema será tratada no capitulo seguinte como um problema

relacionado a minimização da norma quadrática do vetor w, sujeito as restrições de

classificação, que no entanto sofrerão algumas modificações no sentido de definir uma

margem normalizada.

Page 107: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

98

Uma vez definida a equação do hiperplano, podemos definir uma função de

separação linear, aplicando uma função sinal a esta equação, ou seja:

g(x) = ϕ(<w,x> + b) onde ϕ é uma função sinal.

Os estudos de mecânica-estatística proporcionaram o desenvolvimento de dois

algoritmos clássicos, voltados para a solução do problema relacionado ao Perceptron de

máxima margem, conhecido também, nesta literatura, como Perceptron de estabilidade

máxima.

O primeiro deles, denominado Adatron, foi desenvolvido por ANLAUF e

BIEHL (1989) e o segundo, denominado MinOver, foi desenvolvido KINZEL (1990).

Estes algoritmos possuem pequenas diferenças que serão descritas com maior detalhe

no capítulo VI, que trata, exclusivamente, do estudo e implementação de métodos para o

treinamento de máquinas de vetores suporte.

3.3.2– Convergência e estabilidade: Alguns resultados importantes relacionados as propriedades de estabilidade e

convergência destes algoritmos, foram obtidos da literatura de mecânica-estatístia, e

serão descritos a seguinte:

1 - ANLAUF e BIEHL (1989): ‘Cada ponto estável do algoritmo Adatron

corresponde a um ponto de máxima margem e vice-versa.’

2 - ANLAUF e BIEHL (1989): ‘O algoritmo converge em número finitos de

passos para pontos estáveis, ou seja, define a máxima margem, se uma

solução existe.’

3 - OPPER (1988): ‘O algoritmo converge exponencialmente para a solução

ótima.’

É importante ressaltarmos que o desenvolvimento dos Perceptrons de máxima

margem se aplicava, somente, no contexto dos problemas linearmente separáveis. O uso

de funções kernel nos algoritmos, possibilitanto a maximização da margem no espaço

de características e, conseqüentemente, a solução de problemas não linearmente

separáveis surgiu, no contexto das máquinas de vetores suportes, somente na década de

Page 108: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

99

90, CORTES e VAPNIK (1995), muito embora a idéia de introdução de funções kernel

em procedimentos de aprendizado não seja nova.

Esta idéia remonta ao trabalho de AIZERMAN, BRAVERMAN e ROZONOER

(1964) que desenvolveram um método de funções potenciais para o problema de

reconhecimento de padrões aplicado ao algoritmo clássico do Perceptron, e aos

classificadores Bayesianos que utilizam as funções gaussianas para definir as

probabilidades condicionais dos dados.

O Perceptron de máxima magem, associado a uma representação dependente dos

dados, a teoria de aprendizagem estatística de Vapnik e a utilização de funções kernel,

constituem a base do desenvolvimento das máquinas de vetores suportes, que serão

descritas com profundidade no capítulo a seguir.

Page 109: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

100

Capítulo IV – Máquinas de Vetores Suporte (SVM)

4.1- Normalização da margem e hiperplanos canônicos A obtenção do hiperplano ótimo que maximiza a margem relacionada ao problema de

dicotomia linear pode ser resolvida, como dissemos no capítulo anterior, através da

minimização da norma quadrática do vetor w. Para tanto, devemos, primeiramente,

definir o conceito de margem normalizada que possibilitará reescrever o hiperplano em

sua forma canônica.

Inicialmente consideremos as restrições de classificação na fórmula:

<w, xi> + b > 0 se yi = 1

<w, xi> + b < 0 se yi = -1

É possível reescrever este sistema na forma:

<w, xi> + b ≥ 1 se yi = 1

<w, xi> + b ≤ -1 se yi = -1,

considerando a alteração dos parâmetros w e b.

Seja a existência de três hiperplanos paralelos e suas respectivas equações

conforme a Figura IV-1.

Considerando H1: <w,x> + b = +1 e H2 = <w,x> + b = -1, é possível

obtermos estas equações através da manipulação dos parâmetros das equações originais.

De fato, sendo, H1: <a,x> + b1 = 0, onde b1 = b´ - δ, substituindo o valor do bias e

dividindo por δ ,temos o hiperplano:

H1: <a/δ, x> + b´/δ = 1, ou H1: <w,x> + b = +1.

Da mesma forma, considerando H2 = <a,x> + b2 = 0 onde b2 = b´ + δ e

substituindo o valor do bias e dividindo por δ, temos o hiperplano:

H2: <a/δ, x> + b´/δ = -1 ou H2: <w,x> + b = -1.

Page 110: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

101

Figura IV-1 – Hiperplanos na forma canônica.

O hiperplano ótimo é definido por H: <w,x> + b = 0, sendo o único hiperplano

que separa o conjunto de treinamento com a máxima margem. Para maximizarmos a

margem, é necessário primeiramente determinarmos a sua equação. Em função dos

hiperplanos H, H1 e H2, o valor da margem, denominado γ, é definido como a distancia

de um ponto situado em H2 até um ponto situado em H1, sendo igual a 2 / ||w||.

Isso é facilmente demonstrado projetando-se o vetor diferença (x1 – x2) na

direção do vetor w que é ortogonal a direção dos hiperplanos. Conforme a Figura IV-2:

Figura IV-2 – Normalização da margem.

Page 111: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

102

Os pontos para os quais <w, x> + b = +1 e <w,x> + b = -1, são conhecidos

como vetores suportes, e terão um papel fundamental na determinação do hiperplano

ótimo, cujo vetor ortogonal w será descrito como uma combinação linear dos vetores de

treinamento associados.

Sendo x1 um ponto de H1, então <w, x1> + b = +1. Sendo x2 um ponto de H2,

então <w, x2> + b = -1. Computando a diferença das duas expressões temos:

<w, x1 – x2> = 2.

Finalmente projetando no vetor w normal ao hiperplano temos:

<w, x1-x2> / ||w|| = 2 / ||w||.

De uma outra forma poderíamos considerar o valor da margem como a soma das

duas semidistâncias dos pontos até o hiperplano H. Neste caso teríamos:

|<w, x1> + b| / ||w|| + |<w, x2> + b|/||w|| = 2/||w||.

Neste ponto, podemos reescrever o problema de determinação do hiperplano

ótima na sua forma mais conhecida, ou seja:

Max γ

Sujeito a:

<w, xi> + b ≥ 1 se yi = 1, i = 1,..., m

<w, xi> + b ≤ -1 se yi = -1, i = 1,..., m

Que pode ser reescrito na forma:

Max 2/||w||

Sujeito a:

yi . <w, xi> + b ≥ 1, i = 1, ..., m

Segundo VAPNIK(1998), a dimensão VC (h) de um classificador linear é

limitada superiormente conforme a expressão: h ≤ Min{||w||2.R2,d} +1, considerando R

o raio da menor esfera que engloba todo o conjunto de treinamento no espaço associado

de dimensão d. Como veremos mais tarde, este espaço pode ser associado ao espaço de

características. Portanto, ao optarmos pela escolha de um classificador que apresente a

Page 112: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

103

menor dimensão VC, é suficiente minizarmos o valor de ||w||2 . Neste caso o problema

primal fica definido como:

Min ½.||w||2

Sujeito a:

yi . <w, xi> + b ≥ , para i = 1, ..., m

Trata-se portanto de um problema de otimização quadrática. Na sessão seguinte,

veremos a sua formulação matemática na forma langrangeana e na forma de Wolfe, bem

como a sua representação em uma topologia de rede Perceptron conhecida como

representação dependente dos dados.

O cálculo do raio da menor esfera que engloba os dados de treinamento, é obtida

através da solução do seguinte problema:

Min R2

Sujeito a:

|| xi – C||2 ≤ R2, para i=1,...,m,

considerando C o centro desconhecido da esfera.

Para aplicar o princípio da minimização do risco estrutural (SRM) na definição

do hiperplano separador, Vapnik introduziu uma restrição na formação dos hiperplanos

separadores de modo a determinar um conjunto de hiperplanos com dimensões VC

variáveis, possibilitando a escolha do hiperplano canônico de menor dimensão VC.

Caso não haja restrição na formação dos hiperplanos canônicos, ou seja, a

escolha dos parâmetros w e b sejam totalmente livres, a dimensão VC do problema,

como já vimos, é equivalente a d+1, sendo d a dimensão do espaço associado.

Entretanto, considerando a norma quadrática de cada vetor w, limitada superiormente

por um valor A, ou seja ||w|| ≤ A, temos a dimensão VC h da classe dos hiperplanos

separadores limitada por: h ≤ Min {A2.R2,n} +1.

Podemos dizer que a normalização e estabelecimento de um limite na norma de

w, faz com que a menor distância de um ponto a um hiperplano canônico seja limitada a

1/A, considerando que a menor distância de um ponto ao hiperplano normalizado é igual

a 1/||w||. Portanto, a classe de hiperplanos separadores fica reduzida ao conjunto de

Page 113: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

104

hiperplanos que guardam distâncias de no mínimo 1/A de todos os pontos pertencentes

ao conjunto de treinamento. Geometricamente, em R2 , podemos definir este conjunto de

hiperplanos, construindo uma margem de segurança, ou seja, um cículo de raio 1/A ao

redor de cada ponto, conforme mostra a Figura IV-3.

Figura IV-3 – Restrição do espaço de hipóteses (hiperplanos).

Uma outra interpretação do princípio relacionado a minimização do risco

estrutural pode ser feita, segundo BURGES(1998), analizando-se uma classe de

classificadores relacionados ao posicionamento e ao diâmetro da esfera de raio R em Rd

, conforme a Figura IV-4. Seja D o diâmetro da esfera e M o valor da distância

perpendicular entre dois hiperplanos paralelos que estabelecem a margem.

Considere um partilhamento de pontos de modo que os pontos de uma classe

estejam posicionados na parte superior da esfera e acima da margem, os pontos da

classe contrária na parte inferior da esfera e abaixo da margem. A dimensão VC desta

classe de classificadores pode ser controlada pelo menor valor da margem M

relacionado ao maior valor que o diâmetro da esfera pode assumir.

Para um D constante, ou seja D = 2, o menor valor da margem seria igual a 3/2,

determinando uma dimensão VC igual a 3, ou seja, são partilhados três pontos, como

mostra a figura . Caso a margem fosse menor que 3/2, teríamos um conjunto de

treinamento formado por quatro pontos, não sendo possível o seu partilhamento em R2 .

Para um valor de margem 3/2 < M < 2, a dimensão VC seria igual a 2, e, finalmente,

para M ≥2, teríamos a dimensão VC igual a 1, estabelecendo, portanto, um conjunto de

hipóteses aninhadas segundo o valor da dimensão.

Page 114: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

105

Figura IV-4 – Classificadores de mínima margem e máximo diâmetro

A partir dete resultado, VAPNIK (1995) formulou o seguinte teorema para um

espaço de dimensão arbitrária:

Teorema 4.1: “ Para um conjunto de dados em Rd, a dimensão VC h da classe

de classificadores de mínima margem Mmin e máximo diâmetro Dmax é limitada

superiormente por: Min {D2max/M2

min, d} + 1.”

Considerando Mmin = 2/||w|| e D = 2.R, temos o mesmo limite estabelecido

anteriormente, ou seja: h ≤ Min{||w||2.R2,d} +1

4.2 - Formulação matemática lagrangeana: Para obtermos a formulação lagrangeana, é suficiente a introdução de multiplicadores

de lagrange αi ≥ 0, relaxando as restrições de classificação do problema primal, e

substituirmos o valor de ||w||2 pelo produto interno wT.w. Ou seja:

( ) ( ) ∑∑=

+=

+−=m

ii

m

ibixwiyiwTwbwL

11,

21,, ααα

A função lagrangeana deve ser minimizada em relação as variáveis primais w e

b e maximizada em relação a variável dual α, determinando como solução um ponto de

cela. Este ponto pode ser determinado através da maximização de uma função

estritamente dual na qual os parâmetros w e b são eliminados.

Page 115: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

106

Esta formulação , determinada forma dual de Wolfe, é obtida substituindo na

expressão os parâmetros primais calculados de modo a satisfazer as condições de

otimalidade de primeira ordem. Ou seja, tomamos o gradiente da função lagrangeana,

computando as derivadas parciais, em relação a w e b e igualamos a zero, definindo as

equações:

00

0

1

1

=⇒=∂∂

=⇒=∂∂

=

=

m

iii

m

iiii

ybL

xywwL

α

α

Substituindo w na função lagrangeana, temos o seguinte problema na forma dual

de Wolfe:

( )( )

mii

m

iiiy

m

i

m

jjxixjyiyji

m

iiLMax

,,1 ,0

01

1 1,

21

1

L=≥

==

= =−

==

∑ ∑∑

α

α

αααα

Solucionando este problema, para as variáveis duais αi*, temos:

ixiym

iiw ∑

==

1

** α para 0* >iα ,

determinando a função de decisão:

( )

+= bxwxg *ϕ , onde ϕ é uma função sinal.

Observe que a equação do hiperplano separador é definida somente em função

dos pontos ou vetores suportes, que nesse caso estão associados aos multiplicadores,

αi*, cujos valores são diferentes de zero.

As restrições de igualdade da formulação dual, ou seja, a condição de que

01

==∑m

iiiy α , estão relacionadas a determinação do parâmetro b, ou seja, do bias, da

Page 116: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

107

função discriminante. A sua omissão, força a passagem do hiperplano separador pela

origem, anulando dessa forma o valor do bias associado.

A solução ótima, sendo um ponto de cela, deve atender as seguintes condições

de otimalidade, também denominadas condições de Karush-Kuhn-Tucker (KKT),

relacionadas respectivamente a viabilidade do problema primal, viabilidade do

problema dual e condição de complementaridade, na forma:

( )

( )( ) mibiwxiyi

mii

mibiwxiy

,,1 01,,1 0

,,1 01

L

L

L

==−+

=≥

=≥−+

α

α

A equação relacionada à condição de complementaridade, permite o calculo do

parâmetro b, ou seja, do bias do discriminante. É interessante observar que esta

condição associa a idéia de vetores suportes aos pontos ou vetores que se situam sobre

os hiperplanos H1 e H2. Neste sentido os pontos do conjunto de treinamento situados

fora dos hiperplanos, têm multiplicadores associados com valores nulos, não

influenciando, portanto, na solução do problema, ou seja, na determinação do

hiperplano separador ótimo.

4.3- Representação dependente dos dados: Se analisarmos a função objetiva do problema na forma dual de Wolfe, podemos

observar a existência de um produto interno entre todos os pares de pontos do conjunto

de treinamento definindo uma forma de métrica ou medida de similaridade. O modelo

Adatron, desenvolvido por ANLAUF e BIEHL (1989), define uma forma de

representação dependente dos dados para a obtenção do Perceptron de ótima

estabilidade, baseando-se nestes produtos. A partir desta formulação, que pode ser

descrita por um modelo Perceptron, os autores obtiveram um algoritmo de treinamento

que é equivalente a solução no problema de otimização na forma dual de Wolfe,

utilizando-se de um método de primeira ordem, ou seja, das informações do gradiente

da função em relação ao parâmetro α.

Esta representação, modelada em uma rede Perceptron, ao qual chamaremos de

Perceptron SVM dual, pode ser descrita conforme a figura:

Page 117: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

108

Figura IV-5 – Perceptron SVM Dual.

A fórmula de treinamento dos pesos, proposta por Anluf e Biehl em seu

algoritmo Adatron, consiste no computo do gradiente da função dual de Wolfe em

relação ao parâmetro α. Neste caso, para a introdução do bias no modelo, é necessário

reescrever essa função em sua forma relaxada, ou seja:

( )

0

,21,

11 11

−−= ∑∑∑∑== ==

i

m

iii

m

i

m

jjijiji

m

ii yxxyyL

α

αλαααλα

Neste sentido, atualiza-se o vetor α na forma:

ii

ηα∂∂

=∆ ,

para uma taxa de aprendizagem η, observando o fato de que, as variáveis αi , tem

sempre que serem maiores ou iguais a zero.

Considerando: i

m

jjijji

i

yxxyyL .,11

λαα

−−=∂∂ ∑

=

,podemos atualizar o vetor α,

na forma:

( )[ ]ixgi −=∆ 1ηα ,

onde:

( )

+= ∑

=

λα jij

m

jjii xxyyxg ,

1

ou ( ) ( )ixfiyixg = , sendo:

Page 118: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

109

( ) λα += ∑=

jij

m

jji xxyxf ,

1

considerando o parâmetro λ o bias do modelo, o valor f(xi) como o valor computado

pela rede para o vetor de entrada xi e yi a saída desejada associada.

4.4 – Perceptron SVM dual:

4.4.1 – Classificador geométrico: Para um melhor entendimento da representação dependente dos dados no treinamento

de discriminantes definidos por hiperplanos separadores vamos apresentar um algoritmo

simples de reconhecimento de padrões, sugerido no livro de ALEX SMOLA e

BERNHARD SCHÖLKOPF (2002) relacionado ao Exemplo 4.1. Ao final deste

exemplo, será possível estabelecermos uma topologia de rede para um classificador

SVM, considerando a representação dependente dos dados, resultando em um modelo

de Perceptron dual que tem como objetivo maior a maximização da margem.

Exemplo 4.1: A idéia inicial é construir um classificador para um problema de

dicotomia linear em R2, obedecendo a regra de que um novo vetor x deve ter sua classe

atribuída em função de sua localização em relação ao centro mais próximo.

Esta solução deriva uma interessante construção geométrica que pode ser

observada na Figura IV-6.

Figura IV-6 – Problema de reconhecimento de padrões em R2

Page 119: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

110

Definindo os centros:

c+ = (1 / m+). ∑ i xi | yi = +1

c- = (1 / m-). ∑ i xi | yi = -1

Podemos definir um discriminante para a classificação de um vetor x tomando a

função sinal do produto interno do vetor diferença d = (x – c), onde c é definido como a

média dos centros, pelo vetor w = (c+ - c-), definido como a diferença dos centros, ou

seja:

g(x) = φ( <d,w> )

= φ( < (x – ( c+ + c-) / 2) , (c+ - c-) > )

= φ( < x, c+> - <x, c-> + b), onde b = ½ (||c-||2 - ||c+||2),

sendo φ a função sinal.

É fácil percebermos que se o vetor x formar um ângulo com o vetor w maior que

90º o mesmo se encontrará mais próximo do centro c- . Caso este ângulo seja menor que

90º o mesmo se encontrará mais próximo do centro c+. Na prática, este discriminante

pode ser considerado como a construção de um hiperplano ortogonal ao vetor w que tem

a mesma direção da reta que une os dois centros, semelhante ao classificador Bayesiano

para o caso de matrizes de covariância iguais e na forma diagonal. Obviamente, se os

centros tiverem a mesma distância da origem, o valor do bias b se igual a zero.

Neste sentido, podemos dizer que neste classificador não é considerada a

influência da dispersão ou da variância dos pontos, o que não acontece nos

classificadores Bayesianos e no discriminante de Fisher.

Retornando a representação dependente dos dados podemos eliminar da função

discriminante, os centros das classes, substituindo os vetores c+ e c- pelas suas

respectivas expressões, ou seja:

g(x) = φ (1/m+ . (∑ i | yi = +1 <x, xi> - 1/m - ∑ i | y = -1 <x, xi> + b),

considerando:

b = ½.(1/m -2.(∑ {(i,j) | yi = yj = -1} <xi, xj> - 1/m+2.∑ {(i,j) | yi = yj = +1}

<xi, xj>),

Page 120: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

111

Se associarmos uma função de densidade de probabilidades aos produtos

internos das expressões, podemos redefinir o nosso classificador como um caso especial

de classificação Bayesiana, mais precisamente, a adoção do critério ML, pelo fato de

desconsiderarmos a existência das probabilidades a priori.

Podemos, também, construir uma aproximação para as duas distribuições de

probabilidade utilizando uma estimativa não paramétrica de densidade de classes

baseada na técnica conhecida como Parzen Windows, ou seja, definindo:

P+(x) = 1/m+.∑ i | yi = +1 K(x,xi)

P-(x) = 1/m -.∑ i | yi = -1 K(x,xi) ,

sendo K uma função kernel que descreve uma medida de similaridade entre os pontos. É

importante ressaltar que este é o melhor classificador que pode ser obtido sem uma

informação a priori das probabilidades das duas classes.

Geometricamente, podemos dizer que este classificador mede a distância dos

vetores de entrada x até o hiperplano definido pelo vetor w. Isso pode ser constatado

considerando o produto interno dos vetores w e d como uma medida complementar a

distancia do vetor x ao hiperplano. Nesse sentido, podemos fazer uma analogia deste

classificador com uma máquina de vetores suportes, através do uso de uma

representação dependente dos dados e da substituição e da utilização do hiperplano

separador ótimo, que maximiza a margem entre os vetores suporte, como discriminante.

4.4.2 – Estratégias de aprendizado: Seja a função computada pela rede dual do Perceptron associada a representação

dependente dos dados, na forma:

f(xi) = ∑j αjyj<xi, xj> + λ, para j = 1,...,m

Ou, considerando a separação das classes:

f(xi) = ∑ j | yj = +1 αj<xi, xj> - ∑ j | yj = -1 αj <xi, xj> + (λ+ + λ - ) , para j

= 1,...,m

Page 121: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

112

Com a correção dos pesos dada pela fórmula:

( )[ ]ixgi −=∆ 1ηα ,

sendo:

g(xi) = yif(xi)

A estratégia de aprendizado do Perceptron SVM dual tem a mesma relação com

o classificador apresentado anteriormente, ou seja, ambos tem uma representação

dependente dos dados e determinam a distância de um vetor de entrada x até o

hiperplano no sentido de estabelecerem um processo de correção. A diferença

fundamental é que este novo hiperplano é um hiperplano adaptativo definido em função

dos vetores suportes associados aos respectivos multiplicadores. No classificador

anterior o hiperplano foi definido previamente, em função do posicionamento dos

centros das classes.

Também, é importante ressaltarmos que a fórmula de correção dos pesos tem o

mesmo significado da fórmula de correção do algoritmo Perceptron. Ou seja:

Se αi ≠ 0 significa que o vetor associado é um vetor suporte. Portanto, o valor de

g(xi) = 1, significando que não ocorrerá correção do hiperplano e o ponto permanecerá

na margem. De outra forma, se αi = 0 significa que o vetor associado não é um vetor

suporte. Neste caso, temos duas situações a considerar:

A primeira é quando g(xi) > 1 indicando que o valor de αi é diminuído. Neste

caso, o vetor associado é um vetor que não esta forçando a margem, pois está

posicionado de forma correta em relação ao hiperplano. Portanto, o seu valor deve ser

diminuído para que o mesmo atinja o valor zero e não seja um vetor suporte.

A segunda é quando o g(xi) < 1 que implica que o valor de αi é aumentado.

Neste caso, o vetor associado é um vetor que esta forçando a margem, pois está

posicionado dentro da margem ou de forma incorreta em relação ao hiperplano.

Portanto seu valor deve ser aumentado para que o mesmo passe a ser um vetor suporte.

Page 122: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

113

Podemos observar, entretanto, que existe uma diferença fundamental na forma

de correção do algoritmo Adatron em relação a correção do algoritmo Perceptron. No

algoritmo Adatron, a exemplo das redes RBF, é estabelecido uma métrica como medida

de similaridade dos dados. De fato, se introduzirmos uma métrica relacionada a norma

quadrática ou distancia mahalanobiana dos vetores, teremos um classificador

equivalente a um classificador Bayesiano ou uma rede RBF.

No modelo Perceptron, a correção dos pesos tem como base uma minimização

dos erros de classificação, não se importando com o posicionamento do hiperplano

separador. Também no algoritmo Adatron, a correção dos pesos é no sentido de

posicionar o hiperplano de modo a estabelecer uma margem máxima entre os pontos

definidos como vetores suportes. No modelo Perceptron, a correção dos pesos, como já

dissemos, é no sentido de corrigir os erros de classificação.

Finalmente, no algoritmo Adatron e, em todas as máquinas de vetores suporte a

exemplo do Perceptron dual, a solução do problema ocorre no plano dual com a

identificação dos vetores suporte através do cálculo dos multiplicadores. O

posicionamento do hiperplano é uma conseqüência da solução deste problema. No

modelo Perceptron a solução do problema ocorre no plano primal, sendo objetivo

principal a computação explicita do vetor w. Achamos que esta abordagem alternativa

das máquinas de vetores suporte, ela é conseqüência principalmente da nova forma de

representação dependente dos dados.

Em problemas de dicotomias lineares, podem acontecer casos de separabilidade

não linear mais suaves, onde alguns pontos do conjunto de treinamento se

posicionariam entre os hiperplanos H1 e H2, sem, no entanto, ocorrerem erros de

classificação. Este problema será tratado com a introdução de uma constante de erro nas

restrições de classificação definindo uma nova forma de maquina de vetores suporte,

denominada de Soft Margin.

4.5- SVM com Soft Margin Na utilização de um hiperplano ótimo como separador podem ocorrer problemas onde o

conjunto de pontos não seja perfeitamente linearmente separável. Neste caso pode

Page 123: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

114

existir alguma forma de overlap entre as classes, provocando uma violação das

restrições de classificação do sistema.

A forma mais usual de corrigir este problema consiste na introdução de

variáveis de folga não negativas, ou de relaxação das restrições, que permitirão que o

conjunto de treinamento seja separado linearmente com um número mínimo de erros

relacionado ao controle da capacidade do classificador.

4.5.1 – Flexibilização da margem: Seja a introdução das variáveis de folga ou de relaxação iε = 1, ... l onde 0≥iε .

Devemos minimizar o funcional de erro:

∑i єiσ , i = 1,...,l

Sujeito as restrições de classificação na forma relaxada:

ii bwx ε−≥+ 1 para 1+=iy

1−≤+ ii bwx ε para 1−=iy ,

permitindo, desta forma, segundo a Figura IV-7, que alguns pontos ultrapassem a

barreira dos hiperplanos segundo os valores de iε .

Claramente, os valores de iε estão associados aos erros de treinamento. Se o

valor de єi estiver contido no intervalo, 0 < єi < 1, os pontos associados ultrapassam a

margem de segurança, sem, no entanto, ocorrerem erros de classificação. Por outro

lado, se єi > 1, então o vetor associado αi está sendo classificado na classe contrária,

ocorrendo um erro de classificação.

Se os vetores associados aos erros de classificação puderem ser separados do

restante do conjunto de treinamento, então os dados remanescentes poderão ser

treinados de forma a definir um hiperplano separador ótimo. Este problema pode ser

tratado de maneira formal através da minimização de um funcional que inclui uma

medida de capacidade do classificador, associado a maximização da margem, e uma

medida de penalização dos erros de treinamento. Considerando σ = 1, temos:

Min ½ wt . w + C.φ (∑iєi), para i=1,...,l

Page 124: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

115

Sujeito a:

ii bwx ε−≥+ 1 para 1+=iy

1−≤+ ii bwx ε para 1−=iy ,

0≥iε ,

onde o parâmetro C é uma constante positiva que controla a penalização do erro e o

funcional φ deve ser uma função monotona convexa com φ (0) = 0.

Figura IV-7 – SVM com soft margin

4.5.2 – Norma L1: Considerando φ (u) = uk e k = 1 temos a primeira forma de solução do classificador

com margem soft relacionada a norma linear ou normal L1:

∑ ⋅ + ⋅ єi C w w Min t 2 1

Sujeito a:

( ) 01 ≥−++⋅⋅ ii bxwyi ε

0≥iε i: 1 .. l

Introduzindo os multiplicadores α e µ , temos:

( ) ∑∑∑∑∑ −−++−+ iiiiiiiiit bwxyCwwMin εµεαααε

21

ou

Page 125: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

116

( ) ( )

0021

≥≥

−−+++− ∑∑∑

µα

µαεαα

i

CbwxywwMin iiiiiiit

Tomando-se o gradiente da função lagrangeana em relação a w, b e є, e

igualando a zero de modo a satisfazer as condições de otimalidade de primeira ordem,

temos:

00 =−⇒=∂∂ ∑ iii xywwL

α

00 =⇒=∂∂

ii ybL

α

00 =−−⇒=∂∂

iii

CLµα

ε

Substituindo o valor de w na expressão da função lagrangeana e introduzindo as

demais equações como restrições do problema, anulamos a dependência da função

objetiva em relação aos parâmetros w, b e є, estabelecendo novamente o problema na

forma dual de Wolfe, ou seja:

( )( ) ∑∑∑ −=i j

jijijii xxyyLMax ,21

αααα

Sujeito a:

∑yiαi = 0

C - αi - µi = 0

µi >= 0

αi >= 0.

Considerando µi = C - αi e µi ≥ 0, temos: αi ≤ C, possibilitando rescrever o

problema na forma:

( )( ) ∑∑∑ −=i j

jijijii xxyyLMax ,21

αααα

Sujeito a:

∑yiαi = 0

0 ≤ αi ≤ C

Page 126: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

117

Interpretação das condições de otimalidade: Definindo, novamente, as condições de Karush-Kuhn-Tucker (KKT), temos:

( ) 01 ≥−++⋅⋅ ii bxwyi ε i: 1 .. l

µi, αi >= 0 , i de 1 ... m

( )( )0

01=

=−++

ii

iiii bwxyεµ

εα

Dessa forma, pode ser feita a seguinte análise de viabilidade considerando,

agora, uma flexibilização na classificação dos dados:

1º caso: O vetor esta fora das margens.

Se 00 =⇒=⇒= iii C εµα

derivando:

( ) 01 ≥−+ bwxy ii

2º caso: O vetor ultrapassa as margens.

Se Ci =α => µi = 0 => єi >= 0

derivando:

( ) 01 ≤−+ bwxy ii .

3º caso: O vetor está sobre a margem.

Se Ci << α0 => µi > 0 => єi = 0

derivando:

( ) 1=+ bwxy ii

A seguir fazemos algumas observações relacionadas a análise da viabilidade

apresentada:

1ª - Se αi > C e, consequentemente єi > 1, então ocorre uma desclassificação do

vetor associado. Portanto, quanto maior o valor de C maior será a relaxação das

restrições de classificação e menor será a medida de margem, reduzindo o poder de

generalização do classificador. Esta analise condiz com a teoriza de generalização de

0≥iε

Page 127: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

118

Vapnik no sentido de que modelos de menor capacidade generalizam melhor do que

modelos de maior capacidade. Observe que no caso das maquinas de vetores suporte a

capacidade do modelo esta relacionada ao valor do parâmetro C.

2ª - É interessante observarmos, também, o comportamento do erro medido pela

distância do ponto ou vetor ao hiperplano, em relação a variação dos parâmetros αi.

Definindo o erro do iésimo vetor como:

iii ybwxE −+= , representado, em módulo, pela equação:

iii EyR = ,

podemos concluir:

Se 00 ≥⇒= ii Rα

Se 00 ≅⇒<< ii RCα

Se 0≤⇒= ii RCα

3ª - Podemos notar, também, que o hiperplano separador é definido somente em

função dos vetores que estão posicionados sobre as margens, ou seja, aqueles vetores

para os quais 0 < αi < C.

4.5.3 – Norma L2: O desenvolvimento de um classificador de Soft Margin pode ser feito, também,

considerando a utilização de uma norma L2, para definição do funcional de erro, ou seja,

φ (u) = u2, derivando a solução do seguinte problema, para a função lagrangeana obtida

pela introdução dos multiplicadores α e µ a sua forma primal:

( ) ∑∑∑∑∑ −−++−+ iiiiiiiiit bwxyCwwMin εµεαααε 2

21

Tomando-se o gradiente desta função em relação a w, b e є, e igualando a zero

de modo a satisfazer as condições de otimalidade de primeira ordem, temos:

Page 128: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

119

CCL

ybL

xywwL

iiiiii

i

ii

iii

2020

0

0

µαεµαε

ε

α

α

+=⇒=−−⇒=

∂∂

⇒=∂∂

=⇒=∂∂

Considerando a equação µiєi = 0, obtida das condições KKT, podemos

considerar єi = (αi / 2C) para µi = 0. Substituindo os valores de w, єi e µi na expressão da

função lagrangeana e introduzindo como restrições as equações restantes relacionadas

as condições de otimalidade, temos:

Max ( )C

xxyyL i

i jjijijii 2

,21 2∑∑∑∑ −−=

ααααα

Sujeito a:

∑αiyi = 0

αi >= 0

FazendoC21

−=λ ,e substituindo o produto interno dos vetores por uma função

kernel K(xi, xj), podemos rescrever o problema na forma:

Max ( ) ( ) ∑∑∑∑ −−= 2,21

ii j

jijijii xxKyyL αλαααα

ou

Max ( ) ( )∑∑∑ ′−=i j

jijijii xxKyyL ,21

αααα

onde:

( ) ( ) λ+=′ jiji xxKxxK ,, para j = i

( ) ( )jiji xxKxxK ,, =′ para ij ≠

Como podemos observar, para a solução do problema de Soft Margin, é

suficiente a introdução de uma pequena constante positiva λ na diagonal da matriz

Kernel. Vale ressaltar que essa constante tem uma relação com o parâmetro C de

regularização.

Page 129: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

120

Em muitos problemas reais, existe o desbalanceamento entre a quantidade de

dados em cada uma das classes. Também em alguns casos a ocorrência de certo tipo de

erro, em relação a determinada classe, pode acarretar uma conseqüência mais séria

quando comparado aos erros decorrentes de uma desclassificação relacionada a classe

contrária. Neste caso é possível realizar uma penalização do erro em diferentes classes,

introduzindo dois valores diferentes ao parâmetro de controle C e λ.

Esta nova abordagem é tratada como o problema de Soft Margin assimétrico.

Em relação a norma L1 teríamos:

0 ≤ αi ≤ C+ , para yi = +1 e

0 ≤ αi ≤ C- , para yi = -1.

Em relação a norma L2 teríamos:

K(xi, xi) = K(xi, xi) + λ+, para yi = +1 e

K(xi, xi) = K(xi, xi) + λ - , para yi = -1

4.5.4 – Controle da capacidade de generalização: Para o controle da capacidade de generalização de um classificador devemos observar o

comportamento de dois fatores, a exemplo do dilema bias-variância , que são,

respectivamente, o erro de treinamento ou risco empírico e a capacidade ou

complexidade do classificador medida pela sua dimensão VC. Na solução do

classificador SVM sem soft margin, quando os dados são linearmente separáveis,

procuramos obter o classificador que possui a menor dimensão VC e que satisfaça as

restrições de classificação reduzindo o erro de treinamento a zero, satisfazendo, desta

forma, a razão de Occam.

Entretanto, mesmo nos problemas onde os dados são linearmente separáveis, é

possível a obtenção de um melhor controle da capacidade de generalização introduzindo

na função objetiva do classificador um funcional relacionado ao erro de treinamento.

Neste sentido, desenvolveram os classificadores SVM de soft margin, nos quais o

parâmetro de controle C ou λ exercem um papel importante na relação entre a

freqüência de erros e a complexidade do modelo.

Page 130: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

121

Desta forma, podemos construir um classificador com boa capacidade de

generalização, mesmo em problemas onde não é possível uma separação linear dos

dados, seja no espaço de entrada ou no espaço de características com a utilização de

funções kernel, minimizando o risco esperado em uma forma análoga a utilização de

um funcional de regularização no problema de aproximação de funções.

Uma heurística muito utilizada para a determinação do parâmetro C consiste em

iterativamente diminuir o valor de C abaixo do valor do maior multiplicador e realizar o

treinamento da rede, submetendo, posteriormente, a mesma a um conjunto de validação.

Os valores do erro, computados para cada hipótese de treinamento em função do

parâmetro C, tem a forma de uma parábolda com um ponto de mínimo. A utilização de

valores de C muito baixos emboram reduza a complexidade das hipóteses, não se

justifica, pois ocorre uma restrição na classe de funções, tornando a função de decisão

do modelo muito simples e acarretando um maior erro de aproximação.

VAPNIK(1998) apresenta um resultado simples, mais importante no sentido de

associar a capacidade de generalização de um classificador SVM em termos do número

de vetores suportes. Neste sentido, é admitido um limite superior na expectativa da

probabilidade de erro, que independe da dimensão do espaço de entrada, mas somente,

da razão entre o número de vetores suportes e o tamanho do conjunto de treinamento,

dado pelo parâmetro m, ou seja:

E[Pr(erro)] = E[número de vetores suportes]/ m ,

indicando que um número menor de vetores suporte possibilita uma melhor

generalização.

Este resultado pode ser compreendido de forma bem intuitiva através da seguinte

analise extraída de BURGES (1998). Seja a probabilidade de erro computada para um

conjunto de treinamento de tamanho m-1. Podemos definir o seu valor esperado como

uma média de m experimentos. Em cada experimento, promove-se a retirada de um

exemplo, realiza-se o treinamento do classificador, e, em seguida, o teste sobre este

exemplo. Neste caso, podem ocorre duas hipóteses.

Page 131: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

122

Na primeira, o exemplo retirado não é um ponto de vetor suporte, portanto, a

forma e posição do classificador não se modificam, ou seja, não afetam o hiperplano

separador mantendo constante a taxa de erro. Na segunda, o exemplo retirado é um

ponto de vetor suporte. No pior caso, este ponto pode se tornar um erro de classificação

quando testado, aumentando, desta forma, a taxa de erro do classificador.

Portanto, é razoável admitir que a sua capacidade de generalização seja

inversamente proporcional a quantidade de vetores suportes e diretamente proporcional

ao tamanho do conjunto de treinamento.

Muitas vezes, entretanto, este resultado não se confirma. Existem inúmeros

exemplos de treinamento nos quais o desempenho do classificador se reduz com a

diminuição do número de vetores suportes.

Através de uma explanação geométrica, é possível demonstrar que os

classificadores baseados em SVM, nem sempre produzem discriminantes com a mesma

qualidade dos classificadores Bayesianos. Seja, portanto, um problema de classificação

binária associado a um conjunto de treinamento formado por m pares (xi,yi), para o

qual normalizamos o vetor w, ||w|| = 1, e fixamos o valor do bias igual a zero, b = 0,

forçando, desta forma a passagem do hiperplano separador pela origem.

Seja f a função discriminante associada. Podemos constatar que o espaço de

versões H, é formado pelo conjunto de hipóteses, descritas como: H = {w | yi.f(xi) > 0;

i=1,...,m, ||w|| = 1}. Pode ser demonstrado que a solução SVM coincide com o centro

de Tchebycheff da maior esfera contida em H. Entretanto, nem sempre este ponto

coincide com o ponto relacionado ao ponto de Bayes.

Para solucionar este problema têm sido apresentados novos algoritmos de SVM

que procuram uma aproximação com o ponto de Bayes. Este algoritmos desenvolvidos

por HERBRICH, GRAEPEL e CAMPBELL (2001) são chamados de Máquinas de

pontos Bayesianos.

Page 132: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

123

4.6 - Analogia Mecânica: Os trabalhos de BURGES (1998) e SCHÖLKOPF (2000) fazem uma analogia da

estrutura do problema de otimização de um classificador SVM e sua respectiva solução,

com as condições impostas pelas equações de equilíbrio mecânico.

Considerando um problema nos quais os pontos ou vetores estão dispostos em

R2, cada vetor suporte xi exerce uma força equivalente ao valor do multiplicador αi no

sentido do valor do sinal iy na direção do vetor w, ou seja, perpendicular ao hiperplano.

Portanto, podemos considerar que o somatório de forças se anula, ou seja:

∑ = 0forças

ou, de forma análoga, considerando wyF iii

)α= , obtêm-se:

∑=

=N

iii wy

1

0)α ,

onde w) representa o vetor unitário de direção w.

Podemos considerar que o equilíbrio desse sistema de forças, determina a

posição, ou bias do hiperplano.

Também, podemos verificar que o somatório dos momentos se anula, ou seja:

∑ = 0torques

ou, de forma análoga, considerando que 0=∑ ixFi , temos:

( ) 0==∑ wwwyx iii))α ,

onde ∑=

=N

iiii xyw

1

α , sendo que ix representa os vetores suporte e wyii)α as forças

associadas.

De fato: ( ) 0=== ∑∑ www

wwyxwyx

iiii

iiii αα ) .

Page 133: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

124

Podemos considerar que o equilíbrio do sistema de torques, determina a direção

(vetor w) do hiperplano.

Para o caso do problema de Soft Margin podemos considerar a introdução da

restrição αi ≤ C como a imposição de um limite superior no modulo das maiores forças

que podem ser exercidas sobre o hiperplano.

Esta analogia mecânica, é interessante no sentido de demonstrar que os vetores

de treinamento associados aos maiores valores de α tem maior influência no

posicionamento final do hiperplano separador, justificando, de alguma forma, a

denominação dos vetores suportes.

4.7 – SVM e Multi-classificação: Para a utilização de classificadores SVM em problemas de multi-classificação, devemos

considerar o treinamento de um conjunto de hiperplanos separadores formando uma

função de decisão mais complexa. Este processo pode ser desenvolvido de duas formas

diferentes, que apresentam, entretanto, resultados equivalentes.

A primeira consiste, como ocorre implicitamente no treinamento do Perceptron

de múltiplas camadas, consiste no método um contra o resto, ou seja, para cada classe

do problema, treinamos um classificador considerando como positivos os exemplos da

classe e negativos os demais. Temos, portanto, a geração de n hiperplanos separadores,

conforme a Figura IV-8, sendo n o número de classes existentes.

Neste caso, a função de decisão rotula como classe de um novo exemplo aquela

associada ao hiperplano que esteja mais afastado do vetor, no sentido de garantir uma

maior generalização. Considerando g(x) a função que computa a distância de um ponto

ao hiperplano associado, e c(x) a função que rotula a classe, temos:

c(x) = Arg Max i {gi(x)}, onde gi(x) = wix + bi , sendo wi = ∑j(αj)i.yj.φ(xj), j∈SV.

Page 134: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

125

Observe que, desta forma, são realizados n treinamentos, cada um contendo todo

o conjunto de exemplos. Para testarmos a pertinência de um novo exemplo computamos

n distâncias e realizamos n-1 comparações.

Figura IV-8 – SVM multiclassificação: um contra todos

A segunda alternativa consiste em treinarmos uma classe contra a outra,

considerando somente os exemplos de treinamento associados as respectivas classes. No

entanto, são realizados Cn,2 ou n.(n-1)/2 treinamentos, com a geração de n.(n-1)/2, ou

seja, um número quadrático de hiperplanos separadores na forma gi,j(x) para i≠j. Neste

caso, a função de decisão envolve a formação de uma árvore binária de decisão

contendo n vértices terminais relativos as n classes e 1 + 2 + ...+ n-1 = n.(n-1)/2

vértices internos, correspondentes a confrontação de todos os pares de hiperplanos

obtidos.

A topologia desta árvore pode ser observada na Figura IV-9, para um problema

envolvendo quatro classes. A existência de ciclos não descaracteriza o processo de

decisão na forma de uma árvore decisória, sendo, o custo de classificação de um novo

exemplo, equivalente a realização de n-1 comparações, cada uma envolvendo a

avaliação de uma função de decisão do tipo φ(gi,j(x)), que estabelecem um caminho da

raiz até um vértice terminal associado a classe vencedora.

Page 135: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

126

Figura IV-9 – Árvore de decisão para problema de multiclassificação.

Page 136: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

127

Capítulo V – Classificadores Kernel O desenvolvimento de classificadores kernel tem três motivos principais. O primeiro

está relacionado a solução de problemas não linearmente separáveis por hiperplanos

separadores em um espaço de mais alta dimensão, denominado de espaço de

características F. O segundo está relacionado a necessidade de se extrair propriedades e

relacionamentos de conjunto de dados altamente estruturados como seqüências, grafos,

árvores, etc, e que não tem, a princípio, uma forma vetorial numérica apropriada. O

terceiro, e menos divulgado, está relacionado a estimava de funções de densidade de

probabilidade em modelos não paramétricos de aprendizagem.

A utilização de funções kernel na solução de problemas de reconhecimento de

padrões, foi feita, inicialmente, por AIZERMAN, BRAVERMAN e ROZONOER

(1964) que introduziram estas funções em classificadores Perceptrons de forma a

tornarem possível a sua utilização na solução de problemas não linearmente separáveis.

No contexto dos classificadores SVM, a utilização de funções kernel foi proposta no

trabalho apresentado por BOSER, GUYON e VAPNIK (1992).

Ultimamente, um grande número de algoritmos de aprendizagem tem utilizado a

estrutura de Kernel destacando-se os processos gaussianos como as funções de base

radial, RBF kernels, CAMPBELL (2000), na análise de componentes principais, KPCA

, SCHOLKOPF, SMOLA e MULLER (1996), em Discriminante de FISHER, KFD,

MIKA, RATSCH, WESTON SCHOLKOPF e MULLER (1999), nos modelos de

Perceptron de larga margem, Kernel Adatron, FRIESS, CRISTIANINI e CAMPBELL

(1998), no Perceptron de votação, FREUND e SCHAPIRE (1998) em máquinas de

pontos de Bayes, HERBRICH, GRAEPEL e CAMPBELL (2001), e, também, nos

processos de boosting como o algoritmo AdaBoost, FREUND e SCHAPIRE (1997).

Quanto ao desenvolvimento de kernels para dados estruturados podemos

destacar o trabalho de JAAKKOLA e HAUSSLER (1998) no desenvolvimento de

kernels a partir de modelos como modelos de Markov ou HMM , com aplicação em

bioinformática na análise de seqüências de proteínas ou moléculas de RNA e DNA.

Page 137: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

128

Também, devemos destacar o desenvolvimento de kernels a partir da análise da

sintaxe da representação dos dados. Neste caso, destacamos os modelos baseados no

cálculo de similaridades aplicados a strings proposto por LODHI, SHAWE-TAYLOR,

CRISTIANINI e WATKINS (2001), todos utilizados, principalmente, em problemas de

categorização de textos.

Observa-se, recentemente, o desenvolvimento de kernels baseados em estruturas

de árvores, grafos e gramáticas, com aplicação em problemas de classificação

associados ao reconhecimento de linguagens mais complexas como a linguagem

natural, e estruturas secundárias de proteínas.

A utilização pioneira de funções kernel, e, talvez, a justificativa deste nome,

parece estra relacionada ao trabalho de PARZEN (1962) que desenvolveu uma técnica

não paramétrica para a estimativa de funções de densidade de probabilidade,

denominada janelas de Parzen ou Parzen windows. Neste trabalho, Parzen introduziu

uma classe de funções, denominadas, também, de funções potenciais, cujo principal

objetivo era o de aproximar um conjunto de pontos de determinado espaço de entrada,

ou seja, uma função de densidade, em uma expansão ou base de funções suaves.

Neste trabalho, daremos ênfase ao estudo e desenvolvimento de kernels para a

solução de problemas não linearmente separáveis, no contexto, sobretudo, dos

classificadores baseados em SVM e Perceptron. Quanto ao projeto de funções kernel,

para a extração de similaridades de dados estruturados, daremos ênfase ao

desenvolvimento de soluções relacionadas a cadeias de caracteres ou strings aplicados a

problemas de classificação de textos e seqüências biológicas. Para melhor compreensão

dos classificadores kernel vamos apresentar, inicialmente, alguns conceitos básicos

relacionados às funções kernel e ao espaço de características.

5.1 – Funções Kernel No estudo de funções kernel, para a solução de problemas não linearmente separáveis, é

de fundamental importância termos em mente que a função a ser escolhida será aquela

que dará o formato do discriminante no espaço de entrada do problema. Assim, se o

problema requer uma função discriminante quadrática, seja uma hipérbole ou elipse,

Page 138: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

129

para a sua solução, devemos utilizar uma função kernel polinomial, que posibilitará a

utilização de uma representação linear, deste discriminante, no espaço de características.

5.1.1 - Espaço e Funções de Características Quando o conjunto de dados não é linearmente separável aplicamos uma transformação

não-linear do espaço de entrada original, em um espaço de mais alta dimensão,

denominado espaço de características. Esta transformação pode ser obtida através do

uso de várias funções de mapeamento como exemplo: polinomiais, logísticas,

gaussianas, etc. Após esta transformação, os dados são separados de forma linear no

espaço de características através da construção de um hiperplano separador por um tipo

de classificador como as máquinas SVM, conforme o exemplo da Figura V-1, que

mostra uma projeção de pontos de um espaço de entrada R2 para um espaço de

características R3.

Figura V-1 – Espaço de entrada e espaço de características

A arquitetura básica de uma máquina kernel, CAMPBELL (2000), consiste na

escolha de uma função kernel que é responsável pela realização da transformação não-

linear, seguida de um combinador linear de saída, a exemplo das redes RBF, segundo a

Figura V-2, que mostra a topologia de um classificador kernel generalizado para

múltiplas saídas. A utilização de máquinas kernel, nas quais se incluem as máquinas de

vetores suportes, é motivada, principalmente, pelo teorema de Cover sobre a

separabilidade de padrões. Como já vimos, no primeiro capítulo, COVER (1965) afirma

que um problema complexo de classificação de dados não linearmente separável tem

uma alta chance de ser linearmente separável em um espaço de alta dimensão,

Page 139: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

130

considerando uma função de mapeamento denominada função característica. Nesta nova

ótica, projetando os dados para um espaço de maior dimensão, obtemos um conjunto de

grupamentos, ou clusters, dos dados, esparsamente distribuídos e mais facilmente

separáveis.

Figura V-2 - Classificador kernel com múltiplas saídas

De forma simplificada, podemos resumir a utilização de funções kernel

apresentando o seguinte problema: Seja um conjunto de pontos ou dados pertencentes

ao espaço euclidiano RD, definido como espaço de entrada, seja F um espaço de mais

alta dimensão definido como espaço de características, sendo uma generalização do

espaço euclidiano. Definindo uma função de mapeamento φ:RD → F, x → φ(x),

podemos estabelecer uma função kernel, K | K(x,xi) = <φ(x).φ(xi)>, na forma de um

produto interno do mapeamento de dois vetores associados a função característica φ,

sendo x e xi ∈ RD.

É importante ressaltar que o algoritmo de treinamento de um classificador

kernel como uma máquina de vetores suportes, depende, somente, do produto interno

dos vetores no espaço de entrada, seguido da avaliação da função kernel K, afim de

determinar uma superfície de decisão linear ou hiperplano separador no espaço de

características. Este processo, denominado kernel trick, está descrito na topologia de

rede apresentada na Figura V-3.

Page 140: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

131

Figura V-3 – Função Kernel e funções características.

Portanto, ao projetarmos os pontos no espaço de características, através do

mapeamento obtido pela função φ, necessitamos definir, somente, a função kernel , não

necessitando avaliar a função φ explicitamente e nem mesmo conhece-la. Utilizando a

função K no algoritmo de treinamento obtemos, da mesma forma, uma superfície de

decisão linear no espaço de características F, a qual corresponde a uma superfície de

decisão não linear no espaço de entrada.

Basicamente, aplicamos o mesmo algoritmo de treinamento no espaço F, para

um conjunto de treinamento formado por: {(φ(x1),y1), (φ(x2),y2), ..., (φ(xm),ym)}. Para

melhor entedimento deste processo vamos utilizar um exemplo descrito em MULLER,

MIKA, RATSCH, TSUDAT e SCHOLKOPF (2001).

Exemplo 5.1: Sejam x,y ∈ R2. Definindo uma função kernel K como polinomial

quadrática, temos K(x,y) = (x.y)2. Portanto, deve haver um espaço F de mais alta

dimensão e uma função de mapeamento φ, que viabilizem a definição deste kernel. De

fato, para um espaço tridimensional, ou seja F=R3, podemos determinar uma função de

mapeamento ou monomial de segunda ordem φ(x) = φ(x1,x2) = (x12,√2.x1.x2, x2

2) que

garante a existência da função kernel. Para tanto, temos:

φ:R2 → R3 (F),

(x1,x2) → φ(x1,x2) = (x12,√2.x1.x2, x2

2)

Page 141: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

132

Observando a Figura V-1, adaptada a este exemplo, podemos constatar que os

pontos projetados no espaço de características permitem uma separabilbidade linear, ao

contrário do espaço de entrada, que exige um elipsóide como superfície separadora.

Veremos agora, como estes valores podem ser computados diretamente, com o uso da

função kernel K, não necessitando avaliar, explicitamente, a função φ.

Para tanto, é necessário a avaliação de produtos internos relacionados a

função de mapeamento no espaço de características, ou seja:

<φ(x),φ(y)> = (x12,√2.x1.x2, x2

2).(y12,√2.y1.y2, y2

2) T

= ( (x1,x2).(y1,y2)T)2

= (<x,y>)2

= K(x,y).

Portanto, o produto interno dos vetores no espaço de características pode ser

substituído pela avaliação da função kernel tendo como argumento o produto interno

dos vetores no espaço de entrada.

Entretanto, nem todas as funções podem ser utilizadas como kernel, ou seja, nem

todas as funções garantem uma transformação na forma:

K : RD x RD → R , tal que φ:RD → F e K(x,y) = <φ(x),φ(y)>, x,y ∈ RD.

Também, a unicidade da função φ e do espaço F, não são garantidos para um

determinado kernel. Neste exemplo, para F = R4, podemos definir, também, um

mapeamento alternativo na forma φ(x) = (x12, x1.x2,x2.x1,x2

2).

5.1.2 – Problema XOR: Exemplo 5.2: Seja, agora a solução do problema XOR utilizando um

classificador SVM com um kernel polinomial na forma K(x,xi) = (x.xi)2 . Considere o

seguinte conjunto de treinamento formado por quatro pontos em R2 associados as

respectivas saídas desejadas, yi.

1: (+1,+1) → +1

2: (-1,-1) → +1

3: (+1,-1) → -1

4: (-1,+1) → -1

Page 142: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

133

Tomando uma função característica na forma: φ(x1,x2) = (x12,√2.x1.x2, x2

2),

temos os seguintes mapeamentos no espaço de características F, tridimensional:

1: (+1,+1) → (+1,+√2,+1)

2: (-1,-1) → (+1,+√2,+1)

3: (+1,-1) → (+1,-√2,+1)

4: (-1,+1) → (+1,-√2,+1).

A nova disposição dos pontos pode ser visualizada na figura. Observe que agora

é possível construir no espaço F = R3 um hiperplano separador.

Para tanto, devemos computar a função kernel para cada produto interno dos

vetores de entrada. Considerando K(x,xi) = (x.xi)2, temos a seguinte matriz K de

valores:

4 4 0 0

K = 4 4 0 0

0 0 4 4

0 0 4 4

Neste instante, é importante reformularmos a função objetiva do classificador

SVM, na forma dual de Wolfe, utilizando o produto interno das funções características,

ou seja:

Max ∑iαi - ½.∑i∑jαi.αj.yi.yj.<φ(xi),φ(xj)>

Sujeito a:

∑iαi..yi = 0,

0 ≤ αi ≤ C.

Substituindo o produto interno das funções características pela função kernel K,

temos:

Max ∑iαi - ½.∑i∑jαi.αj.yi.yj.K(xi,xj)

Sujeito a:

∑iαi..yi = 0,

0 ≤ αi ≤ C.

Page 143: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

134

Considerando o conjunto de variáveis duais α1, α2, α3 e α4, associadas a cada

amostra do conjunto de treinamento, e, substituindo na função objetiva a matriz K e os

valores desejados yi, temos o seguinte problema de otimização quadrática:

Max α1 + α2 + α3 + α4 - ½.( 4.α12 + 4.α2

2 + 4.α32 + 4.α4

2 + 8.α1.α2 + 8.α3.α4)

Sujeito a:

α1 + α2 = α3 + α4,

α1, α2, α3, α4 ≥ 0.

Otimizando a função objetiva em relação as variáveis αi, temos as seguintes

equações relacionadas as condições de otimalidade de primeira ordem:

4.(.α1 + α2 ) = 1 e 4.(.α3 + α4 ) = 1, fornecendo como solução: α1 = α2 = .α3 = α4 = 1/8.

Para determinarmos o hiperplano separador no espaço F, devemos computar o

vetor w na forma:

w = ∑i αi.yi.φ(xi),

ou seja:

w = 1/8.[ (+1,+√2,+1)T + (+1,+√2,+1)T - (+1,-√2,+1)T- (+1,-√2,+1)T ]

w = (0, +√2/2,0)T.

Considerando o bias b = 0, temos como discriminante um hiperplano equivalente

ao plano das coordenadas z1 e z3. Observe que o valor da margem é dado pelo produto

interno wT.φ(xi), sendo igual a 1 para os pontos associados a saída +1, e igual a -1 para

os pontos associados a saída -1.

A função de classificação no espaço de entrada é definida pela função de

decisão:

z(x) = φ (wT.φ(x)) ,

sendo igual a:

z(x) = φ ((0, +√2/2,0).(x12,√2.x1.x2, x2

2)T)

= φ (x1.x2)

De fato, para os pontos onde x1 = x2, temos a saída +1, e para os pontos onde

x1 ≠ x2, temos a saída -1. A função discriminante, f(x) = x1.x2, define em R2 a equação

Page 144: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

135

de uma hipérbole. A sua representação, bem como a equação do hiperplano no espaço

de características, pode ser visualizada na Figura V-4.

Figura V-4 – SVM Kernel e o problema XOR.

5.2 - Condições de Mercer e universalidade: Obviamente, a primeira condição a ser estabelecida para que uma função seja um kernel

é a sua simetria, derivada da condição de simetria do produto interno, ou seja:

K(x,y) = K(y,x)

Também, a mesma deve satisfazer a inequação de Cauchy-Schwartz, ou seja:

K2(x,y) ≤ K(x,x).K(y,y).

A condição de existência de um kernel para um par {F, φ} foi estabelecida por

Mercer (1909), que determinou as condições de necessidade e suficiência para que uma

função simétrica K(x,y) seja um kernel. Esta condição está associada ao fato de que a

função deve ser positiva definida. Segundo Mercer, existe um mapeamento e uma

expansão:

K(x,y) = ∑iλi.ψi(x).ψi(y),

sendo λi ∈ R, se e somente se, para alguma função g(x) com norma L2 finita no espaço

de entrada, ou seja ∫ g(x)2dx é finita, tivermos:

( ) ( ) ( ) 0., >∫ ∫ dydxygxgyxk

Page 145: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

136

Portanto, existe um conjunto de funções ψi, tal que:

∫ k(x,y).ψi(x)dx = λi.ψi(x)

Neste caso, podemos definir a função característica como:

φ(x) = {√ λ1. ψ1(x), ...,√ λn. ψn(x),...},

fornecendo:

K(x,y) = φ(x)T.φ(y) = ∑iλi.ψi(x).ψi(y).

A garantia de que uma função seja, também, uma função kernel, pode ser

expressa de outra forma em um teorema apresentado em CAMPBELL(2000):

Teorema 5.1: “Faça K(x,y) ser uma função real e simétrica para um espaço

finito de entrada, então a mesma é uma função kernel se e somente se a matriz K

formada por componentes k(xi,xj) é positiva semi-definida.

GENTON (2001), apresenta a seguinte condição relacionado a necessidade da

função K ser positiva definida:

“Para um conjunto de vetores x1,x2,...,xm, e para um conjunto de escalares

λ1,λ2,..,λm, a função K deve satisfazer:

∑ i ∑ jλi.λj.K(xi,xj) ≥ 0

AIZERMAN, BRAVERMAN e ROZONOER (1964), consideram uma

convolução do produto interno no espaço de características funções que tem a forma:

K(x,y) = ℮ -|x-y|/σ , que receberam o nome de funções potenciais. Entretanto, a

convolução do produto interno de funções no espaço de características pode ser dada

por outras funções que obedecem a condição de Mercer, como exemplo, as funções

polinomiais de grau d, sob a forma:

K(x,y) = (x.y + 1)d.

Seja o problema de otimização quadrática associado a um classificador SVM

com função kernel K, reescrito na forma matricial como:

Max Λ.l – ½. ΛT.D. Λ

Page 146: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

137

Sujeito a:

ΛT.Y = 0,

0 ≤ Λ ≤ C,

considerando o vetor Λ = (α1, α2,..., αm) o vetor de multiplicadores e D uma matriz

simétrica, mxm, semi-positiva definida, na forma D = [di,j], onde di,j = yi.yj.K(xi,xj).

A utilização de funções kernel que não atendem as condições de Mercer podem

tornar a matriz D indefinida, para alguma instância do conjunto de treinamento, não

garantindo, neste caso, a solução do problema de otimização na sua forma dual.

É interessante observarmos que, a utilização de diferentes tipos de funções

kernel, tornam um classificador kernel, em especial um classificador SVM, uma

máquina universal. Como exemplo, podemos citar as redes RBF com funções

discriminantes na forma:

f(x) = sinal(∑i αi. exp(||x-xi||2/σ2)),

que podem ser implementadas por funções kernel do tipo potencial. A topologia desta

rede, também chamada de SVM com kernel RBF pode ser mostrada na Figura V-5. A

diferença principal em relação a uma rede RBF tradicional e que, neste caso, os centros

das funções de base gaussianas estão associados aos multiplicadores αi, sendo

escolhidos automaticamente pelo algoritmo de aprendizado.

Figura V-5 – Classificador SVM com kernel gaussiano.

Page 147: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

138

Na Figura V-6 apresentamos um problema de classificação binária em R2, não

linearmente separável, resolvido com a utilização de uma classificador SVM com kernel

gaussiano.

Figura V-6 – Exemplo de classificação com SVM e kernel gaussiano

A seguir são descritos os principais tipos de kernels utilizados nos projetos de

classificadores:

Produto interno: K(x,xi) = <x,xi>, utilizado no Perceptron de margem.

Produto interno normalizado: K(x,xi) = <x,xi>/ √<x,x>.<xi,xi>, utilizado em

algumas variantes do Perceptron

Gaussiano: K(x,xi) = exp( ||x-xi||2/σ2), utilizado nas redes RBF.

Polinomial de grau: K(x,xi) = (<x.xi> + θ)d, utilizado em aproximações polinomiais

Sigmoidal: K(x,xi) = Tanh(k.xT.xi + b), utilizado em Perceptron de uma camada

interna ou redes de duas camadas

Multiquadrático: K(x,xi) = 1/ √ ||x-xi||2 – c2, utilizado em redes de regularização.

Multidimensional Spline: K(x,xi) = Πk Kk(xk,xik), utilizado em aproximação de

funções.

Multiplicativo Anova: K(x,xi) = (∑k exp(-γ.(xk – xik)2)))d, utilizando em modelos de

regressão.

Page 148: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

139

Vale observar que dos modelos apresentados, o kernel sigmoidal é o único que

não atende as condições estabelecidas por Mercer.

5.3 - Classes e propriedades de funções kernel Nesta seção descreveremos as principais propriedades das funções kernel, bem como as

principais classes de funções utilizadas, obtidas do trabalho de GENTON (2001).

Também, será mostrada a dimensão VC das funções kernel polinomias e gaussianas

RBF.

5.3.1 - Propriedades de funções Kernel A primeira propriedade das funções kernel se refere a uma combinação linear positiva,

ou seja: se K1 e K2 são dois kernels e a1 e a2 dois números reais positivos, então:

K(x,y) = a1.K1(x,y) + a2.K2(x,y), também é um kernel.

A segunda garante que a multiplicação de dois kernels também é um kernel, ou

seja: K(x,y) = K1(x,y).K2(x,y) é um kernel.

A terceira garante que um polinômio e uma função exponencial avaliados em

um kernel também são kernels, ou seja:

K(x,y) = pn (K1(x,y)) é um kernel,

K(x,y) = exp(K1(x,y)) é um kernel.

A quarta garante que se g for uma função real, então:

K(x,y) = g(x).g(y) é um kernel.

A quinta garante que se A for uma matriz positiva definida, então:

K(x,y) = xT.A.y é um kernel.

A sexta, e última propriedade, garante que se h for uma função real com valor

mínimo em 0, então:

K(x,y) = ¼.[h(x+y) – h(x-y)] é um kernel.

Particularmente, para h(x) = xT.x, obtemos que a função produto interno, ou seja:

Page 149: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

140

K(x,y) = ¼.[(x+y)T.(x+y) – (x-y)T.(x-y)] = xT.y é um kernel.

5.3.2 – Classes de funções Kernel Quanto as classes de funções kernel, podemos ter a classe de funções estacionárias e

não estacionárias. Uma classe de kernels é dito estacionária quando são invariantes a

uma translação, ou seja: K(x,y) = KS(x-y). Neste caso, a avaliação do kernel depende da

diferença dos dois vetores e não dos vetores propriamente ditos.

Quando um kernel estacionário depende da norma quadrática relativa a distância

entre os dois vetores e não do vetor diferença relacionado a norma linear, o kernel é

chamado de isotrópico ou homogêneo, ou seja: K(x,y) = KI(||x-y||). Alguns exemplos

de kernels estacionários e isotrópicos podem ser mostrados na Figura V-7, sendo as suas

equações apresentadas na tabela . Podemos destacar os kernels circular, esférico,

quadrático racional, exponencial, gaussiano e na forma de onda.

Page 150: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

141

Figura V-7 – Funções kernel estacionárias

Uma classe de kernel é dita não estacionária quando a sua avaliação depende

explicitamente dos dois vetores. As formas mais comuns de kernels não estacionários

são os polinomiais de grau d, ou seja: KN(x,y) = (xT.y)d. Um caso particular de kernels

não estacionários são aqueles formados pelo produto de dois kernels estacionários, ou

seja: KN(x,y) = KS(x).KS(y).

Vale destacar, finalmente, a classe de kernels redutíveis. Estes kernels são não

estacionários mas redutíveis a estacionários por uma transformação não linear.

5.3.3 – Dimensão VC de funções Kernel É possível estabelecermos o valor da dimensão VC para alguns tipos de classificadores

kernel. Em geral, a dimensão VC relacionada ao espaço de características tem valores

muito elevados, as vezes infinito.

Inicialmente, vamos considerar que a dimensão VC de um kernel que satisfaça

as condições de Mercer em um espaço de características é equivalente a dimensão do

espaço de características mais um, ou seja: h = dF + 1. Trata-se, portanto, do mesmo

valor relacionado a classe de classificadores lineares em problemas linearmente

separáveis. Vejamos a seguir dois exemplos:

Para classificadores que utilizam funções kernel não estacionárias polinomiais

homogêneos de grau d, na forma (x.y)d, em um espaço de entrada de dimensão n, é

mostrado que a dimensão do espaço de características é igual a (n + d - 1)! / d!.(n -1)! .

Portanto, a dimensão VC será igual a este valor mais um.

Exemplo 5.3: Seja uma expansão polinomial de segunda ordem desenvolvida

para um ponto em R2. Portanto, n=2 e d=2, derivando o seguinte mapeamento::

φ2(x) = φ2 (x1,x2)

= (x12, x2

2, x1.x2, x2.x1)

= (x12, x2

2,√2.x1.x2)

Page 151: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

142

Observe que, neste caso, a cardinalidade do espaço de características F pode ser

reduzida para três.

Esta redução, de uma unidade, se deve a necessidade de compensar a

ocorrência de repetições, ou seja, de mesmos monomiais na expressão. Isto é feito

multiplicando-se a respectiva entrada ou monomial pela raiz quadrada do número de

ocorrências. Entretanto, em ambos os casos, temos:

φ2(x). φ2(y) = K(x,y) = (x.y)2

Como exemplo da alta dimensionalidade do espaço de características podemos

considerar um problema de classificação de padrões, extraído de SMOLA e

SCHOLKOPF (2001).

Exemplo 5.4: Seja um conjunto de imagens representadas por matrizes de

16x16 pixels para uma aproximação polinomial com d=5. Neste caso, a dimensão do

espaço de características seria igual a 1010.

Para polinômios de grau d, na forma (x.y + 1)d , teríamos, para n=2 e d=2, uma

expansão definida por:

φ2(x) = φ2 (x1,x2)

= (1,√2.x1,√2.x2, x12, x2

2, √2.x1.x2),

determinando, portanto, uma dimensão ainda maior para o espaço de características.

Espaço de características de dimensão infinita: Como dissemos, existem alguns classificadores kernel que possuem dimensão

VC infinita. Esta é uma característica da classe de funções kernel estacionárias

homogêneas como os kernels gaussianos RBF. Inicialmente, para provarmos estes

resultados vamos apresentar um teorema obtido de BURGES (1998) relacionado a

dimensão VC de classificadores lineares.

Teorema 5.2: “ Considere um conjunto de m pontos em Rn. Escolha um dos pontos

como origem. Então, os m pontos serão linearmente separáveis em todas as dicotomias

Page 152: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

143

se e somente se os vetores posição dos m-1 pontos remanescentes forem linearmente

dependentes.”

Como conseqüência deste teorema podemos garantir que a dimensão VC da

classe de classificadores lineares em Rn , é exatamente n+1, visto que, o maior número

de vetores linearmente independentes em Rn é igual a n.

Desta forma, podemos enunciar o teorema relacionado a dimensão VC infinita

de uma classe de funções kernel estacionárias:

Teorema 5.3: “ A classe de funções kernels para os quais K(x,y) → 0 quando

||x-y|| → ∞ e K(x,x) é O(1) tem dimensão VC infinita.”

Como prova podemos considerar que a matriz kernel K pode ser construída

possuindo todos os elementos da diagonal principal iguais a O(1) e os demais elementos

arbitrariamente pequenos, escolhendo-se um conjunto de treinamento adequado.

Portanto, a matriz K possui posto ou rank total, significando que o conjunto de

vetores, cujos produtos internos formaram K no espaço de características F, são

linearmente independentes. Desta forma, pelo teorema anterior, podemos assegurar que

todos os pontos poderão ser separados linearmente em todas as suas combinações no

espaço F. Sendo este argumento válido para qualquer conjunto finito de pontos

podemos considerar a dimensão VC do classificador infinita.

Apesar do resultado deste teorema poder ser extendido aos classificadores com

kernels gaussianos, BURGES (1998), apresentou uma prova alternativa baseada na

construção de um classificador SVM com kenel RBF. Inicialmente, devemos relembrar

que o conceito de dimensão VC está associado ao maior número de pontos que podem

ser separados linearmente, em todas dicotomias, por classificadores lineares ou

hiperplanos. Para o caso de classificadores kernel este partilhamento dos pontos se dará

no espaço de características.

Se considerarmos uma rede SVM-RBF com um número de bases ou centros das

funções gaussianas extremamente elevado, isto é possível tomando um valor para a

variância σ desprezível em relação a distância entre os pontos, teremos na solução do

Page 153: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

144

problema SVM na forma dual um conjunto de vetores suporte associados a cada ponto

do conjunto de treinamento e, conseqüentemente, a cada centro de uma base radial.

Neste caso, como todos os pontos são vetores suportes, não haverá erro de

treinamento e o conjunto de dados será classificado corretamente no espaço de

características. Como a quantidade de pontos do conjunto de treinamento e de seus

respectivos rótulos podem ser escolhidos de forma arbitrária, podemos concluir que a

dimensão VC destes classificadores é, também, infinita.

Conseqüentemente, a partir deste resultado, percebemos que uma escolha

adequada da variância das redes SVM-RBF é de fundamental importância para o

controle da capacidade de generalização.

5.4 - Projeto de funções kernel Nesta seção veremos um pouco da importância da utilização das funções kernel no

projeto de classificadores. De certa forma, podemos considerar o projeto de um bom

kernel, que se adapta ao problema, tão ou mais importante que o projeto do próprio

classificador no que diz respeito ao seu algoritmo de aprendizagem. Acreditamos que

diferentes tipos de kernel representem diferentes hipóteses ou formas de encapsular o

conhecimento necessário a solução do problema, determinando uma forte relação entre

a sua técnica de projeto e o conhecimento que possa ser extraído das propriedades dos

dados.

Neste sentido, podemos destacar dois tipos principais de abordagens no projeto

de funções kernel, a primeira relacionada a utilização de um modelo que descreve as

propriedades do conjunto de dados chamado de espaço de instâncias. Neste caso,

destacam-se os modelos generativos probabilísticos e os modelos baseados em

transformações. A segunda, está relacionada a compreensão da sintaxe dos dados, ou

seja, a sua estrutura de representação. Neste caso, destacam-se os processos de

convolução e a exploração de similaridades em strings, árvores, grafos, autômatos e

gramáticas, pois tratam-se das formas mais utilizadas na representação de dados

estruturados.

Page 154: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

145

5.4.1 – Validação de funções kernel: Verificamos, anteriormente, que as condições mais importante a serem obedecidas por

uma função kernel foram estabelecidas por Mercer. De fato, um kernel não é um kernel

se não atender estas condições, relacionadas a representação de um produto interno

entre funções no espaço de características. Entretanto, a função kernel ser positiva

definida não é, a princípio, uma condição totalmente suficiente para que tenhamos um

bom kernel. A escolha ou projeto de um bom kernel esta associada, também, a outras

características que veremos a seguir.

A primeira se refere a sua completude. Dizemos que um kernel é completo se o

mesmo utiliza toda a informação necessária para a representação dos conceitos

categóricos relacionados a descrição dos dados. Seja a função c(x) a função que

descreve o valor da classe a qual está associado o objeto x. Ou seja, c(x) =1 se e

somente se x pertencer a classe associada C e c(x) = 0, caso contrário.

Então, um kernel válido é completo se, para cada par de exemplos do espaço

de instâncias

kc(x,.) = kc(y,.) implica em c(x) = c(y).

A segunda se refere a sua corretude estando, portanto, associada ao tipo de

classificador ou algoritmo de aprendizagem utilizado. Para uma máquina de vetor

suporte sabemos que uma função kernel é correta se, para qualquer exemplo do espaço

de instâncias:

g(x) = ∑i αi.K(xi,x) ≥ θ implica em c(x) = 1, e

g(x) = ∑i αi.K(xi,x) < θ implica em c(x) = 0.

A terceira se refere a capacidade de generalização do kernel. Requer, portanto,

que exemplos que tenham a mesma classe em comum, estejam situados próximos no

espaço de características, permitindo, desta forma, uma boa discriminação. Também,

está associada a escolha de um algoritmo de aprendizagem e a hipótese apropriada.

Pode ser definida em termos da teoria de aprendizagem PAC se garantirmos um limite

no número de erros de classificação para dados de um conjunto de validação.

Page 155: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

146

5.4.2 – Kernel baseados em modelos generativos: Um modelo representa alguma forma de conhecimento que traduz o relacionamento que

ocorre no espaço de instâncias. Por exemplo, enquanto em um grafo as arestas

representam relações de adjacência entre os vértices ou elementos, o grafo como um

todo contém informações sobre todo os espaço.

Nos modelos generativos, de uma forma geral, seus parâmetros são

determinados no sentido de predizerem corretamente determinada classe ou hipótese

derivando, na maioria dos casos, um modelo de probabilidade, que necessita, para a sua

determinação do conhecimento de informações a priori da hipótese sob julgamento.

De forma contrária, os métodos discriminantes são formulados considerando-se

os vários tipos de classificação ou hipóteses, e aprendem, desta maneira, a discriminar

os dados.

Entre os modelos generativos estatísticos mais utilizados destacam-se as cadeias

de Markov ou modelos HMM. Destacam-se, também, as distribuições de probabilidade

utilizadas nos classificadores Bayesianos.

O desenvolvimento de funções kernel com base em modelos generativos

consiste em determinarmos um conjunto de parâmetros estatísticos do modelo

generativo e utilizálos, posteriormente, na construção de um kernel para funções

discriminantes.

A seguir, descrevemos um modelo generativo simples, descrito por

JAAKKOLA, DIEKHANS e HAUSSLER(2000) e aplicado a análise de seqüências

biológicas. Este modelo leva em conta o logaritmo da probabilidade a posteriori dos

dados pertencerem as hipóteses, ou seja, definimos a função:

L (x) = log [P(x|H1).P(H1)/P(x|H0).P(H0)]

= log [P(x|H1)/P(x|H0)] + log [ P(H1)/P(H0)]

= log P(x|H1) – log P(x|H0) + b,

Page 156: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

147

onde P(x|H1) se refere a probabilidade condicional do dado pertencer a hipótese e

P(x|H2) a probabilidade condicional da hipótese nula, ou seja, do dado não pertencer a

hipótese.

Podemos reescrever este discriminante na forma de uma função kernel,

relacionada a uma métrica entre os dados, ou seja:

L(x) = ∑ i: xi ∈ H1 λi K(x,xi) - ∑ i: xi ∈ H0 λi K(x,xi).

Os parâmetros livres nesta função representam os coeficientes positivos λi , que

devem ser computados por algum algoritmo de treinamento. Eles representam a

importância particular de cada exemplo no processo de classificação. O kernel K(x,xi)

expressa uma medida de similaridade ou métrica entre os exemplos. De fato, se

considerarmos como kernel uma função gaussiana , e tomarmos λi = 1/m+ para xi ∈ H1

e λi = 1/m- para xi ∈ H0, teremos uma implementação do critério de Bayes.

Os valores de λi podem ser computados de modo a minimizar uma função de

erro. Considerando que a função de decisão tem a forma:

L(xi) ≥ 1, implicando em xi ∈ H1 e

L(xi) ≤ -1, implicado em xi ∈ H0

Podemos determinar os valores de λi, resolvendo o seguinte problema de

otimização:

Min J(λ) = ∑ i: xi ∈ H1 λi.(2-L(xi)) + ∑

i: xi ∈ H0 λi.(2 + L(xi))

Sujeito a:

0 ≤ λi ≤ 1

A solução deste problema, obtida do gradiente da função em relação aos

parâmetros λi , consiste em atualizar os parâmetros segundo as expressões:

λi = f{ (1 – L(xi) + λi.K(xi,xi))/K(xi,xi) }, para xi ∈ H1,

= f{ (1 + L(xi) + λi.K(xi,xi))/K(xi,xi) }, para xi ∈ H0,

onde f(z) = 0 se z ≤ 0,

= z se 0 < z < 1,

= 1 se z ≥ 1.

Page 157: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

148

JAAKKOLA e HAUSSLER (1998) introduziram uma nova função kernel

baseada em um modelo HMM, denominado de Fisher Kernel. A idéia principal deste

kernel é a utilização de informações relacionadas ao vetor gradiente do logaritmo das

probabilidades relacionadas aos parâmetros do modelo estatístico obtido das cadeias

HMM, como características para a formação de um discriminante.

Os autores julgam que esta informação é mais importante do que as informações

obtidas da diferença das probabilidades a posteriori dos exemplos. Isto se deve ao fato

de que o gradiente do logaritmo das probabilidades dos parâmetros de um modelo

generativo descrevem melhor como estes parâmetros contribuem para o processo de

geração de exemplos particulares.

Considerando, o vetor gradiente Ux, chamado de Fisher score, para um conjunto

de parâmetros θ, associado a um modelo generativo de probabilidade P, temos:

Ux = ∇ θ log P(x|H1,θ).

A partir dos vetores Ux, os autores definem dois tipos de kernel relacionados,

respectivamente a norma L1 e L2:

K(x,xi) = UxT.F-1.Ux e

K(x,xi) = ½.(Ux – Uxi)T.F-1.½.(Ux – Uxi), sendo K’(x,xi) = ℮ -K(x,xi)

A matriz F é conhecida como matriz de informação de Fisher, ou a matriz de

covariância entre os vetores, podendo, para o primeiro kernel ser desconsiderada. O

segundo kernel, utilizado no contexto de uma máquina de vetor suporte, deriva um

modelo denominado, segundo Jaakkola e Haussler, de SVM-Fisher.

5.4.3 – Kernel baseados em sintaxes: O desenvolvimento de funções kernel baseando-se na sintaxe dos dados tem como

motivação a extração de informações a partir da exploração da estrutura dos dados, ou

seja, a forma como os mesmos são representados no espaço de instâncias.Como

exemplo do projeto de um kernel que depende da estrutura dos dados podemos

Page 158: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

149

descrever o problema relacionado ao computo da similaridade de duas palavras, strings

ou seqüências de caracteres.

A idéia trivial é contar todas as possíveis ocorrências de subseqüências similares

de determinado tamanho k que possam acontecer nas duas palavras. Caso estas

subseqüências não possuam espaçamento, ou seja, ocorram de forma contínua, isto pode

ser feito diretamente, formando-se um vetor de características para cada palavra,

contendo todas as subseqüências de tamanho k. Em seguida, realiza-se uma comparação

entre estes dois vetores determinando todas as ocorrências de substrings comuns. O

número de subseqüências similares será definido como o valor do kernel, refletindo o

valor do produto interno dos vetores de características.

Este cálculo pode ser feito diretamente, em tempo linear, se ordenarmos os

vetores de características e utilizarmos um procedimento de match. A realização

explícita do mapeamento e do produto interno dos vetores não é tão problemática, pois

a dimensão do espaço de características é exatamente igual a dimensão do espaço de

entrada. De fato, não é possível extrairmos de uma palavra de tamanho n mais do que n

subpalavras contínuas de tamanho fixo. Ou seja, é possível extrairmos n subpalavras de

tamanho um, n-1 subpalavras de tamanho dois e, assim, sucessivamente, até a própria

palavra de tamanho n.

Spectrum kernel e árvore de sufixos: LESLIE, ESKIN e NOBLE (2002) apresentam uma proposta de kernel,

denominada k-spectrum kernel, aplicada a análise de seqüências biológicas, que tem

como base, também, a contagem de todas subseqüências contínuas de tamanho k.

Segundo os autores, os modelos generativos são de pouca eficiência computacional para

problemas envolvendo grandes seqüências, pois a avaliação do kernel requer

informações de um modelo HMM, cuja computação requer a utilização de um algoritmo

de programação dinâmica para o emparelhamento de seqüências com complexidade de

ordem quadrática.

Para um problema que possui como conjunto de símbolos um alfabeto de

cardinalidade l , ou seja | ∑ | = l, o kernel k-spectrum define um mapeamento em um

espaço de características F de dimensão lk . Como exemplo, podemos citar as cadeias de

Page 159: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

150

DNA representadas em sua forma primária por seqüências de quatro nucleotídeos,

compostos, respectivamente, pelos símbolos A (adenina), C (citosina), G (guanina) e

T (timina). Para subseqüências de tamanho dois, k = 2, teremos um espaço de

características de dimensão 42 = 16.

A função característica estabelecida para o modelo pode ser definida, em função

de seus componentes, na forma:

φk(x) = [φa(x)], a ∈ ∑k,

considerando todas as subseqüências, representadas por ‘a’, de comprimento k, que

ocorrem no alfabeto ∑*.

A função φa(x), na sua forma mais geral, mede a quantidade de ocorrências da

subseqüência ‘a’ na seqüência x. Em uma forma mais simples, a função φa(x) assume a

forma de uma função de decisão booleana associada a ocorrência ou não da

subseqüência ‘a’ na seqüência s.

Uma vez definida a função característica, o kernel é computado de duas formas,

como um simples produto interno:

Kk(x,y) = <φk(x), φk(y)>

ou na forma normalizada:

K’k(x,y) = Kk(x,y)/ √ Kk(x,x). Kk(y,y).

Para a avaliação do kernel os autores empregam uma árvore de sufixos, que,

segundo UKKONEN (1995), pode ser construída em tempo linear O(n), em relação ao

tamanho das seqüências. Após a construção da árvore, é feito um caminhamento

transversal na mesma, computando-se o produto interno dos vetores característicos,

cujos valores, relacionados as ocorrências das subseqüências de tamanho k, estão

armazenados nas folhas das árvores em número de (k.n). Portanto, para a avaliação do

kernel, não ocorre a necessidade de se construir os vetores característicos

explicitamente. A complexidade final do processo é de ordem O(k.n).

Page 160: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

151

Kernel com gap ou penalidade: LODHI, SHAWE-TAYLOR e CRISTIANINI (2001), propuseram uma forma

alternativa de kernel sobre strings, que foi utilizada na classificação de textos. Neste

estudo os autores admitem a formação de substrings não necessariamente contínuos,

introduzindo, para tanto, uma potência associada a um fator de redução λ, λ ∈ (0..1),

computada em função do tamanho da substring e de seu posicionamento em relação ao

string que está sendo mapeado.

O exemplo a seguir, descreve com clareza o processo de avaliação deste novo

kernel.

Exemplo 5.4: Considere a existência de três strings: ‘cat’, ‘cart’ e ‘car’.

Para a ocorrência de substrings de tamanho 2, temos o seguinte mapeamento

das funções características, representado pela Tabela V-1.

ca t r t r t

φ(cat) 2 3 2

φ(car) 2 3 2

φ(cart) 2 4 3 3 2 2

Tabela V-1 – Ocorrências de substrings de tamanho 2

O valor do kernel é computado considerando o produto interno dos vetores φ, ou

seja:

K(car,cat) = φ(cat).φ(car) = λ2.λ2 = λ4

Podemos, também, computar o kernel normalizado na forma: K’(car,cat) = K(car,car) / √ K(car,cat).K(cat,cat) = λ4/(2. λ4 + λ6) = 1/(2 + λ2)

Page 161: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

152

Esta técnica, entretanto, quando aplicada para valores de k > 4, pode se mostrar

bastante ineficiente, mesmo para strings de tamanhos moderados.

Se quisermos expressar a similaridade de uma forma mais rigorosa, devemos

considerar a comparação entre todas as subseqüências possíveis, variando o seu

tamanho, através da introdução de gaps. Neste caso, a dimensão do espaço de

características aumenta ainda mais de tamanho, tornando a avaliação do kernel pelo

produto dos vetores de características impraticável. A seguir, mostraremos um exemplo.

Exemplo 5.5: Considere a existência de duas substrings ‘car’ e ‘cart’, e a

ocorrência de substrings de tamanhos variáveis segundo a Tabela V-2.

a t t

c

at

φ(cat) 2 2 3

λ3

φ(cart) 2 3 4

λ4

Tabela V-2 – Ocorrências de substrings de tamanho variável

Portanto:

K(cat,cart) = 3.λ2 + λ4 + λ5 + 2. λ7.

Formalmente, o computo desta função kernel pode ser descrito na forma:

Seja ∑* um alfabeto contendo todas as palavras ou strings s de tamanho

variável. Seja , também, ∑n um alfabeto contendo somente strings de tamanho n. Então

∑* = U ∑n, n = 1,...,∞. Podemos definir o espaço de características Fn = R |∑n |,

considerando todas as ocorrências de similaridade para substrings de tamanho n.

Deixe s ∈ ∑* , ser uma string de tamanho finito dado por |s|. Considere s

formada por uma seqüência de símbolos s1s2s3...s|s|. Para um conjunto de índices ‘i’

deixe s[i] ser uma formação ou uma substring de n símbolos de s, com comprimento

Page 162: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

153

l[i]. Podemos computar cada componente do vetor de características φ(s) aplicado a

string s, na forma:

φu(s) = ∑i λl[i], para cada possível substring u = s[i].

Como exemplo, temos o cálculo do vetor de características para a string ‘cat’,

considerando a ocorrência de substrings de tamanho 2:

φ(cat) = [φca(cat) φct(cat) φat(cat)] = [λ2, λ3, λ2].

Portanto, a função kernel entre dois strings s, t ∈ ∑* é equivalente ao produto

escalar <φ(s),φ(s) > para todas as substrings u ∈ ∑n de tamanho n, ou seja:

Kn(s,t) = ∑u φu(s).φu(t) = ∑u∑i ∑j λ l[i] + l[j], para u = s[i] e u = s[j].

Uma forma eficiente de computação deste kernel é proposta no trabalho de

LODHI, SHAWE-TAYLOR e CRISTIANINI(2001) através do uso de uma técnica de

programação dinâmica. O processo de desenvolvimento de funções kernel sobre strings

pode ser extendido para outras estruturas de representação como árvores e grafos. Neste

caso, devemos desenvolver procedimentos eficientes para a contagem de subarvores

similares em duas árvores, e , conseqüentemente, de subgrafos em grafos.

5.5 – Kernel e estimativa de densidade: A importância de um kernel no projeto de um classificador pode ser verificada na

descrição de um exemplo extraída de livro de HERBRICH (2002).

Exemplo 5.6: Seja a aprendizagens de conceitos relacionados ao

reconhecimento de um conjunto de números de um dígito, ou seja: 0,1,2,3,4,5,6,7,8,9,

escritos manualmente. Os dados de um conjunto de treinamento, podem ser

representados por um conjunto de vetores onde cada vetor possui um número fixo de

componentes representando o conjunto de pixels de uma imagem, segundo.

Caso a imagem tenha uma representação matricial de 16x16, teremos, conforme

mostra a Figura V-8, 256 componentes para cada vetor do conjunto de treinamento. A

seguir, mostraremos como este problema pode ser resolvida como uma forma de

Page 163: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

154

estimativa de densidade, primeiramente, com as regras de similaridade baseadas no

conceito de vizinhança e, posteriormente, com a utilização de funções kernel.

Figura V-8 – Extração de características

5.5.1 - Regra NN ou kNN: Uma solução simples para este problema seria definirmos uma medida de similaridade

entre os vetores, como exemplo a norma L2 e um esquema de comparação, na forma:

Para cada vetor xi do conjunto de treinamento computar:

||x-xi|| = √ ∑j ( xj – xi j)2.

A princípio, poderíamos atribuir como classe de uma amostra aquele valor

associado do conjunto de treinamento, que mais se assimilar com a amostra apresentada,

denominado de vizinho mais próximo, ou simplesmente NN, no sentido de representar a

menor distância entre os vetores. Trata-se, entretanto, de um algoritmo de classificação

supervisionado e não paramétrico, relacionado a estimativa de densidades, que, no

entanto, não aprende uma hipótese ou um conceito das classes. Ou seja:

x ∈ Cl se l = Arg { Min i ||x-xi|| }

Para melhorarmos a performance desta técnica poderíamos extender o processo

comparativo aos k vizinhos mais próximos, ou kNN, e rotularmos a amostra com a

classe majoritária. A estimativa de densidade relacionada ao método kNN consiste em

estabelecer uma concentração de pontos fixa, neste caso igual a k, em torno de um

Page 164: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

155

volume variável representado por V(x). Considerando m o total de exemplos, uma

estimativa de densidade da classe relacionada a x seria:

p(x) ≈ k/(m.V(x).

Neste sentido, as áreas de baixa densidade correponderiam a valores de volumes

maiores e as áreas de alta densidade corresponderiam a valores de volumes menores. Os

volumes podem ser determinados a partir dos raios das hiperesferas que contenham os k

pontos relacionados as respectivas classes, sendo os valores dos raios expressos pela

distância euclidiana. Alternativamente, pode ser adotada como métrica a distância

mahalanobiana, definindo um conjunto de hiperelipsóides.

Pode ser mostrado, DUDA e HART (1973), que a probabilidade de erro de

classificação relacionado a escolha do vizinho mais próximo é limitada superiormente

pelo dobro da probabilidade do erro de Bayes, quando o número de exemplos ou

amostras tende para infinito, ou seja:

Se a quantidade de amostras tende para infinito, m → ∞, então:

PBayes < PNN < 2.PBayes,

considerando:

PNN = (2 – m/(m-1).PBayes

A performance assintótica do método kNN é melhor, sendo definida como:

PBayes < PkNN < PBayes + √ 2.PNN/k.

Apesar deste algoritmo ser bastante simples e apresentar bons resultados

práticos, o mesmo apresenta dois problemas principais. Estes problemas estão

relacionados primeiramente, a pobre representação de similaridade computada pela

distância euclidiana. De fato, podemos ter dígitos relacionados a classes diferentes que

apresentam uma pequena distância euclidiana entre as suas imagens. Em segundo lugar,

está relacionado a complexidade em tempo e espaço. O algoritmo requer que o conjunto

de treinamento esteja sempre armazenado na memória e, para cada amostra submetida,

seja computada a distância euclidiana em relação a todo conjunto. Para conjuntos de

treinamento contendo algums milhares de dados isto se torna proibitivo.

Page 165: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

156

5.5.2 - Mapeamento kernel: A solução para os problemas apresentados anteriormente, consiste na utilização de um

mapeamento dos dados em um espaço de características de forma a obter uma maior

expressividade na representação da similaridade dos dados. Isto envolve, como

sabemos, o projeto de um kernel. Posteriormente, devemos desenvolver um algoritmo

de aprendizagem, ou um classificador, na forma de um discriminante linear, de modo

que a avaliação de cada amostra seja feita em tempo constante. Evidentemente, cada

classe deverá possuir seu discriminante na forma:

f i(x) = ∑j wj.φ(xj),

onde w representa o vetor de coeficientes do discriminante, e φ a função de mapeamento

ou de característica.

A classificação de uma nova amostra deve ser feita tomando-se como classe o

argumento do maior valor dos discriminantes, ou seja:

x ∈ Cl se l = Arg { Max i f i(x) }.

Esta solução, também, pode ser empregada, quando utilizamos discriminantes

projetados para problemas de classificação binária, como as máquinas de vetores

suportes. Neste caso, realizamos o treinamento de um conjunto de hipóteses na forma de

um contra o resto, gerando um hiperplano separador para cada classe. Assim, a função

de decisão atribuíra como classe o argumento associado a maior distância da amostra

aos hiperplanos separadores.

Esta nova abordagem representa a estimativa da função de densidade das classes

como uma expansão da função a ser aproximada f em termos de um conjunto de

funções projetivas φ, tendo uma forte relação com a técnica de estimativa não

paramétrica das janelas de Parzen.

5.5.3 - Janelas de Parzen: As janelas de Parzem podem, inicialmente, serem explicadas com maior facilidade

considerando a aproximação de uma função f contínua em R1. Seja a divisão do espaço

de entrada, correspondente ao eixo da variável x , em um número fixo de sucessivos

Page 166: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

157

intervalos de comprimento h , e a anotação da quantidade de ocorrências dos valores, ou

pontos, dentro de cada intervalo. Caso estes somatórios sejam normalizados, temos

uma estimativa da função de densidade de probabilidade, denominada p, relacionada a

função f, na forma clássica de um histograma, ou tabela de freqüências. Caso o

tamanho do intervalo h tenda para zero, temos:

∫x p(x)dx = 1

Definimos a taxa de frequência, ou a estimativa do valor da probabilidade

associada a um respectivo intervalo, como:

p ≈ ki/m ,

sendo m o número total de amostras e ki a quantidade de pontos existentes no iésimo

intervalo de comprimento h.

Claramente, se m tender para infinito, temos uma aproximação contínua da

verdadeira função de densidade de probabilidade, ou pdf. Dentro de cada intervalo,

podemos estimar uma probabilidade constante, em função do valor de h, e de seu valor

central xm, como:

p(x) = p(xm) = (1/h).(ki/m), para todo x tal que: |x - xm| < h/2

Se considerarmos um espaço de entrada de D dimensões, podemos dividir o

espaço de amostras em hipercubos de tamanho ou comprimento de aresta h e volume

hD. Seja o conjunto de amostras formado pelos vetores x1, x2, ... , xm. Definimos a

função Λ(x) na forma:

Λ (xi) = 1 se |xij| ≤ ½

= 0 se |xij| > ½

onde o índice j, j = 1, ..., D, se refere as componentes dos vetores.

Podemos interpretar esta função como uma função de decisão que define a

pertinência do ponto a um hipercubo, centrado na origem, de aresta h. Neste sentido,

podemos reescrever a equação de estimativa da probabilidade, de uma amostra x, na

forma:

p(x) = (1/hl).(1/m.∑i Λ((xi – x)/h)), para i=1, ..., m

Page 167: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

158

Esta equação está baseada na verificação da pertinência do conjunto de vetores

ao hipercubo de aresta h com centro em x. O somatório é equivalente ao valor de ki, ou

seja, a quantidade de pontos ou vetores que pertencem ao iésimo hipercubo associado ao

respectivo centro x. É fácil verificarmos, analiticamente, que o valor de |(xi – x)/h| =

½, corresponde aos pontos situados nos vértices do hipercubo, ou seja, aqueles que

estão mais afastados dos respectivos centros.

Também, é interessante observarmos que o estimador baseado nas janelas de

Parzen, trabalha com um volume fixo, relacionado ao parâmetro h e ao centro x, para

um número de pontos variável, ao contrário do estimador KNN, que trabalha com um

número de pontos ou vizinhos fixos, relacionado ao parâmetro k e ao centro x, para um

volume variável.

A aproximação da verdadeira função de densidade pela base de funções Λ

descontínuas, fornece uma aproximação discreta, que tem como principal aspecto

negativo o problema relacionado ao curso da dimensionalidade. Neste sentido,

PARZEN (1962) generalizou a equação de estimativa da probabilidade, introduzindo

um conjunto de funções φ, contínuas e suaves, denominadas de funções kernel ou

funções potenciais, que satiszazem as seguintes propriedades:

φ(x) ≥ 0 e ∫ φ(x)dx = 1,

resultando em uma aproximação contínua para a verdadeira pdf. Um exemplo comum

de função potencial é a função gaussiana, relacionada, como já vimos, as redes RBF e

aos classificadores Bayesianos.

O valor médio, ou valor esperado, da estimativa da probabilidade pode ser,

definido na forma:

E[p(x)] = (1/hl).(1/m.∑i E[φ((xi – x)/h)]), para i=1, ..., m,

podendo ser reescrito considerando a variação contínua de x como:

E[p(x)] = ∫ x’ (1/hl).φ((xi – x)/h) p(x’) dx’ ,

Page 168: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

159

sendo independente da quantidade de amostras m.

Para valores fixos de m, podemos observar que quanto menor o valor de h,

maior será a variância e menor será o bias ou erro, relacionados a aproximação da

função, derivando um modelo de maior complexidade. De outra forma, quanto maior o

valor de h, menor será a variância e maior será o bias ou erro, derivando um modelo de

baiza complexidade.

Para valores fixos de h, a variância e o erro decrescem com o aumento de m, ou

seja, do número de amostras. Entretanto, a variação dos valores de m, tem uma relação

com o curso da dimensionalidade, ou seja, se uma aproximação em R1, para

determinada acurácia, requer m1 pontos, em R2 esta mesma aproximação irá requerer

m12 pontos e, assim, sucessivamente.

5.5.4 - Aprendizagem dos parâmetros: O objetivo do algoritmo de aprendizagem é computar ou aprender o vetor w, para um

dado conjunto de treinamento. A solução trivial é a minimização do erro esperado,

adotando-se o princípio do risco estrutural. Se considerarmos uma expansão linear do

vetor w no espaço de características, podemos resolver o problema de aprendizagem no

plano dual com a introdução do conjunto de multiplicadores αi , associados a cada

exemplo do conjunto de treinamento, ou seja, definimos:

w = ∑i αi.φ(xi)

Substituindo o valor de w na expressão da função discriminante, obtemos a

função de decisão relacionada ao produto interno das funções φ no espaço de

características:

f(x) = ∑i αi.∑j.φj(xj).φj(x)

= ∑i αi.K(x,xi)

Observe que a função discriminante f se aplica, agora, a um problema de

classificação binária, podendo ser extendida, como vimos, a problemas de multi-

classificação. Neste caso, a função de decisão final, que descreve a classe a qual

pertence a amostra, será dada por:

Page 169: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

160

c(x) = sinal( ∑i c(xi).αi.K(x,xi) ),

onde c(x) = 1 se x∈ C1 e c(x) = -1 se x ∈ C2

A função kernel K deve representar, como vimos, alguma medida de

similaridade entre os dados. Em um problema de reconhecimento de imagens, podemos

definir como função característica, uma função que estabeleça uma correlação entre

todos os componentes do vetor imagen, ou seja:

φ(x) = {x1.x1, ...,x1.xn,...,xn.x1,...,xn.xn)

Esta função, como vimos, trata-se de uma expansão polinomial homogênea de

segunda ordem, ou seja o d = 2, sendo o seu produto interno representado pelo kernel

polinomial:

K(x,y) = (x.y)2

Observe que esta expansão possibilita a repetição de monomiais, o que parece

ser importante na classificação de imagens. Para n = 4, considerando d = 2, teremos um

espaço de características de dimensão 16, ou seja n2 , maior que a dimensão 10, ou seja,

( n+1)!/2.(n-1)!, resultante de uma expansão que elimina-se os monomiais redundantes.

Neste caso, existirá sempre uma repetição para cada par (xi,xj) sendo i ≠ j , sendo

o número total de repetições igual a Cn,2.

Poderíamos, de outra forma, considerar a utilização de um kernel não

estacionário, relacionado a distância euclidiana entre os pontos no espaço de

características ou norma L2. Neste caso teríamos:

K(x,y) = ||φ(x)-φ(y)||2 = K(x,x) – 2.K(x,y) + K(y,y)

Ou seja, computamos o valor do novo kernel avaliando somente kernels

associados a norma L1, que possuem como argumento o produto interno dos vetores no

espaço de entrada.

5.6 – Funções kernel em discriminantes: A utilização de funções kernel em discriminantes, classificadores ou regressores, tem se

mostrado como uma das mais poderosas técnicas no desenvolvimento de algoritmos de

aprendizagem, aumentando o poder dos mesmos, seja quanto a possibilidade de resolver

Page 170: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

161

problemas linearmente separáveis, ou, de outra forma, tornando mais expressiva a

representação dos dados, através da realização de um mapeamento no espaço de

características.

Acreditamos, portanto, que o poder de generalização das máquinas kernel seja

superior ao poder dos classificadores lineares. Entretanto, tal afirmação é de difícil

comprovação, envolvendo a análise da dimensão VC no espaço de características, o

que, quase sempre, é uma tarefa extremamente complexa, podendo apresentar, muitas

vezes, resultados contraditórios, como as redes SVM-RBF, que possuem um bom poder

de generalização apesar de sua dimensão VC ser infinita.

Nesta seção vamos mostrar alguns exemplos, relacionados a introdução de

funções kernel em discriminantes. Daremos ênfase a introdução de funções kernel no

algoritmo Perceptron e em sua variante, o Perceptron de votação. A introdução de

funções kernel em classificadores SVM é extremamente natural, dado a ocorrência do

produto interno dos dados na forma dual de Wolfe, e será, tratada com maior

profundidade no capítulo seguinte onde será descrito um método computacional

relacionado ao algoritmo Kernel Adatron.

5.6.1 – Kernel em Perceptron A introdução de funções kernel no modelo Perceptron pode ser analisada de duas

formas. A primeira extremamente simples, considera a utilização de funções kernel no

algoritmo de aprendizagem do Perceptron dual, conforme mostra a Figura V-9. Neste

caso, é suficiente substituirmos o produto interno dos dados na forma <xj,xi> pelo

kernel K(xj,xi). Assim, a função de decisão toma a forma:

f(xi) = ∑j αj.yj.K(xj,xi)

É importante observar que a matriz kernel K, pode ser computada a priori, e ser

armazenada durante a fase de aprendizagem do algoritmo.

Page 171: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

162

Figura V-9 – Kernel Perceptron Dual

A segunda forma de utilizarmos a função kernel, seria se optarmos pelo

algoritmo de treinamento do Perceptron na sua forma primal. Para tanto, vamos analizar

a introdução de funções kernel no Perceptron de votação segundo o que foi exposto por

FREUND e SCHAPIRE (1998).

Observando a descrição do algoritmo, seção 3.1.6, não verificamos a existência

explícita de um produto interno dos dados. Entretanto, como observado por Freund e

Schapire, o vetor w, pode ser computado iterativamente, na iteração ‘k’, na forma:

(w)k= ∑j (yi.xi)j, para cada iteração j, j = 1,...,k-1.

Portanto, considerando esta forma de expressar o vetor, podemos computar o

produto interno (w)k.x, a cada iteração, na forma:

(w)k.x = ∑j (yi.xi)j.x, j = 1, ..., k-1

= ∑j (yij.<xij.x>, j = 1, ..., k-1

= ∑j (yij.K(xij.x), j = 1, ..., k-1.

Armazenando de forma apropriada os valores do produto interno (w)k.x, bem

como do vetor (w)k , a cada iteração, concluímos que o algoritmo requer somente k

avaliações da função kernel, sendo k o número de erros que venham a ocorre durante o

processo de treinamento .

Page 172: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

163

Capítulo VI – SVM: Técnicas e Soluções Neste capítulo, iremos abordar algumas das principais técnicas utilizadas para o

treinamento de máquinas de vetores suportes, ou seja, aplicadas a solução do problema

de otimização quadrática na forma dual de Wolfe:

Max Λ.l – ½. ΛT.H. Λ

Sujeito a:

ΛT.Y = 0,

0 ≤ Λ ≤ C,

considerando o vetor Λ = (α1, α2,..., αm) o vetor de multiplicadores e H a matriz

Hessiana simétrica, mxm, positiva semi-definida, na forma:

H = [hi,j], onde hi,j = yi.yj.K(xi,xj).

Se a matriz H, for positiva definida, a função objetiva do problema tem a forma

estritamente convexa e a sua solução ótima global relativa a um ponto de máximo que

satisfaça as condições de KKT é única podendo ser obtida segundo FLETCHER (1987)

por algum método de otimização quadrática convexa.

Entretanto mesmo se a matriz Hessiana for positiva semi-definida a solução

obtida pode ser global e única. No caso mais geral, a solução não será única se dado

alguma solução Λ, escolhemos um Λ´ que pertence ao espaço nulo da Hessiana, sendo o

Λ´ ortogonal ao vetor unitário, derivando uma solução Λ + Λ´ também ótima. Porém, a

solução encontrada será sempre uma solução ótima gobal em contraste as Redes Neurais

Artificiais, onde muitas soluções de mínimos locais poderão existir.

A elaboração de um método para a solução do problema de otimização

quadrática relacionado ao treinamento de uma SVM depende, essencialmente, de três

fatores. Em primeiro lugar, como devemos considerar as informações utilizadas da

função objetiva do problema, ou seja: informações de primeira ordem, informações de

segunda ordem, informações de segunda ordem aproximadas ou informações de

segunda ordem truncadas. Em segundo lugar, se o método de treinamento relacionado a

técnica de otimização, deve ser implementado de forma iterativa ou online, ou através

de soluções analíticas. Finalmente, em terceito lugar, se a solução do problema será

feita no espaço de variáveis primais ou duais.

Page 173: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

164

Também, existe uma abordagem alternativa, que considera a possibilidade de

resolvermos um problema de programação linear através da utilização de uma norma L1

no lugar da norna L2 para o vetor w relacionada a maximização da margem.

A dificuldade maior na solução do problema de programação quadrática

associado a SVM, esta no tamanho da matriz Hessiana, que é quadrática em relação ao

tamanho do conjunto de treinamento, e na sua forma extremamente densa, não

permitindo a utilização de técnicas eficientes de fatorização no computo de sua inversa.

Entretanto, devemos considerar que na solução ótima do problema, somente

alguns pontos ou vetores participam do conjunto ativo possibilitando dessa forma o

emprego de técnicas de otimização baseados na redução de variáveis e em métodos de

decomposição que utilizam um sub-conjunto de trabalho a cada iteração.

Atualmente, existem várias técnicas e métodos de otimização, aplicados ao

treinamento de uma SVM. Neste trabalho, optamos por descrever um conjunto de

métodos, que, de certa forma, utilizam-se de uma análise apropriada dos fatores

mencionados, desenvolvendo assim, determinadas estratégias específicas.

O primeiro, tradicionalmente mais utilizado, esta relacionado ao uso de

estratégias de conjunto de trabalho, sendo considerado um método de decomposição.

Utiliza um solver de otimização não linear, que retem a cada iteração um sub-conjunto

de variáveis, associados a pedaços do conjunto de treinamento, para a formação da

matriz Hessiana. Esta técnica foi empregada por OSUNA, FREUND e GIROSI (1997)

no problema de reconhecimento de imagens deformáveis ou faces.

O segundo, desenvolvido recentemente por JOHN C. PLATT (1998), pode ser

considerado como uma técnica de decomposição na sua forma mais extrema. Neste

caso, os sub-problemas de programação quadrática envolvem a cada iteração somente

dois multiplicadores, podendo ser solucionados de forma analítica sem a necessidade de

um solver de otimização não linear. Recebeu o nome de Otimização Seqüencial Mínima

(SMO), sendo implementado em nosso trabalho.

Page 174: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

165

O terceiro, e último, desenvolvido por FRIESS, CRISTIANINI e CAMPBELL

(1998), é uma técnica simples bastante eficiente conhecida como Kernel Adatron. Foi

desenvolvido com a introdução de funções Kernel no algoritmo Adatron, ANLAUF e

BIEHL (1989). É, como já vimos, um método de otimização online que utiliza somente

informações de primeira ordem da função objetiva do problema. A sua formulação

clássica, descrita por CAMPBELL e CRISTIANINI (1998), utiliza a base do algoritmo

Adatron realizando porém uma análise mais detalhada da avaliação do bias da equação

do hiperplano. Esta formulação foi implementada também em nosso trabalho, que

considerou ainda a implementação de uma variante do método relacionada ao algoritmo

Minover, KINZEL (1990).

6.1 - Estratégias de Conjunto de Trabalho ou Decomposição No trabalho desenvolvido por OSUNA, FREUND e GIROSI (1997), voltado ao

problema de reconhecimento de imagens deformáveis, como faces e expressões faciais,

foram utilizados vários pacotes de otimização não linear para o treinamento de um

classificador SVM. Entre eles, pacote MINOS 5.4 que implementa um método de

segunda ordem baseado em uma técnica de redução do grandiente. O pacote CPLEX,

para a solução da rotina de programação linear utilizadas no método primal de direções

viáveis de Zoutendijk, e finalmente, um solver que implementa o método do gradiente

conjugado adaptado a ao problema de programação quadrática de grande porte com

variáveis canalizadas desenvolvido por Moré e Toraldo(1991).

Em seus experimentos computacionais o método que, indiscutivelmente,

apresentou melhores reultados foi o método desenvolvido por MURTAGH e

SAUNDERS (1978) voltado a solução de problemas de programação linear com um

grande número de restrições lineares, e que derivou o pacote de otimização MINOS.

Neste sentido, achamos conveniente, neste trabalho fazermos uma descrição

deste método quando aplicado ao treinamento de uma máquina SVM, bem como

descrever os principais aspectos, relativos a sua aplicação a classificadores SVM,

levantados no trabalho de Osuna, Freund e Girosi.

Page 175: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

166

6.1.1 – Decomposição de variáveis: O algoritmo em questão foi desenvolvido por Murtagh e Saunders com o intuito de

facilitar a solução de problemas de programação linear de alta dimensão, onde a função

objetiva é não linear, existe um grande número de restrições lineares e a solução contém

em geral um número reduzido de variáveis não lineares.

O conceito de variáveis não lineares fica melhor entendido se considerarmos a

solução de um problema de programalção linear pelo método simplex e o seu grau de

liberdade, para uma matriz de restrições Amxn. Neste caso, a solução terá somente m

componentes na base Bmxm, denominadas básicas, com valores diferentes de zero. As

demais n-m componentes do vetor solução, relativas a matriz Nm,n-m, terão seus valores

iguais a zero, sendo chamadas de não básicas.

Em função deste resultado, o método estabelece um processo de busca ou

caminhamento, considerando somente os vértices do politopo convexo que delimita a

região viável do problema, movendo sempre em relação a uma componente do vetor

relacionada a variável que ingressa na base, para um determinado passo, limitado a

região de viabilidade, relativo a variável que deixa a base, estabelecendo, a cada

iteração, uma mudança de base que sempre melhora a função objetiva.

O método proposto por Murtagh e Sauders é, na prática, uma extensão do

método revisado do simplex, permitindo, entretanto, um maior grau de liberdade na

solução do problema. Para tanto, os autores criaram um terceiro conjunto de

componentes ou variáveis, chamadas de super-básicas, que são as variáveis

responsáveis pela não linearidade da solução. Na essência o método implementa todo o

processo de cálculo do simplex revisado associado a um procedimento de fatorização

quasi-Newton e ao cômputo do gradiente reduzido para o tratamento da não linearidade.

A estratégia de solução sugerida pelo método tem uma forte relação com o

método de gradiente reduzido de WOLFE (1962), com o método de redução de

variáveis de MCCORMICK (1970) e com as estratégias de conjunto ativo

desenvolvidadas por GILL, MURRAY e WRIGHT (1981), onde associam os conceitos

de conjunto de trabalho e técnicas de projeção.

Page 176: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

167

6.1.2 - Formulação do Método: Seja o problema de otimização não linear definido na forma:

Minimizar f(x)

Sujeito a:

Amxn.x = b,

l ≤ x ≤ u,

sendo a função f uma função não linear, possivelmente quadrática, um sistema linear de

restrições relativamente densas e um conjunto de restrições de canalização.

Considere, inicialmente, a partição do conjunto de variáveis em três grupos,

divididos em ‘m’ variáveis básicas, ´s´ variáveis super-básicas e ‘n-m-s’ não básicas,

derivando o seguinte sistema de restrições:

A.x = [B | S | N].[xB, xS, xN]T = b

Obviamente, s ≤ t, sendo t o número de variáveis não lineares da solução.

A divisão das variáveis nestes três grupos tem por objetivo, manter sempre um

conjunto de variáveis básicas, xB, que serão responsáveis pela viabilidade primal da

solução, ou seja B.xB = b, implicando em A.x = b. Manter um grande conjunto de

variáveis não básicas com seus valores associados aos limites superiores e inferiores e,

finalmente, manter um número de variáveis super-básicas, que serão responsáveis pelo

aumento do grau de liberdade da solução, permitindo que a mesma contenha mais

componentes que o número de variáveis básicas.

Considerando a expansão da função f quadrática em uma série de Taylor:

f(x + ∆x) = f(x) + g(x)T. ∆x + ½.∆xT.G(x + γ.∆x).∆x,

onde g(x) corresponde ao gradiente da função no ponto x, e G(x + γ.∆x) a matriz

Hessiana avaliada em algum ponto entre x e x + ∆x, para 0 < γ < 1.

Podemos considerar o ponto x + ∆x, um ponto estacionário, se:

Page 177: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

168

1 - 000

=

∆∆∆

N

S

B

xxx

INSB ,

ou seja, o ponto permanece na superfície dada pela interseção das restrições ativas.

2 -

=

∆∆∆

+

λµ

INSB

xxx

Gggg

T

T

T

N

S

B

N

S

B

00

ou seja, o gradiente de f em x + ∆x e ortogonal a superfície da s restrições ativas,

podendo, portanto ser expresso como uma combinação linear, expresso pelos

multiplicadores de Lagrange μ e λ, do conjuto de restrições.

Observe que a segunda propriedade poderia ser obtida determinando a patir do

gradiente da função lagrangeana. Obviamente, o vetor μ se refere as restrições de

igualdade do sistema, e o vetor λ as restrições de canalização. De um mdo geral x + ∆x

pode não ser um ponto estacionário, entretanto, devemos utulizar as propriedades acima

para determinarmos uma direção viável de descida.

Destas propriedades podemos derivar, as seguintes equações:

1 - ∆xN = 0

2 - ∆xB = -W. ∆xS, onde W = B-1.S

3 - ∆x = [-W, I, 0]T. ∆xS

4 - BT.μ = gB + [I, 0, 0].G.[-W, I, 0]T.∆xS

5 – λ = gN – NT. μ + [-W, I, 0].G.[-W, I, 0]T.∆xS

6 - [-W, I, 0].G.[-W, I, 0]T.∆xS = -h,

onde h = [-W, I, 0].g = gS – WT.gB

= gS – ST.(B)-1BT.μ = gs – ST.μ

Nas equações 5 e 6, caso ||∆xS|| = 0, teríamos as equações do método simplex

revisado relativo a o cáluclo dos multiplicadores π e o cálculo dos custos mínimos

relativos ou custos reduzidos para determinarmos a variável que deveria ingressar na

base.

Page 178: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

169

A equação 7 pode ser interpretada como a realização de um passo de Newton na

direção daa variáveis independentes ∆xS, considerando h = [-W, I, 0].g um vetor de

gradiente reduzido e [-W, I, 0].G.[-W, I, 0]T a correspondente matriz Hessiana

reduzida.

6.1.3 – Algoritmo gradiente reduzido: O algoritmo de gradient reduzido, em alto nível, relacionado ao cômputo de uma

direção de descida p, pode ser descrito como:

Algoritmo gradiente reduzido; Início Enquanto as condições de um ponto estacionário não forem satisfeitas Faça Compute o vetor gradiente reduzido gA = ZT.g; Construa uma aproximação para a matriz Hessiana reduzida GA ≈ ZT.G.Z; Obtenha uma solução aproximada para o sistema ZT.G.Z.pA = -ZT.g, resolvendo o sistema GA.pA = - gA; Compute a direção de busca p = Z.pA; Execute uma busca linear para determinar o próximo ponto, ou seja: f(x + α*.p) = Min α f(x + α.p); Fim_Enquanto; Fim.

Para a implementação do algoritmo MINOS, Murtagh e Saunders sugerem que a

matriz Z , definida como [-W, I, 0]T = [-B-1.S, I, 0]T, seja representada por uma

fatorização LU da matriz B, acrescido da matriz S, e que a matriz Hessiana reduzida

ZT.G.Z seja mantida como uma fatorização R.RT, onde R é uma matriz triangular

superior, em um esquema semelhante a fatorização de Cholesky, o que permite resolver

o sistema p = Z.pA, determinando uma direção viável de descida, e o gradiente reduzido

h = gA = ZT.g.

Se em alguma iteração um variável básica ou super básica atinge um de seus

limites, então a variável é feita não básica. Caso a variável seja uma variável básica,

então uma variável super básica é transformada em básica de forma a manter a

integralidade da base e a viabilidade do sistema. Neste caso, as matrizes N, B, S, L, U e

R devem ser modificadas e o gradiente reduzido deve ser recomputado para refletir a

troca. Caso a variável seja uma variável super básica, o conjunto associado é reduzido,

e as matrizes N, S e R são modificadas de modo a refletirem as mudanças.

Page 179: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

170

O conjunto de variáveis não básicas é testado a cada iteração, sendo a de maior

valor do multiplicador introduzida no conjunto de variáveis super básicas. Neste caso

as matrizes N, S e R são atualizadas. É permitido, também, uma técnica de multiple

price onde é permitido o ingresso simultâneo de várias variáveis não básicas que

violem as condições de KKT no conjunto de variáveis super básicas.

6.1.4 – Aplicação a SVM: O problema relacionado ao treinamento de uma SVM por ser um problema de

programação quadrática com uma função convexa, e possuir um grande número de

restrições de canalização, associado aos multplicadores αi, possui uma estrutura bem

favorável a utilizazação do método de otimização proposto por Murtagh e Saunders.

Entretanto, aparecem dois problemas principais. O primeiro está relacionado a

existência de somente uma restrição de igualdade relativa ao sistema A.x = b, o que

torna inviável a utilização do método. Para resolver este problema OSUNA, FREUND e

GIROSI (1997) propõe a seguinte formulação alternativa para o problema SVM:

Max f (Λ,Ω) = Λ.l – ½. ΛT. Ω

Sujeito a:

ΛT.Y = 0

H. Λ = Ω

0 ≤ Λ ≤ C.

O segundo está relacionado ao grande número de variáveis αi que podem estar

envolvidas no processo de otimização. Em algumas aplicações práticas este número

pode chegar a ordem de 50000, tornando impraticável a utilização de qualquer método

que trate o vetor de multiplicadores Λ como um todo.

Além das operações que envolvem a matriz Hessiana, a reformulação do

problema SVM, proposta anteriormente, aumenta consideravelmente o número de

restrições de igualdade do sistema , tornando a matriz B de variáveis básicas de ordem

equivalente ao número de exemplos do conjunto de treinamento acrescido de um

unidade, relativa a restrição de balanceamento dos multiplicadores αi.

Page 180: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

171

Neste sentido, OSUNA, FREUND e GIROSI (1997) propuseram a partição do

conjunto de multiplicadores em dois subconjuntos, originando, portanto, a sua estratégia

de decomposição, descrita a seguir.

O primeiro subconjunto é formado por um número reduzido, porém arbitrário de

exemplos do conjunto de treinamento, de tamanho suficiente para conter todos os

vetores suportes, definindo um conjunto de trabalho que será utilizado na solução do

problema. Tal estratégia é estimulada, principalmente, pelo fato de somente um número

reduzido de pontos se tornarem vetores suportes na solução ótima do problema.

Uma vez resolvido o problema de otimização, associado ao conjunto de

trabalho, o algoritmo testa se todos os exemplos fora do conjunto de treinamento estão

satisfazendo as condições de otimalidade. Este processo é implementando verificando

se para algum exemplo de índice ‘i’:

g(xi).yi < 1, sendo g(xi) = ∑j αj.yj.K(xi,xj), para j=1,...,m,

com o multiplicador associado αi, ingressando no conjunto de trabalho, no lugar de

algum multiplicador αj que tenha valor zero.

Este processo garante, segundo os autores, a melhora da função objetiva a cada

sub-problema de otimização resolvido. Como sugestões finais os autores reportam a

necessidade de serem desenvolvidas estratégias mais eficientes relacionadas, sobretudo,

a escolha e mofificação do conjunto de trabalho a cada iteração, a qual chamam de

estratégias de pivoteamento. Também, destacam a necesidade de implementação de um

solver de otimização mais eficiente desenvolvido especificamente para o problema

SVM.

Apesar da utilização de um método de segunda ordem associado a uma

estratégia de decomposição não ser objeto de implementação em nosso trabalho,

achamos que a estratégia de decomposição do algoritmo MINOS pode ser bem

aproveitada na solução de um problema SVM. A nossa percepção decorre do fato de

que, durante o processo de otimização, um número muito grande de variáveis ou

multiplicadores, permenecem sempre com valores iguais a zero, e, portanto, estariam

Page 181: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

172

sempre relacionadas ao conjunto de variáveis não básicas do algoritmo MINOS

reduzindo, desta forma , o esforço computacional. Entretanto, para que este algoritmo

fosse, realmente, eficiente para problemas de grande porte, teríamos que determinar a

priori, uma base B, de dimensão compatível com o número de vetores suporte do

problema.

Tal processo, como já vimos, envolve a introdução na formulação do problema

SVM de um grupo de restrições de igualdade. Ao que parece, a utilização de alguma

estratégia que garantisse a viabilidade de uma solução primal básica, como a solução de

um problema primal restrito, considerando um grupo de variáveis superbásicas

independentes, poderia ser o ponto de partida para a elaboração de uma técnica baseada

em decomposição, realmente promissora.

6.1.5 – Chunking: O método denominado chunking é uma forma de decomposição do problema SVM em

subproblemas de otimização quadrática, apresentado, originalmente, por VAPNIK,

(1982), levando em conta a esparsidade do vetor de multiplicadores αi* na solução. Este

método se diferencia do processo de decomposição apresentado anteriormente pelo fato

de construir conjuntos de trabalhos de tamanhos variáveis.

Inicialmente, é criado um conjunto de trabalho com todos os multiplicadores de

valores não limitados para um discriminante inicial. Em seguida, adiciona-se, a cada

iteração, um conjunto de multiplicadores que tenham violado as condições de

otimalidade. Ao final do processo teremos no conjunto de treinamento, havendo

memória suficiente, todos os multiplicadores associados aos vetores suportes.

Uma eficiente implementação do método chunking, que considera também a

possibilidade de utilização de um conjunto de trabalho de tamanho fixo com uma

estratégia de pivoteamento, associado a um pacote de otimizadores, incluíndo o MINOS

e LOQO (método de pontos interiores para a solução de problemas de programação

quadrática), foi realizada pelo departamento de ciência da computação da Royal

Holloway University of London, αi, por SAUNDERS, STITSON, WESTON,

BOTTOU, SCHOLKOPF e SMOLA (1998).

Page 182: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

173

6.2 - Otimização Seqüencial Mínima (SMO):Teoria e Implementação Nesta seção, será apresentado uma descrição detalhada do algoritmo de Platt conhecido

como SMO. Inicialmente vamos apresentar o problema relacionado ao treinamento de

uma SVM com uma introdução de funções Kernel, na forma K(x,y) = φ(x) . φ(y), ou

seja:

Max ∑iαi - ½.∑i∑jαi.αj.yi.yj.<φ(xi),φ(xj)>

Sujeito a:

∑iαi..yi = 0,

0 ≤ αi ≤ C.

Ou

Max ∑iαi - ½.∑i∑jαi.αj.yi.yj.K(xi, xj)

Sujeito a:

∑iαi..yi = 0,

0 ≤ αi ≤ C.

6.2.1 – Escolha das variáveis: O procedimento SMO envolve um loop iterativo onde a cada iteração são escolhidos um

par de variáveis duais, α1 e α2, para a solução analítica de um subproblema de

otimização quadrática na sua forma mínima.

Na Figura VI-1 podemos observar as três estratégias mais comuns de

decomposição relacionadas a escolha de subconjuntos de trabalho asssociados ao

conjunto de multiplicadores αi. No primeiro caso temos o método chunking

apresentando um conjunto de trabalho de tamanho variável que cresce

progressivamente. No segundo caso temos a estratégia de decomposição na sua forma

mais simples, consistindo na determinanção de um conjunto de trabalho de tamanho

fixo. Finalmente, temos a estratégia de decomposição na sua forma mais extrema,

empregada pela técnica SMO, que consiste em sucessivas escolhas de dois

multipicadores.

Page 183: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

174

Figura VI-1 – Estratégias na determinação do conjunto de trabalho

Como visto por OSUNA, FREUND e GIROSI (1997), a solução ótima de um

subproblema pode ser alterada implicando em uma melhora da função objetiva caso a

variável que ingresse no conjunto ativo esteja violando uma condição KKT. Neste caso,

devemos sempre, na escolha das duas variáveis, optar primeiramente por uma que esteja

violando as condições de otimalidade.

Para tanto, será feita a seguinte análise, relacionada a uma reinterpretação das

condições KKT:

yi . (wxi – b) - 1 ≥ 0

= yi . (wxi – b) – yi2 ≥ 0

= yi . (wxi – yi – b) ≥ 0

= yi . (Fi – b) ≥ 0,

sendo:

Fi = wxi – yi.

Relembrando, temos que o erro Ei = wxi + b – yi, temos: Ei = Fi + b. Portanto

podemos reescrever a condição KKT relacionada a complementaridade na forma:

Page 184: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

175

Se αi = 0 então yi.Ei ≥ 0, significando que o ponto está fora das margens.

Se 0 < αi < C então yi.Ei ≈ 0, significando que o ponto está sobre uma margem.

Se αi = C então yi.Ei ≤ 0, significando que o ponto está dentro da margem.

Neste sentido, devemos escolher como primeira variável aquele multiplicador αi

que esta presente em uma margem, 0 < αi < C, e que não satisfaça a condição

associada, portanto o yi . Ei > є, para uma determinada constante de erro. Geralmente

escolhemos є = 0.001.

A escolha da primeira variável implica obviamente na escolha da segunda

variável em função da primeira. Entretanto caso a solução do subproblema associado

não realize algum progresso, o algoritmo reconsidera a escolha da primeira variável,

consierando todas as possibilidades e não somente aqueles pontos que se encontram na

margem.

A escolha da segunda variável é feita em função da escolha da primeira variável.

Platt sugere que a escolha seja feita no sentido de maximizar a expressão: |E2 – E1|,

associando o erro E2 a primeira escolha (variável α2), maximizando desta forma o passo

relacionado a solução do subproblema. Caso E2 seja positivo o algoritmo escolhe como

segunda variável, variável α1, um exemplo associado ao menor erro E1. Caso o E2 seja

negativo o algoritmo escolhe para segunda variável, um exemplo associado ao maior

erro E1.

Na escolha da segunda variável é implementada a seguinte hierarquia de

escolhas:

Inicialmente o algoritmo testa para todos os exemplos na margem ou não

limitados o exemplo que maximize a expressão: |E2 – E1|.

Caso não ocorra melhora da função, o algoritmo testa seqüencialmente, a partir

de um ponto aleatório, todo o conjunto de exemplos na margem ou não limitados, até

que um deles proporcione uma melhora na função.

Caso ainda não tenha sido obtida esta melhora, o algoritmo finalmente testa

seqüencialmente, a partir de um ponto aleatório, todo o conjunto de exemplos limitados,

até que um deles proporcione uma melhora na função.

Page 185: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

176

Se esta melhora for obtida, o conjunto retorna com sucesso a escolha da primeira

variável considerando somente as variáveis não limitadas, a fim de obter um novo

subproblema. Caso contrário o algoritmo retorna com fracasso e tenta, novamente, a

escolha da primeira variável considerando todo o conjunto de treinamento.

O algoritmo mantem um vetor de cache relacionado aos valores dos erros Ei.

Desta forma antes de ser computado um erro, é verificado se o mesmo já esta

armazenado na memória. A atualização do vetor de cache é feito ao final de cada

iteração.

6.2.2 – Solução do subproblema de otimização: Como já mencionado, é possível a solução analítica do subproblema de otimização

envolvendo somente duas variáveis. Para tanto vamos, primeiramente, reescrever a

função objetiva na forma dual de Wolfe e as respectivas restrições em função das

variáveis escolhidas α1 e α2:

( ) ( ) ( ) ( ) ctevyvyxxKxxKxxKsL −−−−−−+= 2221112222

2111212121 ,

21,

21,. ααααααααα

onde: 21 yys =

∑≠

=2,1

),(j

jijji xxkyv α

Sujeito a:

∑≠

−=+2,1

2211i

ii yyy ααα

CC

≤≤

≤≤

2

1

00

α

α

É interessante observar que este problema possue uma solução que pode ser

facilmente construída em R2, observando que, as restrições de canalização ou limite

delimitam uma região viável a um quadrado enquanto que a restrição de igualdade

define a equação de uma reta, portanto a escolha dos multiplicadores pertencerá a algum

ponto da reta, visto como uma linha diagonal, observando a região delimitada, conforme

mostrado na Figura VI-2.

Page 186: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

177

A utilização de dois multiplicadores é necessária visto que a utilização de

somente um multiplicador não permitiria a satisfação da restrição de igualdade a cada

passo.

Figura VI-2 – Solução analítica do sub-problema quadrático

O método de solução consiste em computar o valor da primeira variável

considerando o gradiente da função objetiva e determinando um máximo ao longo da

direção da reta relativa a restrição de igualdade observando a região viável delimitada

pelo quadrado.

Em seguida a segunda variável é determinada em função do valor da primeira,

para tanto vamos inicialmente estabelecer uma relação entre estas variáveis.

Definindo:

∑≠

=−2,1i

ii y γα ,

temos:

,

2121

2121

γαα

γαα

=−⇒≠

=+⇒=

yyyy

resultando em: tt s 21 αγα −= .

Page 187: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

178

Considerando o fato de que antes da atualização: tt yy 2211 ααγ += = tt s 21 αα + ,

fornecendo:

( )tttt s 21

21

11 αααα −+= −−

A obtenção da primeira variável (α2) é feita computando-se o gradiente da

função objetiva.

Inicialmente, devemos expressar a função objetiva somente em relação a

variável α2, considerando α1 = γ – sα2. Tomando a função kernel K(xi, xj) = Kij, e

realizando a substituição de α1, podemos reescrever a função na forma:

( ) ( ) ( )

( ) ctevyvsy

sKsKsKsL

+−−

−−−−−−+−=

222121

22122222

221122 .

21

21

ααγ

ααγααγααγα

Considerando 2211122 KKK −−=η e introduzindo os valores dos erros

111 ybwxE −+= e 222 ybwxE −+= , podemos, após uma seqüência de operações

algébricas, chegar na expressão:

( )( ) cteEEyL ttt +−−+= −−−2

12

12

112

222

1αηαηα

Computando as derivadas de primeira e segunda ordem da função em relação a

α2 temos:

( ) 12

12

1122

2

−−− −−+= ttt EEyddL

ηαηαα

,

ηα

=2

2

2

dLd .

Fazendo 02

=αddL , temos:

( )η

αα1

21

12122

−−− −

+=tt

tt EEy.

Page 188: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

179

Para que α2 seja um ponto estacionário é necessário que η ≤ 0. De fato esta

condição é satisfeita, visto que:

η = 2K12 – K11 – K22 = -(x2 –x1)T.(x2 – x1) = - ||x2 - x1||2 ≤ 0.

Caso η < 0 a equação de atualização de α2 fornece um ponto de máximo

irrestrito ao longo da reta γ = α1 + sα2. Portanto para mantermos a viabilidade do novo

ponto devemos observar as restrições de limite 0 ≤ α2 ≤ C, ou seja:

Se s = 1 então α1 + α2 = γ, sendo γ = α1t + sα2

t, temos:

Caso γ ≥ C então Max(α2) = C e Min(α2) = γ – C

Caso y < C então Max(α2) = γ e Min(α2) = 0

Se s = -1 então α1 – α2 = γ, temos:

Caso γ ≥ 0 então Min(α2) = 0 e Max(α2) = -γ

Caso y < 0 então Min(α2) = -γ e Max(α2) = C

É comum essas equações serem estabelecidas em função de dois limites, sendo o

limite inferior L e o limite superior H. Neste caso, para s = 1, fazemos:

L = Max {0, γ – C} e H = Min {C, γ}

De outra forma, para s = -1, fazemos:

L = Max {0, -γ} e H = Min {C, C + α2 – α1},

Obtendo, portanto, as novas equações de fixação:

α2 = L se α2 < L, e α2 = H se α2 > H.

Estas condições de limitação no valor de α2, denominadas clipped, podem ser

melhor compreendidas geometricamente observando a Figura VI-2.

Caso η = 0 necessitamos avaliar a função objetiva, ou seja, o valor da reta no

final dos dois pontos referentes aos valores de α2 = L ou α2 = H, tomando para α2 o

valor que fornece o máximo da função. Em outras palavras, computamos:

( ) ( )( ) cteEEyL tttobj +−−+= −−−

21

21

21

12222 ..

21

αηαηαα ,

Page 189: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

180

para α2 = L e α2 = H, e definimos:

( ){ }αα LMaxArgt 2 = .

6.2.3 – Atualização de parâmetros e cache: Ao final de cada iteração devemos atualizar ou computar os seguintes parâmetros, o

vetor w, o vertor de erro E, considerando os erros dos multiplicadores αi não limitados e

que não se envolveram no processo de otimização e o bias b da equação do hiperplano.

Convem observar que todo multiplicador não limitado envolvido no processo de

otimização tem seu valor de erro igualado a zero.

O armazenamento do vetor de erros na memória, reduz o esforço computacional

na solução do subproblema de otimização. Neste sentido, sempre que for necessário a

utilização de seus valores, verificamos primeiramente se o mesmo já não se encontra

calculado. Caso não esteja, é feita a sua avaliação online.

Primeiramente, para o vetor w, temos:

( ) ( ) 21

22211

1111 .. xyxyww ttt −−− −+−+= αααα

Em seguida, para o vetor de erro E, temos:

( ) ( ) ( ) ( ) bbxxKyxxKyEE tk

tk

ttkk −+−+−+= −−−− 1

21

22211

1111 ,, αααα

Finalmente, para o bias b, temos:

( ) ( ) ( ) ( ) 121

122211

111111 ,, −−− +−+−+= ttt bxxKyxxKyEb αααα

( ) ( ) ( ) ( ) 122

122221

111122 ,, −−− +−+−+= ttt bxxKyxxKyEb αααα

221 bb

b+

=

6.2.4 – Cálculo da função Kernel: Os valores da função Kernel K(x,y) são computados na fase inicial do algoritmo e

armazenados em uma matriz K, de dimensão mxm sendo m o número de exemplos do

conjunto de treinamento. Caso o valor de m seja muito elevado é necessário a avaliação

online dos valores da função Kernel demandando um maior custo computacional.

Page 190: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

181

Em nossa implementação, foram introduzidos dois tipos de funções. A primeira

se refere ao Kernel produto interno, ou seja:

K(x,y) = <x,y>,

e sua forma normalizada:

K’(x,y) = K(x,y) / (√K(x,x) . K(y,y)).

A segunda se refere ao Kernel gaussiano RBF, ou seja:

K(x,y) = exp( ||x-y||2/σ2),

para determinados valores da variância σ2.

6.2.5 – Algoritmo SMO: A seguir, apresentamos uma descrição em alto nível do algoritmo SMO seguindo a

metodologia de calculo vista anteriormente. Foram considerados quatro módulos

principais, sendo: o primeiro módulo relacionado ao loop principal que controla a

chama dos módulos auxiliares e o processo de convergência; o segundo relacionado a

escolha da primeira variável α2; o terceiro relacionado a escolha da segunda variável α1

e, finalmente, o quarto módulo relacionado a solução do subproblema de otimização e

atualização dos parâmetros e cachê.

Neste momento não vimos necessidade de detalhar os módulos relativos a

entrada e saída de dados, bem como o cálculo das funções kernel.

Page 191: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

182

Algoritmo SMO; Início Para i ß 1 .. m Faça αi ß 0; b ß 0; Fim_Para; mudança ß 0; loop ß 0; Enquanto ((mudança = 1) ou (loop = 1)) Faça mudança ß 0; Se Loop Então Para i ß 1 até m Faça Se (Escolheα2(i) = 1) Então mudança ß 1; Fim_Se; Fim_Para Senão Para i Є Suporte Faça Se (Escolhaα2(i) = 1) Então mudança ß 1; Fim_Se Fim_Para Fim_Se; Se (loop = 1) Então loop ß 0 Senão_Se mudança = 0 Então loop ß 1; Fim_Se Fim_Enquanto Fim; Procedure Escolhaα2(α2): inteiro; Início (* escolha do α2 que viola KKT *) y2 ß target(x2); E2 ß w.x2 + b – y2; r2 ß E2.y2; Se ((r2 > tolerância(+) e α2 > 0) ou (r2 < -tolerância(-) e α2 < C)) Então Se (existe 0 < αi < C) Então Escolheα1(α1, α2, E2); Se (Step(α1, α2) = 1) Então Retorna 1; Fim_Se; Fim_Se; Para todo i fora da margem, iniciando de um ponto aleatório Faça Se (Step(αi, α2) = 1) Então Retorna 1;

Page 192: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

183

Fim_Se; Fim_Para; Para todo i na margem, iniciando de um ponto aleatório Faça Se (Step(αi, α2) = 1) Então Retorna 1; Fim_Se; Fim_Para; Fim; Procedure Escolheα1(var α1, α2, E2): inteiro; Início Se E2 > 0 Então ( ){ }{ }iiii

yxwEMinArg −=≠

.112α

α

Senão ( ){ }{ }iiii

yxwEMaxArg −=≠

.112α

α ;

Fim_Se; Fim; Procedure Step(α1, α2): inteiro; Início Se α1 = α2 Então Retorna 0 Senão y1 ß target(α1);

y2 ß target(α2); E1 ß (w.x1 + b – y1); E2 ß (w.x2 + b – y2); s ß y1 . y2;

(* Computar L e H *) Se (s = -1) Então

L ß Max {0, α2old – α1

old}; H ß Min {C, C+ α2

old – α1old }

Senão L ß Max {0, α2

old + α1old – C };

H ß Min {C, α2old + α1

old }; Fim_Se;

Se (L = H) Então

Retorna 0 (* fracasso *) Fim_Se;

(* Computa η considerando a matriz kernel Ki,j = Kernel(xi, xj) *)

η ß 2.K1,2 – K1,1 – K2,2;

Page 193: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

184

(* Computa novo α2 *)

Se (η < 0) Então α2 ß α2

old – (y2 . E1 – E2) / μ;

Se α2 < L Então α2 ß L Senão_Se (α2 > H) Então α2 ß H; Fim_Se

Senão (*η ≥ 0 *) L1 ß Lobj(α2 = L); L2 ß Lobj(α2 = H); (* Definindo Lobj(α) = (1/2) .η.(α2)2 + (y2 . (E1 – E2) – η.α2) . α2 *) Se (L1 > L2 + eps) Então α2 ß L Senão_Se (L1 < L2 – eps) Então α2 = H Senão α2 ß α2

old

Fim_Se Fim_Se;

(* Ajuste α2 *) Se (α2 < erro) Então

α2 ß 0 Senão_Se (α2 > C – erro) Então

α2 ß C Fim_Se

Se (|α2 – α2

old| < eps . (α2 + α2old + eps)) Então

Retorna 0 Fim_Se;

(* Computa α1 *) α1 ß α1

old + s.(α2old – α2);

(* Atualizações *)

b1 ß E1 + y1 . (α1 – α1

old) . K1,1 + y2 . (α2 – α2old) K1,2 + bold;

b2 ß E2 + y1 . (α1 – α1old) . K1,2 + y2 . (α2 – α2

old) K2,2 + bold;

b ß (b1+ b2) / 2;

w ß wold + y1.(α1 – α1old).x1 + y2.(α2 – α2

old).x2;

Page 194: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

185

E1 ß E1

old + (y1.(α1 – α1old).K1,1 + y2.(α2 – α2

old).K2,1) + ∆b; E2 ß E2

old + (y1.(α1 – α1old).K1,2 + y2.(α2 – α2

old).K2,2) + ∆b;

Retorna 1; Fim_Se

Fim;

6.2.6 – Aplicação a um problema de separabilidade linear: Seja o conjunto de pontos em R2 rotulados pelas respectivas classes, conforme o

conjunto de treinamento apresentado pela Tabela VI-1, cuja solução é representada

graficamente pela Figura VI-3.

J X1 X2 Classe

0 -0.50 0.35 -1

1 -0.75 0.85 -1

2 -0.60 0.65 -1

3 -0.50 0.75 -1

4 0.50 0.00 1

5 -0.30 -0.20 1

6 0.30 0.10 1

7 -0.10 0.10 1

Tabela VI-1 – Conjunto de treinamento

Figura VI-3 – Representação gráfica da solução SVM

Page 195: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

186

Os seguintes resultados foram apresentados pelo algoritmo SMO, utilizando

como kernel o produto interno dos dados:

Número de iterações: 29.

Valores dos multiplicadores e da função objetiva a cada solução de um subproblema:

Alpha1: ( 4) = 1.78174 - Alpha2: ( 0) = 1.78174 - Função: 1.78174 Alpha1: ( 0) = 5.57931 - Alpha2: ( 5) = 3.79757 - Função: 4.25143 Alpha1: ( 4) = 0.00000 - Alpha2: ( 7) = 1.78174 - Função: 6.86409 Alpha1: ( 7) = 5.27653 - Alpha2: ( 0) = 9.07410 - Função: 8.22285 Alpha1: ( 0) = 7.76516 - Alpha2: ( 5) = 2.48863 - Função: 8.51626 Alpha1: ( 0) = 9.04469 - Alpha2: ( 7) = 6.55606 - Função: 8.69840 Alpha1: ( 0) = 8.23214 - Alpha2: ( 5) = 1.67608 - Função: 8.81146 Alpha1: ( 0) = 9.02643 - Alpha2: ( 7) = 7.35035 - Função: 8.88165 Alpha1: ( 0) = 8.52203 - Alpha2: ( 5) = 1.17167 - Função: 8.92522 Alpha1: ( 0) = 9.01509 - Alpha2: ( 7) = 7.84342 - Função: 8.95227 Alpha1: ( 0) = 8.70198 - Alpha2: ( 5) = 0.85856 - Função: 8.96906 Alpha1: ( 0) = 9.00806 - Alpha2: ( 7) = 8.14950 - Função: 8.97948 Alpha1: ( 0) = 8.81369 - Alpha2: ( 5) = 0.66419 - Função: 8.98595 Alpha1: ( 0) = 9.00369 - Alpha2: ( 7) = 8.33950 - Função: 8.98997 Alpha1: ( 0) = 8.88303 - Alpha2: ( 5) = 0.54353 - Função: 8.99246 Alpha1: ( 0) = 9.00098 - Alpha2: ( 7) = 8.45745 - Função: 8.99401 Alpha1: ( 0) = 8.92608 - Alpha2: ( 5) = 0.46863 - Função: 8.99497 Alpha1: ( 0) = 8.99929 - Alpha2: ( 7) = 8.53067 - Função: 8.99556 Alpha1: ( 0) = 8.95280 - Alpha2: ( 5) = 0.42213 - Função: 8.99593 Alpha1: ( 0) = 8.99825 - Alpha2: ( 7) = 8.57612 - Função: 8.99616 Alpha1: ( 0) = 8.96939 - Alpha2: ( 5) = 0.39327 - Função: 8.99631 Alpha1: ( 0) = 8.99760 - Alpha2: ( 7) = 8.60433 - Função: 8.99639 Alpha1: ( 0) = 8.97968 - Alpha2: ( 5) = 0.37535 - Função: 8.99645 Alpha1: ( 0) = 8.99720 - Alpha2: ( 7) = 8.62185 - Função: 8.99648 Alpha1: ( 0) = 8.98608 - Alpha2: ( 5) = 0.36423 - Função: 8.99651 Alpha1: ( 0) = 8.99695 - Alpha2: ( 7) = 8.63272 - Função: 8.99652 Alpha1: ( 0) = 8.99004 - Alpha2: ( 5) = 0.35732 - Função: 8.99653 Alpha1: ( 0) = 8.99679 - Alpha2: ( 7) = 8.63947 - Função: 8.99653 Alpha1: ( 0) = 8.99251 - Alpha2: ( 5) = 0.35304 - Função: 8.99653 Parâmetros de erro: Erro analítico: 0.0009322146 Erro do balanceamento ( ∑αi.yi): 0 Valores finais dos multiplicadores: 8.99653974915623, 0, 0, 0, 0, 0.346020836468166, 0, 8.65051891268806 Vetores suportes: 0, 5, 7

Page 196: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

187

Parâmetros do discriminante: Bias (λ): 1.58824 Vetor w: (3.23420, -2.81757) Verificação da classificação (valor computado, valor desejado): 0 (-1, -1) 1 (-1, -1) 2 (-1, -1) 3 (-1, -1) 4 ( 1, 1) 5 ( 1, 1) 6 ( 1, 1) 7 ( 1, 1) Erros de classificação encontrados: 0

6.3 – Métodos Online: Teoria e Implementação Como já visto anteriormente, no método dos mínimos quadrados médios, e mínimos

quadrados recursivo é possível implementar um processo iterativo que atualiza o vetor

de multiplicadores do problema SVM na forma dual de Wolfe, tendo como base a

avaliação em cada ponto do gradiente da função lagrangeana.

Neste sentido, para cada novo exemplo apresentado, seu coeficiente ou

multiplicador associado é atualizado, no sentido de satisfazer a sua própria condição de

otimalidade. Tecnicamente, esses métodos são chamados de online contrapondo as

soluções analíticas nos problemas de otimização.

Para a solução do problema relacionado ao Perceptron de máxima margem,

foram propostos, como já vimos, dois procedimentos da mecânica estatística

denominados respectivamente Adatron e Minover.

A implementação destes métodos é bem simples, pois não utilizam informações

da matriz Hessiana, sendo a sua convergência em relação a solução ótima garantida com

uma taxa exponencial ANLAUF e BIEHL (1989) para o algoritmo Adatron ou

polinomial KINZEL (1990) para o algoritmo Minover.

6.3.1 – Algoritmo Kernel Adatron: Este algoritmo proposto por FRIESS, CRISTIANINI e CAMPBELL (1998) é,

basicamente, uma extensão do algoritmo Adatron com a introdução de funções kernel

em substituição ao produto interno dos vetores de treinamento. Se considerarmos uma

implementação sem bias e sem Soft Margin do modelo, temos que maximizar a função

Page 197: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

188

lagrangeana em relação ao conjunto de multiplocadores αi. Ou seja, resolvemos o

problema SVM na forma:

Max ( ) ( )∑∑∑= ==

−=m

i

m

jjijiji

m

ii xxKyyL

1 11,

21

αααα

Sujeito a:

0

01

=∑=

i

m

iiiy

α

α

A função de decisão, deste modelo sem bias, é equivalente a função de decisão

do Perceptron dual, podendo ser escrita como:

( ) ( )∑=

=m

jjijji xxKyxf

1,α ,

( ) ( )iii xfyxg = ,

z (xi) = sinal(g(xi)).

A medida de correção de cada variável αi é baseada na direção do gradiente da

função lagrangeana L, para um determinado passo, estabelecido por uma constante de

aprendizagen n, portanto:

( )i

iiLLPα

ηηα∂∂

=∇=∆ ,

onde:

( )∑=

−=∂∂ m

jjijji

i

xxKyyL1

,1 αα

,

implicando em:

( )[ ]ixgi −=∆ 1ηα .

Para evitar que os multiplicadores tenham valores negativos, a atualização da de

cada variável αi é feita considerando a equação:

0 se 11 >∆+∆+= −−i

tii

ti

ti ααααα ,

0 se 0 1 ≤∆+= −i

ti

ti ααα .

Page 198: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

189

Os autores não estabelecem, a princípio, para o Kernel Adatron, um critério de

parada baseado no valor da margem ou na verificação das condições de otimalidade. É

estabelecido, simplesmente, um número máximo de épocas na execução do algoritmo,

onde cada época corresponde a uma passagem de todo conjunto de treinamento.

As variáveis αi são inicializadas com valor um. Por não estar incluído na

formulação dual, ao final de cada época, o algoritmo aproxima um valor para o bias do

modelo, com base nas restrições do problema primal, na forma:

( )( ) ( )( )2

ii xfMaxxfMinb

−+ −−=

Neste sentido, o hiperplano é posicionado na metade da distância que liga os

dois pontos de classes contrárias que mais se aproximam mutuamente do hiperplano

separador, mantendo a máxima margem de segurança em relação as duas classes.

Observe que o valor do bias está relacionado ao tamanho de uma semimargem,

devendo, portanto, convergir para um valor próximo de um. Este valor, segundo

CAMPBELL, FRIESS e CRISTIANINI (1998), pode ser introduzido no algoritmo,

como critério de parada.

Ao final do processo, a equação do hiperplano separador, no espaço de

características será dada por:

( ) ( )

+= ∑

∈SVjjjj bxxKyxz ,sinal α

6.3.2 – Variantes do Kernel Adatron: A seguir, descrevemos as principais variantes relacionadas a implementações do

algoritmo Adatron.

Primeira variante: PRÍNCIPE, EULIANO e LEFEBVRE (2000), propõem pequenas mudanças,

que podem ser aplicadas ao algoritmo Kernel Adatron, visto anteriormente. Apesar

destas mudanças terem sido desenvolvidas para o algoritmo Adatron, podemos estendê-

las, facilmente, com o uso de funções kernel.

Page 199: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

190

A primeira se refere a introdução de um critério de parada relacionado ao

posicionamento dos pontos em relação a margem. A segunda, se refere a uma

atualização online do bias. Desta forma, a cada iteração, o algoritmo computa o valor de

M = Mini g(xi), como a menor distância de todos os ponto em relação as respectivas

margens, interrompendo o processo de treinamento quando este valor se aproximar de

zero, para uma determinada constante de erro є.

Nesta variante, os autores propõem a incorporação do valor do bias ao valor da

função computada pela rede, ou seja:

( ) ( ) bxxKyxfm

jjijji += ∑

=1,α

A atualização online do bias b, considerando seu valor inicial igual a zero, é

feita computando-se, para cada exemplo xi, a seguinte equação:

0 se . 11 >∆+∆+= −−i

tiii

tt ybb ααα

0 se 11 ≤∆+= −−i

ti

tt bb αα .

Este procedimento, de inclusão e atualização do bias, pode ser interpretado,

segundo FRIESS (1998), como a introdução de um termo igual a b2/2 na função

objetiva. Este raciocício é possível considerando uma modificação da restrição de

igualdade do problema para:

21

bym

iii =∑

=

α .

Realizando a relaxação desta restrição para um multiplicador λ = b, temos que

solucionar o seguinte problema:

( ) ( )0

2 ,

21,

11 11

−−−= ∑∑∑∑

== ==

i

m

iii

m

i

m

jjijiji

m

ii

bybxxKyyLMax

α

ααααλα

Page 200: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

191

Esta formulação se justifica pela inclusão do termo b2/2 na função lagrangeana

relaxada original, ou seja, utilizando a relaxação da restrição 01

=∑=

m

iiiy α . De fato, se

considerarmos:

( ) ( )2

,21,

2

11 11

bybxxKyyLm

iii

m

i

m

jjijiji

m

ii +

−−= ∑∑∑∑

== ==

ααααλα ,

obtemos:

( ) ( )

−−−= ∑∑∑∑

== == 2 ,

21,

11 11

bybxxKyyLm

iii

m

i

m

jjijiji

m

ii ααααλα .

Tomando o gradiente em relação a αi temos:

( ) i

m

jjijji

i

ybxxKyyL .,11

−−=∂∂ ∑

=

αα

Derivando:

( )[ ]ixgi −=∆ 1ηα ,

onde:

( ) ( )

+= ∑

=

bxxKyyxg jij

m

jjii ,

1

α ou ( ) ( )iii xfyxg = ,

fornecendo:

( ) bxxKyxf jij

m

jji += ∑

=

,)(1α .

Tomando o gradiente em relação ao parâmetro b temos:

bybL m

jjj +−=

∂∂ ∑

=1α , o que implica em by

m

jjj =∑

=1α , justificando a sua fórmula de

atualização.

Friess, entretanto, propõe uma atualização alternativa para o bias b, que

considera a existência do parâmetro de regularização C, através da equação:

bt = bt-1 + yi. αi , se 0 < αi + ∆αi ≤ C,

bt = bt-1 - yi. αi , se αi + ∆αi < 0,

bt = bt-1 + yi.(C- αi) , se αi + ∆αi > C.

Page 201: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

192

A atualização dos multiplicadores αi é baseada no gradiente da função

lagrangeana, a exemplo de como é feito no algoritmo original do Adatron. Porém, é

sugerida uma pequena modificação no estabelecimento dos valores de αi, a variável

permanece com o valor anterior, quando a mudança provoca valores negativos, ou seja:

0 se 11 >∆+∆+= −−i

tii

ti

ti ααααα

0 se 11 ≤∆+= −−i

ti

ti

ti αααα

Se considerarmos a atualização dos parâmetros, segundo o modelo de

aprendizagem do Perceptron, teríamos a correção dos valores condicionada a ocorrência

de erros. Portanto, se a saída da rede produzi-se um valor diferente do valor desejável,

ou seja, se φ(f(xi)) ≠ yi , atualizaríamos os parâmetros na forma:

xiti

ti .1 ηαα += − ,

xibb tt .1 η+= − .

Segunda variante: CAMPBELL e CRISTIANINI (1998) propuseram algumas modificações no algoritmo

Kernel Adatron relacionadas a avaliação do bias, bem como a introdução do parâmetro

de regularização C, que controla a capacidade de generalização do classificador.

Para a avaliação online do bias considera-se a relaxação da restrição:

01

=∑=

m

iiiy α ,

com a introdução de um multiplicador λ. Portanto, o problema SVM toma a forma:

( ) ( )C

yxxKyyLMax

i

m

iii

m

i

m

jjijiji

m

ii

≤≤

−−= ∑∑∑∑== ==

α

αλαααλα

0

,21,

11 11

Computando o gradiente da função em relação a variável αi , temos:

( ) i

m

jjijji

i

yxxKyyL .,11

λαα

−−=∂∂ ∑

=

.

Derivando:

( )[ ]ixgi −=∆ 1ηα ,

Page 202: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

193

onde:

( ) ( )

+= ∑

=

λα jij

m

jjii xxKyyxg ,

1

ou ( ) ( )iii xfyxg = ,

considerando o parâmetro λ o bias do modelo, e o valor ( ) ( ) λα += ∑=

jij

m

jji xxKyxf ,

1

como o valor computado pela rede para o vetor de entrada xi e yi a saída desejada

associada.

Na atualização dos multiplicadores considera-se, também, a existência dos

limites superiores em função do parâmetro de regularização C. Portanto, para cada

exemplo, computa-se:

Citii

ti

ti ≤∆+<∆+= −− ααααα 11 0 se

CC iti

ti >∆+= − ααα 1 se

0 se 0 1 ≤∆+= −i

ti

ti ααα

Na atualização do vetor bias, os autores consideram um processo iterativo de

ajustamento com base no gradiente da função lagrangeana L em relação ao parâmetro λ,

ou seja, considerando:

∑=

=∂∂ m

iiiyL

1

αλ

,

atualizamos o bias λ, ao final de cada época, segundo a equação:

∑ −− −= iti

tt ya 11 νλλ ,

onde 0 < υ < 1, representa o parâmetro que delimita o passo de atualização.

Para uma maior estabilidade do processo, os autores propõe uma forma de

correção alternativa do parâmetro λ utilizando o método da secante, neste caso

computa-se, ao final de cada época, a equação:

−−

−=−−

−−−−

21

2111

tt

ttttt

www λλ

λλ , onde ∑=j

jtj

t yw α ,

considerando, inicialmente, µλ =0 e µλ −=1 .

A função de decisão final é dada por:

Page 203: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

194

( ) ( )

+= ∑

∈SVjjjj xxKyxz λα ,sinal

6.3.3 – Algoritmo Kerneltron: GENOV, CHAKRABATTY e CAUWENBERGHS (2002) propõem uma interessante

implementação do algoritmo SVM para classificação binária em uma arquitetura VLSI

maciçamente paralela denominada Kerneltron, aplicada a problemas de reconhecimento

de imagens de vídeo em tempo real.

O algoritmo de aprendizado proposto pode, também, ser considerado uma

variante do algoritmo Kernel Adatron. Tratando-se de uma implementação em hardware

com certo grau de paralelismo, as modificações realizadas foram feitas no sentido de

simplificar os cálculos matriciais e diminuir a complexidade do loop de processamento

com a introdução de uma estratégia de conjunto de trabalho.

Algoritmo de treinamento: Em relação à atualização dos parâmetros, os autores propõem as seguintes

alterações:

1 – A atualização dos multiplicadores αi é feita utilizando-se uma normalização

da direção do gradiente, através da divisão de seu valor pela matriz kernel K, em

substituição a taxa de aprendizagem η. Ou seja, considerando:

( ) ( ) ( )iiii

m

jjijji

i

xfyxgryxxKyyL .1.,11

−==−−=∂∂ ∑

=

λαα

.

A utilização de um fator de normalização tem uma forte relação com a escolha a

taxa de aprendizagem η. Modificando a variável αi em relação a direção do gradiente

temos:

( )( )iii

i xfyL .1. −=∂∂

=∆ ηα

ηα .

O efeito dessa modificação no valor da função lagrangeana pode ser descrito

como:

( ) ( )iii LLL ααα −∆+=∆ = ( ) 2.

2,1

iii xxK

αη

− .

Page 204: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

195

Portanto, para uma variação positiva da função, ou seja, ∆L > 0, temos:

( ) 2,.0 << ii xxKη .

Para o caso especial de um Kernel Gaussiano, onde K(xi,xi) = 1, temos a

seguinte variação permitida para a taxa de aprendizagem: 0 < η < 2. Portanto, a taxa de

aprendizagem ótima pode ser obtida otimizando a expressão ∆L em relação ao

parâmetro η.

Substituindo o valor de ∆αi na expressão ∆L temos:

( ) ( )( )22

1.2,

iiii xfy

xxKL −

−=∆

ηη .

Computando a derivada de ∆L em relação a η temos:

( )ηη ii xxKL ,1−=

∂∆∂ ,

o que implica em:

η* = 1 / K(xi,xi).

Para o kernel Gaussiano, a taxa de aprendizagem ótima é um. Entretanto, se

considerarmos a existência de um kernel polinomial de grau d, a variação permitida

para a taxa de aprendizagem deve ser verificada para cada amostra xi do conjunto de

treinamento, ou seja:

0 < ηi < 2 / K(xi,xi), sendo K(xi,xi) = (||xi|| + 1)d.

Neste caso, o valor da taxa ótima passa a ser dependente de cada amostra xi do

conjunto de treinamento. Portanto:

( )di

ix 1

1*

+=η

Considerando o valor da taxa, η = 1/ K(xi,xi), temos a seguinte expressão

normalizada relativa ao valor da correção do algoritmo Kerneltron:

( )( )ii

ii xxK

xgr,

=α .

Page 205: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

196

Sendo o conjunto de multiplicadores αi atualizados segundo a equação:

αi = 0, se gr(i) < 0,

αi = C, se gr(i) > C.K(xi, xi),

αi = ( )( )ii

i

xxKxgr,

, se 0 < gr(i) < C.K(xi,xi).

Se optarmos pela utilização de uma função kernel auto normalizável, ou seja,

K(xi,xi) = 1, como o Kernel Gaussiano, podemos reduzir o o valor da correção,

simplesmente, ao valor do gradiente, observando os limites das variáveis. .

A função de saída da rede, f(xi), também é computada de forma diferente,

considerando um esquema de atualização das variáveis αi na forma triangular, ou seja:

( ) ( ) ., λα += ∑< ij

jijj xxKyxif .

Neste sentido podemos demonstrar a correção sugerida para o multiplicador αi

quando 0 < gr(i) < C.K(xi,xi), ou seja, o seu valor é computado segundo a condição de

primeira ordem estabelecida para a função langrangeana.

Considerando 0=∂∂

i

, temos a seguinte expressão: :

( ) 0.,11

=−− ∑=

i

N

jjijji yxxKyy λα ,

a qual pode ser reescrita em função da variável αi na forma:

( ) ( ) 0.,,1 =−−− ∑≠

iij

jijjiiiiii yxxKyyxxKyy λαα .

Considerando a atualização na forma triangular temos:

( ) ( ) 0.,1, =−−+− ∑<

iij

jijjiiiiii yxxKyyxxKyy λαα ,

o que implica em:

Page 206: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

197

αi . K(xi,xi) = gr(xi) ou αi = ( )( )ii

i

xxKxgr,

.

Observe que esta nova fórmula impõe uma restrição de sequenciamento na

interdependência das variáveis. Ou seja, considerá-se na atualização de um

multiplicador αi somente aqueles multiplicadores αj já atualizados.

Para que o processo de atualização seja equivalente ao esquema iterativo online,

é proposto por CAUWENBERGHS e POGGIO (2001) uma forma de ajustamento dos

multiplicadores prévios αj, j < i , denominada de Aprendizado Incremental, após a

atualização de cada multiplicador αi. Entretanto, os autores optaram por um processo de

aprendizagem online em sua forma mais simples, puramente seqüencial, eliminando o

ajustamento dos multiplicadores prévios.

2 – A atualização do bias b, seguindo a variante anterior, é função de todos os

multiplicadores, sendo feita ao final de cada época, portanto:

bbb tt ∆+= −1 ,

onde:

∑≤

=∆ij

jji yb αµ ,

definindo 0≥iµ como parâmetro relacionado a minimização da medida de discrepância

relacionadas as condições remanescentes de otimalidade dos exemplos não selecionados

(j > i).

Arquitetura online: Em relação a implementação paralela, ou autores propõe a utilização de uma

técnica de conjunto de trabalho. Inicialmente são escolhidos m multiplicadores relativos

ao número de processos paralelos disponíveis, que não satisfaçam as condições de

KKT. No processo de treinamento online, para cada exemplo apresentado xc, é

computado o valor de saída da rede f(xc) para um conjunto de multiplicadores:

αi, i = 1, ..., m.

Se o valor de gr(xc) é negativo, então o valor do multiplicador é feito igual a zero

e o exemplo é descartado, ou seja, não é um vetor suporte. Caso contrário, se o valor de

Page 207: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

198

gr(xc) é positivo, o exemplo se torna um vetor suporte sendo introduzido no conjunto de

processos no lugar de outro multiplicador, segundo uma diciplina de atendimento que

pode ser implementada como uma fila, na forma first-in first-out.

6.3.4 – Algoritmo KPSD: Em nosso trabalho desenvolvemos e implementamos um método online para a solução

do problema SVM. O algoritmo tem como objetivo a determinação do hiperplano

separador ótimo no espaço dual das variáveis, estabelecendo um Perceptron de larga

margem.

O algoritmo de aprendizagem é baseado no cômputo do gradiente da função

lagrangeana, em relação a cada multiplicador, ou seja, determina-se i

Lα∂

∂, associado a

uma taxa de aprendizagem η.

Consideramos a utilização de funções kernel, a adoção do parâmetro C como um

parâmetro de regularização no estilo Soft Margin, a utilização de um bias computado de

forma iterativa e, por fim, a utilização do conjunto de multiplicadores diferentes de

zero, formando o conjunto SV, no cômputo da função f discriminante.

Por enquanto, ainda não implementamos alguma estratégia de decomposição do

problema, baseada na formação de conjuntos ativos segundo Vishwanathan, SMOLA e

MURTY (2003) ou em conjuntos de trabalho, como visto anteriormente. O loop

principal do algoritmo, como veremos, testa todo os exemplos do conjunto de

treinamento, a exemplo do algoritmo Perceptron, determinando uma época no processo

de aprendizagem.

Topologia de rede: A principal diferença em relação ao algoritmo Kernel Adatron está na forma de

atualização dos multiplicadores.

Os métodos online, apresentados anteriormente, atualizam todos os

multiplicadores a cada época, ou seja, a cada passagem do conjunto de treinamento. Em

Page 208: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

199

uma forma de aprendizado caracterizada como online nos treinamentos das redes

neurais artificiais. Estes métodos seguem a forma de correção do algoritmo Adatron.

Em nossa implementação, optamos pela correção de um único multiplicador a

cada época, em uma forma de aprendizado caracterizada como batch, associada a

escolha de um vencedor, como ocorre no processo de aprendizado competitivo.

Escolhemos para atualizar sempre aquele multiplicador associado ao maior valor da

correção. Ou seja, atualizamos αk sendo k = Arg Mini { i

Lα∂

∂ }, mantendo inalterados os

valores dos demais multiplicadores. Este método segue a forma de correção do

algoritmo MinOver, que apesar de apresentar uma menor taxa de convergência, em

relação ao algoritmo Adatron, produz resultados são mais estáveis, como veremos em

algumas aplicações.

Como funções kernel implementamos a função produto interno para a solução de

problemas linearmente separáveis, e a função de Gauss para a solução de problemas no

espaço de características. A matriz kernel, caso haja memória suficiente, é computada

na fase inicial do algoritmo, no sentido de tornar mais eficiente a avaliação da função f.

A estrutura do processamento pode ser representada pela topologia de rede do

Perceptron de máxima margem, descrita na Figura VI-4, a qual chamaremos de Kernel

Perceptron SVM Dual (KPSD).

Esta topologia fornece a seguinte função discriminante ou equação do

hiperplano:

( ) ( ) λα += ∑=

m

jjijji xxKyxf

1, .

De outra forma, esta equação pode ser reescrita considerando os valores de iα

não associados a vetores suporte iguais a zero, resultando em:

( ) ( ) λα += ∑∈SVj

jijji xxKyxf ,

( ) ( )iii xfyxg = ,

determinando a seguinte função de decisão:

Page 209: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

200

( ) ( )( )ii xgxz ϕ=

Figura VI-4 – Topologia de rede do algoritmo KSPD

Base teórica e formulação:

Para um problema SVM na forma:

( ) ( )C

yxxKyyLMax

i

m

iii

m

i

m

jjijiji

m

ii

≤≤

−−= ∑∑∑∑== ==

α

αλαααλα

0

,21,

11 11

computamos a derivada parcial em relação a cada multiplicador αi:

( ) i

m

jjijji

i

yxxKyyL .,11

λαα

−−=∂∂ ∑

=

.

Tomando o valor máximo:

( )kkk

xfyL−=

∂∂ 1α

, sendo

∂∂

=i

iLMaxArgkα

,

atualizamos o multiplicador vencedor αk com base na expressão:

( )[ ]kk xg−=∆ 1ηα ,

sendo o novo valor de αk dado por:

0 se 0 1 ≤∆+= −k

tk

tk ααα

Cktkk

tk

tk <∆+<∆+= −− ααααα 11 0 se

CC ktk

tk ≥∆+= − ααα 1 se

Page 210: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

201

Na atualização do vetor bias, utilizamos um processo iterativo de ajustamento

com base no gradiente da função lagrangeana L em relação ao parâmetro λ, ou seja,

considerando:

∑=

=∂∂ m

iiiyL

1

αλ

,

atualizamos o bias λ, ao final de cada época, em função do único multiplicador

modificado, segundo a equação:

0 se 11 >∆+∆+= −−k

tkkk

tt y αααλλ ,

0 se 11 ≤∆+∆−= −−k

tkkk

tt y αααλλ .

O critério de parada é definido pelo cálculo da semimargem, cujo valor deve

convergir para o valor unitário, ou seja, ao final de cada época computamos:

( )( ) ( )( )( )ii xfMaxxfMin −+ −=21

γ ,

e comparamos seu valor ao intervalo:

1 – є < γ < 1 + є,

para uma constante de erro є.

O algoritmo, por atualizar somente um multiplicador a cada época, converge,

segundo KINZEL (1990), a uma taxa polinomial.

Condições de otimalidade: A satisfação das condições de KKT, resultando na obtenção da máxima margem, pode

ser analisada da seguinte forma:

Se 0 < αi < C e yi . f(xi) ≈ 1, então não ocorre correção do multiplicador e o

ponto associado permanece na margem como um vetor suporte, atendendo a condição

de KKT.

Se 0 < αi < C e yi . f(xi) > 1 ou yi . f(xi) < 1, então o valor do multiplicador é

alterado, ou seja, diminuído ou aumentado, no sentido de satisfazer a condição de KKT.

Page 211: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

202

Se αi = 0 e yi . f(xi) > 1, então o valor de αi é diminuído, porém as restrições de

canalização fazem com que o valor de αi permaneça zero. Desta forma, o ponto

associado continua fora da margem.

Se αi = 0 e 0 < yi . f(xi) < 1, então o valor de αi é aumentado, descolando-se do

valor zero, e o ponto associado se torna um vetor suporte.

Se αi = C e yi . f(xi) > 1, então o valor de αi é diminuído e o ponto desloca-se de

dentro da margem tornando-se um vetor suporte.

Finalmente, se αi = C e 0 < yi . f(xi) < 1, então o valor de αi é aumentado, porém

as restrições de canalização fazem com que o valor de αi permanece igual a C. Desta

forma o ponto associado continua dentro a margem.

Implementação: A seguir, é apresentada uma descrição em alto nível do método desenvolvido:

Algoritmo KPSD;

Entrada: Conjunto de treinamento D formado por pares (xi, yi) de cardinalidade m; Parâmetro de regularização C; Tipo de kernel, se Gaussiano a variância σ2; Taxa de aprendizagem η; Constante de erro є; Número máximo de iterações imax; Início Inicializar o conjunto de multiplicadores, variáveis αi, com 0; Inicializar o bias λ com 0; Inicializar a margem γ com 0; Inicializar t com 1;

SV ß D; (* conjunto de vetores suportes *) Computar a matriz kernel K;

Enquanto (γ < 1-є) ou (γ > 1-є) ou (t < imax) Faça Para i ß 1 até m Faça f(i) ß λ; Para todo j Є SV Faça f(i) ß f(i) + αj . yj . K(i, j); Fim_Para; Fim_Para; k ß Arg Max i {f(i)};

[ ]kk ykf )(1−←∆ ηα ;

Page 212: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

203

0 se 0 1 ≤∆+= −k

tk

tk ααα

Cktkk

tk

tk <∆+<∆+= −− ααααα 11 0 se

CC ktk

tk ≥∆+= − ααα 1 se

0 se 11 >∆+∆+= −−

ktkkk

tt y αααλλ ; 0 se 11 ≤∆+∆−= −−

ktkkk

tt y αααλλ ;

( )( ) ( )( )( )ii xfMaxxfMin −+ −=21

γ ,

Atualiza o conjunto SV; t ß t + 1;

Fim_Enquanto; Fim; Saida: Equação do discriminante na forma:

( ) ( ) λα += ∑∈SVj

jijji xxKyxf , ;

ou, a função de decisão na forma: ( ) ( ))( iii xfyxz ϕ=

Fim.

6.3.5 – Aplicação a um problema de separabilidade linear: Seja, novamente, o conjunto de pontos em R2 rotulados pelas respectivas classes,

conforme o conjunto de treinamento apresentado pela Tabela 6.1, cuja solução é

representada graficamente pela Figura VI-3.

Os seguintes resultados foram apresentados pelo algoritmo KSPD, utilizando

como kernel o produto interno dos dados:

Número de iterações: 56. Valores dos multiplicadores e da função objetiva a cada solução de um subproblema: 01 - indice: 00, alpha: 1.00000, função: 0.81375 02 - indice: 07, alpha: 2.08500, função: 3.03250 03 - indice: 00, alpha: 2.88972, função: 3.88810 04 - indice: 05, alpha: 2.01505, função: 6.06305 05 - indice: 00, alpha: 4.36206, função: 6.04506 06 - indice: 07, alpha: 3.65593, função: 8.07661 07 - indice: 00, alpha: 5.51808, função: 7.65095 08 - indice: 07, alpha: 4.87879, função: 9.31837

Page 213: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

204

09 - indice: 00, alpha: 6.41426, função: 8.73898 10 - indice: 07, alpha: 5.82669, função: 10.08312 11 - indice: 00, alpha: 7.10891, função: 9.48418 12 - indice: 07, alpha: 6.56143, função: 10.55706 13 - indice: 00, alpha: 7.64734, função: 10.00279 14 - indice: 07, alpha: 7.13093, função: 10.85302 15 - indice: 00, alpha: 8.06468, função: 10.36931 16 - indice: 07, alpha: 7.57236, função: 11.03954 17 - indice: 00, alpha: 8.38817, função: 10.63211 18 - indice: 07, alpha: 7.91452, função: 11.15833 19 - indice: 00, alpha: 8.63891, função: 10.82300 20 - indice: 07, alpha: 8.17973, função: 11.23493 21 - indice: 00, alpha: 8.83327, função: 10.96329 22 - indice: 07, alpha: 8.38530, função: 11.28501 23 - indice: 00, alpha: 8.98391, função: 11.06740 24 - indice: 07, alpha: 8.54463, função: 11.31823 25 - indice: 00, alpha: 9.10068, função: 11.14532 26 - indice: 07, alpha: 8.66814, função: 11.34062 27 - indice: 00, alpha: 9.19119, função: 11.20406 28 - indice: 07, alpha: 8.76387, função: 11.35596 29 - indice: 00, alpha: 9.26134, função: 11.24858 30 - indice: 07, alpha: 8.83807, função: 11.36664 31 - indice: 00, alpha: 9.31572, função: 11.28249 32 - indice: 07, alpha: 8.89559, função: 11.37419 33 - indice: 00, alpha: 9.35787, função: 11.30841 34 - indice: 07, alpha: 8.94017, função: 11.37960 35 - indice: 00, alpha: 9.39054, função: 11.32828 36 - indice: 07, alpha: 8.97472, função: 11.38353 37 - indice: 00, alpha: 9.41586, função: 11.34356 38 - indice: 07, alpha: 9.00151, função: 11.38642 39 - indice: 00, alpha: 9.43549, função: 11.35532 40 - indice: 07, alpha: 9.02227, função: 11.38857 41 - indice: 00, alpha: 9.45070, função: 11.36439 42 - indice: 07, alpha: 9.03836, função: 11.39018 43 - indice: 00, alpha: 9.46249, função: 11.37139 44 - indice: 07, alpha: 9.05083, função: 11.39139 45 - indice: 00, alpha: 9.47163, função: 11.37680 46 - indice: 07, alpha: 9.06050, função: 11.39231 47 - indice: 00, alpha: 9.47872, função: 11.38098 48 - indice: 07, alpha: 9.06800, função: 11.39300 49 - indice: 00, alpha: 9.48421, função: 11.38422 50 - indice: 07, alpha: 9.07380, função: 11.39354 51 - indice: 00, alpha: 9.48847, função: 11.38672 52 - indice: 07, alpha: 9.07831, função: 11.39395 53 - indice: 00, alpha: 9.49177, função: 11.38866 54 - indice: 07, alpha: 9.08180, função: 11.39426 55 - indice: 00, alpha: 9.49432, função: 11.39016 56 - indice: 07, alpha: 9.08450, função: 11.39451

Page 214: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

205

Valores finais dos multiplicadores: 9.4943240433521, 0, 0, 0, 0, 2.015053, 0, 9.0845021146708 Valor da margem: 0.99912 Erro do balanceamento ( ∑αi.yi): 1.60523 Vetores suportes: 0, 5, 7 Parâmetros do discriminante: Bias (λ): 1.6052310713187 Vetor w: (3.23420, -2.81757) Verificação da classificação (valor computado, valor desejado): 0 (-1, -1) 1 (-1, -1) 2 (-1, -1) 3 (-1, -1) 4 ( 1, 1) 5 ( 1, 1) 6 ( 1, 1) 7 ( 1, 1) Erros de classificação encontrados: 0

6.3.6– Aplicação a um problema de separabilidade não linear: Seja, o conjunto de pontos em R2 rotulados pelas respectivas classes, conforme o

conjunto de treinamento apresentado pela Figura VI-5, relativa ao problema da espiral,

cuja solução é representada graficamente pela Figura VI-6.

Os seguintes resultados foram apresentados pelo algoritmo KSPD, utilizando

como kernel a função gaussiana com variância, σ2 = 1.

Page 215: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

206

Figura VI-5 – Conjunto de treinamento do problema da espiral

Figura VI-6 – Resultado ou saída do problema da espiral no espaço R2

Número de iterações: 1117

Valor da margem: 0.99023 Valores finais dos multiplicadores por coluna: 5.80506451337935, 5.8267163036783, 5.28022972990265, 5.30198180544489, 5.25877335841315, 5.18228381448206, 5.17164612306615, 5.14049955561841, 5.20451500793366, 5.22752579537461, 5.31856058282231, 5.29777799434517, 5.10846559488367, 5.16321480752085, 4.80077143323621, 4.7630945671566, 10.2134347508999, 10.1835019856655, 9.09109916146138, 9.01926395899883, 8.80669769821402, 9.00614329596096, 8.7225652142203,

8.80299261440322, 8.95262728954816, 8.88756662157275, 9.15328415759339, 9.19767806786215, 8.81219707814084, 8.67261500850803, 7.95649204007794, 8.04780121032812, 11.5894123038632, 11.602581802377, 9.71681330132417, 9.89093058596493, 9.86870089229787, 9.46892403901416, 9.52701281020935, 9.38624665843238, 9.75037083332838, 9.87736571988437, 10.4617579003186, 10.3669988823645, 9.46742346479951, 9.73824677365956,

8.66512405964225, 8.49609018278723, 10.6453461864085, 10.6530432100418, 8.27900868077415, 7.89630704831563, 7.7884246188356, 8.57588435831932, 7.7778815703852, 7.92515296355148, 8.70495748635095, 8.47458314887472, 9.86846298165874, 10.056059733653, 8.62675667540521, 8.10622510784177, 7.17223567760734, 7.51095635343429, 8.39628098342235, 8.25163948481195, 4.16387014741845, 5.0939930800481, 6.38150038943159,

4.64512498674996, 4.55078717850895, 4.77023351448339, 5.80727281555953, 6.08277187674109, 9.63098916706752, 9.43039708899495, 4.89013843684198, 5.51689540182834, 6.133784923955, 5.94666463922111, 4.34919970619186, 4.21669374601583, 1.77111625570764, 0, 0, 4.10176539865815, 2.16502549441128, 0, 0, 0, 15.1275067292381, 15.127202488316,

Page 216: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

207

Vetores suportes: 0, 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, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 86, 90, 91 Parâmetros do discriminante: Bias (λ): 0.00395

Equação do classificador: ( )( ) ( )

+= ∑

λαϕϕSVj

jijjiii xxKyyxfy ,.

Erro do balanceamento ( ∑αi.yi): 0.00395 Verificação da classificação (valor computado, valor desejado): 0 ( 1, 1) 1 (-1, -1) 2 ( 1, 1) 3 (-1, -1) 4 ( 1, 1) 5 (-1, -1) 6 ( 1, 1) 7 (-1, -1) 8 ( 1, 1) 9 (-1, -1) 10 ( 1, 1) 11 (-1, -1) 12 ( 1, 1) 13 (-1, -1) 14 ( 1, 1) 15 (-1, -1) 16 ( 1, 1) 17 (-1, -1) 18 ( 1, 1) 19 (-1, -1) 20 ( 1, 1) 21 (-1, -1) 22 ( 1, 1)

23 (-1, -1) 24 ( 1, 1) 25 (-1, -1) 26 ( 1, 1) 27 (-1, -1) 28 ( 1, 1) 29 (-1, -1) 30 ( 1, 1) 31 (-1, -1) 32 ( 1, 1) 33 (-1, -1) 34 ( 1, 1) 35 (-1, -1) 36 ( 1, 1) 37 (-1, -1) 38 ( 1, 1) 39 (-1, -1) 40 ( 1, 1) 41 (-1, -1) 42 ( 1, 1) 43 (-1, -1) 44 ( 1, 1) 45 (-1, -1)

46 ( 1, 1) 47 (-1, -1) 48 ( 1, 1) 49 (-1, -1) 50 ( 1, 1) 51 (-1, -1) 52 ( 1, 1) 53 (-1, -1) 54 ( 1, 1) 55 (-1, -1) 56 ( 1, 1) 57 (-1, -1) 58 ( 1, 1) 59 (-1, -1) 60 ( 1, 1) 61 (-1, -1) 62 ( 1, 1) 63 (-1, -1) 64 ( 1, 1) 65 (-1, -1) 66 ( 1, 1) 67 (-1, -1) 68 ( 1, 1)

69 (-1, -1) 70 ( 1, 1) 71 (-1, -1) 72 ( 1, 1) 73 (-1, -1) 74 ( 1, 1) 75 (-1, -1) 76 ( 1, 1) 77 (-1, -1) 78 ( 1, 1) 79 (-1, -1) 80 ( 1, 1) 81 (-1, -1) 82 ( 1, 1) 83 (-1, -1) 84 ( 1, 1) 85 (-1, -1) 86 ( 1, 1) 87 (-1, -1) 88 ( 1, 1) 89 (-1, -1) 90 ( 1, 1) 91 (-1, -1)

Erros encontrados: 0

Page 217: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

208

Capítulo VII – Considerações Finais e Sugestões Futuras O desenvolvimento de classificadores kernel e, em particular, das máquinas de vetores

suportes, representaram um grande avanço, e, até mesmo, uma mudança de perspectiva,

no campo da aprendizagem de máquinas, no contexto, sobretudo, do aprendizado

supervisionado.

Vários problemas de classificação, como exemplo, o reconhecimento de padrões

complexos de estrutura não rígida ou de formações variáveis como a escrita, fala e

objetos deformáveis, envolvendo os processos de categorização e generalização do ser

humano, passaram a ser resolvidos com maior eficiência, atingindo níveis de

performance bem acentuados, comparado ao processo decisório de especialistas.

A aplicação destes algoritmos de aprendizagem, não se resumem, entretanto, a

simulação dos processos de percepção. Um grande número de problemas da vida real

pode ser resolvido com a utilização destas técnicas.

As mais importantes aplicações incluem a previsão de séries temporais com a

utilização de dados financeiros e do clima; tomada de decisão em diagnósticos médicos

e análise de dados provenientes de experimentos de microarray; controle, navegação e

visão na robótica; controle de processos em plantas industrias; processamento de sinais;

reconhecimento de expressões faciais; análise de seqüências biológicas; mineração de

dados relacionados a comercialização, estoques e lucratividade de empresas tornando

mais inteligente o processo decisório; mineração de textos na Web; reconhecimento de

imagens provenientes de dados de satélite auxiliando o planejamento de ações e a

monitoração de problemas relacionados ao meio ambiente, entre outras.

Neste trabalho, procuramos apresentar toda a teoria necessária ao

desenvolvimento de classificadores baseados no uso de máquinas de vetores suportes e

de funções kernel. Inicialmente, em seu primeiro capítulo, mostramos a teoria de

generalização desenvolvida por Vapnik e Chervonenkis, também conhecida como a

teoria de aprendizagem estatística que desenvolveu um novo paradigma no projeto de

classificadores denominado princípio do risco estrutural.

Page 218: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

209

Também, achamos importante o desenvolvimento de um capítulo que tratasse da

teoria de decisão bayesiana e da construção de regressores a partir do método dos

mínimos quadrados. Consideramos estas duas técnicas, tradicionalmente utilizadas na

comunidade estatística na análise multivariada de dados, de grande importância no

estudo do reconhecimento de padrões.

Dando continuidade, no terceiro capítulo, abordamos o desenvolvimento dos

hiperplanos separadores definindo uma classe de modelos lineares para a solução dos

problemas de classificação. Destacamos o desenvolvimento do modelo perceptron na

sua forma original proposta por Rosenblat, bem como na sua forma dual, abrindo

espaço para a definição do perceptron de máxima margem a partir de uma representação

dependente dos dados.

Em seguida, descrevemos todo o desenvolvimento das máquinas de vetores

suportes, embasado na teoria de programação não linear, incluindo a utilização de uma

margem flexível, chamada de Soft-Margin, que permite a efetiva realização do controle

da capacidade do modelo e de seu poder de generalização tornando possível a

implementação do princípio de Minimização do Risco Estrutural.

Também, mostramos como é possível a utilização das máquinas de vetores

suportes em problemas de multiclassificação apresentando as duas abordagens

convencionais mais utilizadas.

Considerando a classe de hipóteses formadas por hiperplanos ou funções

lineares incompatíveis com a solução de problemas não linearmente separáveis

descrevemos, no quinto capítulo, como este problema pode ser resolvido de maneira

eficiente com a utilização de funções Kernel. Também, mostramos como as funções

Kernel podem ser utilizadas na detecção de similaridades em dados estruturados

descrevendo algumas aplicações no reconhecimento de seqüências de símbolos ou

caracteres.

Finalmente, no sexto capítulo, mostramos as principais técnicas e respectivas

implementações utilizadas na solução do problema SVM. Particularmente, demos maior

ênfase na explicação e desenvolvimento dos métodos que não utilizam um solver de

programação não linear. Neste sentido, implementamos uma versão do algoritmo de

Page 219: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

210

Otimização Seqüencial de John Platt, também conhecido como algoritmo SMO e uma

versão do algoritmo Adatron de ANLAUF e Biehl, ambos com a utilização de funções

Kernel.

Como contribuição ao tema, implementamos uma nova versão do algoritmo

Adatron, denominada KPDS, que utiliza uma forma mais estável, porém com uma

menor taxa de convergência, de correção dos multiplicadores, com base no gradiente da

função lagrangeana. Achamos, pelos testes realizados, que este algoritmo apresenta uma

robustez superior ao algoritmo SMO.

Como sugestões para trabalhos futuros, recomendamos um maior

aprofundamento no estudo dos seguintes tópicos:

• Implementação paralela do algoritmo KPDS.

• Estudo e projeto de funções Kernel aplicado a problemas da área de

bioinformática.

• Estudo e implementação do uso de vetores suporte e funções Kernel em

problemas relacionados ao paradigma de aprendizado não

supervisionado, como exemplo, estimativa de densidade, análise de

cluster, análise de componentes principais e análises de componentes

independentes.

Finalizando, queríamos ressaltar que este trabalho, embora iniciado com uma

visão simplista do problema de aprendizado, representou um grande esforço no sentido

de elucidar importantes questões teóricas e práticas no entendimento e no

desenvolvimento das máquinas de vetores suportes e dos classificadores kernel.

Page 220: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

211

Referências Bibliográficas

AIZERMAN, M. A.; BRAVERMAN, E. M.; ROZONOER, L. I. The probability problem of pattern recognition learning and the method of potential functions. Automation and Remote Control n.25 p. 1175-1190. 1964.

AKAIKE, H. A. New Look At The Statistical Model Identification. IEEE Trans. On Auto. Control. n.19 p.716-723. 1974.

ANLAUF, J. K.; BIEHL, M. The Adatron: Na Adaptative Perceptron Algorithm. Europhys. LETT. n.10 p.687-692. 1989.

BELLMAN, R. Dynamic program. Princeton. Princeton University Press. 1957.

BISHOP, C. M. Neural Networks For Pattern Recognition. Oxford. Clarendon Press. 1995.

BLOCK, H. D. The perceptron: A model for brain functioning. Reviews of Modern Physics n. 34 p.123-135.

BOSER, B. E.; GUYON, I. M.; VAPNIK, V. N. A training algorithm for optimal margin classifiers. In Proceedings of the Annual Conference on Computational Learning Theory. Pittsburgh. ACM Press. p.144-152. 1992.

BROOMHEAD, D. S.; LOWE, D. Multivariable functional interpolation and adaptive networks. Complex Systems n.2 p.321-355. 1988.

BURGES, C. J. C. A Tutorial On Support Vector Machines For Pattern Recognition. Data Mining And Knowledge Discovery 2 (2). p.121-167. 1998.

CAMPBELL, C.; CRISTIANINI, N. Simple Learning Algorithms For Training Support Vector Machines. Technical Report. Dept. Of Engineering Mathematics. University Of Bristol. Uk. 1998.

CAMPBELL, C. Na Introduction To Kernel Methods. In Radial Basis Function Networks: Design And Applications. R. J. Howlett e L. C. Jain Eds. Springer-verlag. Berlin. 2000.

CAUWENBERGHS, G.; POGGIO, T. Incremental and Decremental Support Vector Machine Learning. In Adv. Neural Information Processing Systems. IEEE. MIT Press. 2001.

CORTES, C.; VAPNIK, V. Support Vector Networks. Machine Learning 20. p.273-297. 1995.

COVER, T. M. Geometrical and Statistical properties of Systems of Linear inequalities with applications in pattern recognition. IEEE Transactions on Electronic Computers, vol. EC-14. p.326-334. 1965.

Page 221: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

212

CYBENKO, G. Approximation by superpositions of a sigmoidal function. Mathematics of Control. Signals and Systems 2. p.304-314. 1989.

DUDA, R.O.; HART, P. E. Pattern Classification and Scene Analysis. John Wily. Nova York. 1973.

FISHER, R. A. The use of multiple measurements in taxonomic problems. Annals of Eugenics 7 p.179-188. 1936.

FLETCHER, R. Practical Methods of Optimization. John Wiley and Sons. 1987.

FREUND, Y.; SCHAPIRE, R. E. Large Margin Classification Using The Perceptron Algorithm. In Proc. Of The Eleventh Annual Conference On Computational Learning Theory. 1998.

FREUND, Y.; SCHAPIRE, R.E. A Decision-Theoretic Generalization of On-line Learning and an Application to Boosting. Journal of Computer and Systems Sciences. n.55 p.119-139. 1997.

FRIESS, T-T; CRISTIANINI, N.; CAMPBELL, C. The Kernel-adatron Algorithm: A Fast And Simple Learning Procedure For Support Vector Machines. In Machine Leraning Proc. Of The 15th Conf. San Francisco. Morgan Kauffman Pub. 1998.

FRIESS, T-T. Support Vector Neural Networks: The Kernel Adatron with Bias and Soft Margin. In Tech. Report. Dept. of Automatic Control and Systems Engineering. University of Sheffield. 1998.

FUKUNAGA, K. Statistical Pattern Recognition. Academic Press. Boston. 1990.

FUNAHASHI, K. On the approximate realization of continuous mappings by neural networks. Neural Networks 2 (3). p.183-192. 1989.

GENOV, R.; CHAKRABARTTY, S.; CAUWENBERGHS, G. Silicon Support Vector Machine with Online Learning. International Journal of Pattern Recognition and Artificial Intelligence. 2002.

GENTON, M. G. Classes of Kernels for Machine Learning: A Statistics Perspective. Journal of Machine Learning Research 2. p.299-312. 2001.

GILL, P. E.; MURRAY, W.; WRIGHT, M. H. Practical Optimization. Academic Press. 1981.

HELMBOLD, D. P.; WARMUTH, M. K. On weak learning. Journal of Computer and System Sciences. n.50 p.551-573. 1995.

HERBRICH R.; GRAEPEL, T.; CAMPBELL, C. Bayes point machines. Journal of Machine Learning Research 1. p.245-279. 2001.

HERBRICH, R. Learning Kernel Classifiers - Theory And Algorithm. Mit Press. 2002.

Page 222: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

213

JAAKKOLA, T.; HAUSSLER, D. Exploiting generative models in discriminative classifiers. In Advances in Neural Information Processing Systems 11. Morgan Kaffmann Publishers. 1998.

JAAKKOLA, T.; DIEKHANS, M.; HAUSSLER D. A Discriminative Framework for Detecting Remote Protein Homologies. Jornal of Computational Biology. 2000.

KECMAN, V. Learning And Soft Computing With Suppot Vector Machines. Neural Networks. Mit Press. 2001.

KINZEL, W. Statistical Mechanics of the Perceptron with Maximal Stability. Lecture Notes In Physics. Springer Verlarg n.368 p.175-188. 1990.

KOHONEN, T. Self-organized formation of topologically correct feature maps. Biological Cybernetics n.43 p.59-69. 1982.

KOLMOGOROV, A. N. On the representation of continuous functions of several variables by superposition of continuous functions of one variable and addition. Doklady Akademiia Nauk URSS 114 (5) p.953-956. 1957.

LESLIE, C.; ESKIN, E.; NOBLE, W. S. The Spectrum Kernel: A String Kernel for SVM Protein Classification. Proceedings of the Pacific Biocomputing Symposium. 2002.

LODHI, H.; SHAWE-TAYLOR, J.; CRISTIANINI, N.; WATKINS, C. Text Classification using String Kernels. In Neural Information Processing Systems n.13 p.563-569. MIT Press. 2001.

MCCORMICK, G. P. The Variable Reduction Method for Nonlinear Programming. Management Science n.17 p.146-160. 1970.

MCCULLOCH, W.; PITTS, W. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics n.5 p.115-133. 1943.

MERCER, J. Functions of positive and negative type and their connection with theory of integral equations. Philosophical Transactions of the Royal Society. London A 209. p.415-446. 1909.

MIKA, S.; RATSCH, G.; WESTON, J.; SCHOLKOPF, B.; MULLER, K. Fisher discriminant analysis with kernels. IEEE. Neural Networks for Signal Processing IX. p.41-48. 1999.

MINSKY, M.L.; PAPERT, S. A. Perceptrons. Cambridge. MA. MIT Press. 1969.

MOODY J.; DARKEN, C. J. Fast Learning in Networks of Locally Tuned Processing Units. Neural Computation 1 (2). p.281-294. 1989.

MORÉ, J.; TORALDO, G. On the Solution of Large Quadratic Programming Problems with Bound Constraints. SIAM Journal of Optimization 1(1). p.93-113. 1991.

Page 223: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

214

MULLER, K. R.; MIKA, S.; RTASCH, G.; TSUDAT, K.; SCHOLKOPF, B. An Introduction to Kernel-Based Learning Algorithms. IEEE Transactions on Neural Networks n.12 p.181-201. 2001.

MURTAGH, B. A.; SAUNDERS, M. A. Large-scale linearly constrained optimization. Mathematical Programming n.14 p.41-72. 1978.

NILSSON, N. J. Learning Machines. New York. McGraw-Hill. 1965.

NOVIKOFF, A. B. On convergence proofs for perceptrons. In Proceedings of the Symposium on the Mathematical Theory of Automata. p.615-622. Brooklyn. NY. 1962.

OPPER, M. Learning Times of Neural Networks: Exact Soluction for a Perceptron Algorithm. Physical Review A 38. 1988.

OSUNA, E. E.; FREUND, R.; GIROSI, F. Support Vector Machines: Training And Applications. A. I. Memo N. 1602. Cbcl. Ail. Massachusetts Institute Of Technology. 1997.

PARK, J.; SANDBERG, I. W. Universal Approximation using radial basis function networks. Neural Computation 3 (2). p.246-257. 1991.

PARZEN, E. On estimation of a probability density functions and mode. Annals of Mathematical Statistics. n.33 p.1065-1076. 1962.

PLATT, J. C. Sequencial Minimal Optimization: A Fast Algorithm For Training Support Vector Machines. Technical Report N. Msr-tr-98-14. Microsoft Research. Seattle. 1998.

POGGIO, T.; GIROSI, F. Networks for approximation and learning. Proc. IEEE. 78. 1990.

POWELL, M. J. D. Radial basis functions for multivariable interpolation: a review. In Algorithms for approximation. Ed. J. C. Mason e M. G. Cox p.143-167. Oxford. Clarendon Press. 1987.

PRINCIPE; EULIANO ; LEFEBVRE. Neural And Adaptative Systems. John Wiley & Sons Inc. 2000.

RISSANEN, J. Modeling by Shortest Data Description. Automatica. n.14 p.465-471. 1978.

RISSANEN, J. Stochastic Complexity in Statistical Inquiry. World Scientific. 1989.

ROSENBLATT, F. The Perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review n.65 p.386-408. 1958.

RUMELHART, D. E.; HINTON, G. E.; WILLIAMS, R. J. Leaning representations of back-propagation erros. Nature, Vol. 323. p.533-536. 1986.

Page 224: Máquinas de Vetores Suportes - samuel.eti.brsamuel.eti.br/download/graduacao.pdf · Resumo Este trabalho consiste no desenvolvimento e implementação de um algoritmo para a solução

215

SAUNDERS, C.; STITSON, M. O.; WESTON, J.; BOTTOU, L.; SCHOLKOPF, B.; SMOLA, A. Suport Vector Machine Reference Manual. Department of Computer Science. Royal Holloway. 1998.

SCHÖLKOPF, B. Statistical Learning And Kernel Methods. Technical Report N. Msr-tr-2000-23. Microsoft Research. 2000.

SEARLE, J. R. Minds, Brains, And Programs. In The Behavioral And Brain Sciences. Vol 3. Cambridge University Press. 1980.

SMOLA, A.; SCHOLKOPF, B. Learning With Kernels. Mit Press. 2001.

TIKHONOV, A.; ARSENIN, V. Solution of Ill. Posed Problems. Winston. 1977.

UKKONEN, E. Online Construction of Suffix-trees. Algorithmica 14 (3). 1995.

VALIANT, L. A Theory of the Learnable. Communications of ACM. 27(11) p.1134-1142. 1984.

VAPNIK, V. N.; CHERVONENKIS, A. Y. On the uniform convergence of relative frequencies of events to their probabilities. Theory of probability and its applications 16 (2) p.264-280. 1971.

VAPNIK, V. N. Estimation of Dependences Based on Empirical Data. Springer Verlarg. 1982.

VAPNIK, V. Statistical Learning Theory. John Wiley & Sons Inc. 1998.

VISHWANATHAN, S. V. N.; SMOLA, A. J.; MURTY, M. N. Simple SVM. In Proceedings of the 12 International Conference on Machine Learning. Washington. 2003.

VON DER MALSBURG, C. Self-organization of orientation sensitive cells in the striate cortex. Ky bernetick. n.14 p.85-100. 1973.

WALLACE, C. S; BOULTON, D. M. An information measure for classification. Computer Journal. 1968.

WIDROW, B.; HOFF JR., M. E. Adaptative Switching Circuits. In Ire Western Electric Show And Convention Record. Pt. 4. p.96-104. 1960.

WIDROW, B.; STEARNS, S. D. Adaptive Signal Processing. Englewood Cliffs. New Jersey. 1985.

WOLFE, P. The Reduced-Gradient Method. RAND Corporation. 1962.

ZADEH, L. A. Soft computing and fuzzy logic. IEEE Software. Nov. p.48-56. 1994.