Support Vector Machines

28
Support Vector Machines Leandro Leandro Farias Farias 5° ano ano – Eng. Comp. Eng. Comp. Inteligência Inteligência Artificial Artificial

description

Apresentação ministrada no dia 27/09/2012 relativa a disciplina de Inteligência Artificial.

Transcript of Support Vector Machines

Page 1: Support Vector Machines

SupportVector

Machines

Leandro Leandro FariasFarias55°° anoano –– Eng. Comp.Eng. Comp.InteligênciaInteligência ArtificialArtificial

Page 2: Support Vector Machines

SumárioSumário

•• IntroduçãoIntrodução•• ObjetivosObjetivos•• AprendizadoAprendizado de de MáquinasMáquinas•• A A TeoriaTeoria de de AprendizadoAprendizado EstatísticoEstatístico•• SVMsSVMs•• ConclusãoConclusão•• BibliografiaBibliografia

Page 3: Support Vector Machines

IntroduçãoIntrodução

•• TécnicaTécnica de de aprendizadoaprendizado•• As As MáquinasMáquinas de de VetoresVetores de de SuporteSuporte sãosão

embasadasembasadas pelapela teoriateoria de de aprendizadoaprendizadoestatísticoestatístico..

•• InúmerasInúmeras aplicaçõesaplicações: : categorizaçãocategorização de de textostextos, , AnáliseAnálise de de ImagensImagens e e BioinformáticaBioinformática..

Page 4: Support Vector Machines

ObjetivosObjetivos

•• ApresentarApresentar as as MáquinasMáquinas de de VetoresVetores de de SuporteSuporte..

Page 5: Support Vector Machines

ConceitosConceitos BásicosBásicosAprendizadoAprendizado de de MáquinaMáquina

Page 6: Support Vector Machines

ConsideraçõesConsiderações IniciaisIniciais

•• As As tecnicastecnicas de AM de AM empregamempregam o o princípioprincípio de de inferênciainferência induçãoindução..

•• SupervisionadoSupervisionado vsvs NãoNão--supervisionadosupervisionado..•• AbordaremosAbordaremos o o aprendizadoaprendizado SupervisionadoSupervisionado..

Page 7: Support Vector Machines

AprendizadoAprendizado SupervisionadoSupervisionado

•• Dado um Dado um conjuntoconjunto de de exemplosexemplos (x(xii,y,yii))–– xxii: : representarepresenta um um exemploexemplo..–– yyii: : representarepresenta o o seuseu rótulorótulo..

•• ObjetivoObjetivo: : produzirproduzir um um classificadorclassificador ((modelomodelo, , preditorpreditor ouou hipótesehipótese) ) capazcapaz de de predizerpredizer o o rótulorótulode de novosnovos dados.dados.

f(x)=yf(x)=y

Page 8: Support Vector Machines

Aprendizado SupervisionadoAprendizado Supervisionado

Figura1 – Forma simplificada para obtenção do classificador

• Cada exemplo é representado por um vetor de características.• Cada atributo pode ser nominal (não existe uma ordem entreos valores. Ex: cores) ou contínuo ( é possível definir umaordem linear nos valores assumidos. Ex: pesos).• A obtenção do classificador pode ser considerado umprocesso de busca.

Page 9: Support Vector Machines

ConceitosConceitos nãonão tãotão BásicosBásicosA A TeoriaTeoria de de AprendizadoAprendizado EstatísticoEstatístico

Page 10: Support Vector Machines

ClassificadoresClassificadores

•• SejaSeja T o T o conjuntoconjunto de de treinamentotreinamento, , compostocomposto de de nn pares (xpares (xii,y,yii).).

•• SejaSeja o o classificadorclassificador f f contidocontido emem F (F (conjuntoconjunto de de todostodos osos classificadoresclassificadores) ) geradogerado pelopelo algoritmoalgoritmode AM.de AM.

Page 11: Support Vector Machines

Um Um ExemploExemplo

Figura 2 – Exemplos de Classificadores

• A Figura 2 (a): classifica corretamente, porém por ser muito específica apresenta elevada suscetibilidade a cometer erros com novos dados.•A Figura 2 (c): desconsidera pontos pertencentes a classes opostas e que estejam muito próximos entre si. Porém comete muitos erros.•A Figura 2 (b): Tem complexidade intermediária e classifica corretamente a maioria dos dados.

A TAE estabelece condições matemáticas para a escolha do classificador.

Page 12: Support Vector Machines

ConsideraçõesConsiderações sobresobre a a eescolhascolha do do ClassificadorClassificador

•• Os dados Os dados sãosão geradosgerados de forma de forma i.i.di.i.d. com . com probabilidadeprobabilidade P(P(xx,y,y).).

•• RiscoRisco EsperadoEsperado: : medemede a a capacidadecapacidade de de generalizaçãogeneralização de f.de f.

sendosendo o o custocusto relacionandorelacionando a a previsãoprevisãoquandoquando a a saídasaída desejadadesejada é .é .

•• NãoNão é é possívelpossível minimizarminimizar o o riscorisco poispoisé é desconhecidodesconhecido..

( ) ( ( ), ) ( , )R f c f y dP y x x

( ( ), )c f yx ( )f xy

( , )P yx

Page 13: Support Vector Machines

ConsideraçõesConsiderações sobresobre a a escolhaescolha do do ClassificadorClassificador

•• OO RiscoRisco EmpíricoEmpírico medemede oo desempenhodesempenho dodoclassificadorclassificador nosnos dadosdados dede treinamentotreinamento porpor meiomeiodada taxataxa dede classificaçõesclassificações incorretasincorretas obtidasobtidas emem TT..

–– QuandoQuando é é possívelpossível fazerfazer com com queque o o RiscoRiscoEmpiricoEmpirico convirgaconvirga parapara o o RiscoRisco EsperadoEsperado

1

1( ) ( ( , ))n

emp ii

R f c f yn

ix

n

Page 14: Support Vector Machines

•• O limite para o Risco Esperado é conseguido com O limite para o Risco Esperado é conseguido com probabilidade .probabilidade .

–– h: dimensão h: dimensão VapnickVapnick--ChervonenkisChervonenkis da classe de funções da classe de funções F à qual f pertence.F à qual f pertence.

–– n: quantidade de exemplos no conjunto de treinamento T.n: quantidade de exemplos no conjunto de treinamento T.•• VC h mede a capacidade do conjunto de funções F VC h mede a capacidade do conjunto de funções F

(quanto maior seu valor, mais complexas são as (quanto maior seu valor, mais complexas são as funções)funções)

Limites no Risco EsperadoLimites no Risco Esperado

1

2(ln ( ) 1) ln ( )4( ) ( )

nhh

em p nR f R f

Page 15: Support Vector Machines

•• Problema: Dado um problema de classificação Problema: Dado um problema de classificação binário (rótulos com valores 1 ou 2), essa binário (rótulos com valores 1 ou 2), essa dimensão é definida como o número máximo de dimensão é definida como o número máximo de exemplos que podem ser exemplos que podem ser particionadosparticionados em duas em duas classes pelas funções contidas em F, para todas classes pelas funções contidas em F, para todas as combinações binárias desses dados. as combinações binárias desses dados. Encontrar Encontrar dimdim VC.VC.

Exemplo para Exemplo para dimdim VC = 3VC = 3

Page 16: Support Vector Machines

Exemplo para Exemplo para dimdim VC = 3VC = 3

Figura – todas as 8 combinações possíveis para 2 rótulos

• É possível determinar retas que possam separar esses 3 exemplos, para qualquer conformação dos rótulos.

Page 17: Support Vector Machines

Exemplo para Exemplo para dimdim VC = 3VC = 3

Figura 4 – Figuras com 4 exemplos

• É possível definir rótulos (item b) tal que uma só reta seja incapaz de realizar a separação dos 4 exemplos.• Assim, é preciso recorrer a funções de complexidade superior à das retas.• Logo, conclui-se que dim = 3, pois todas as possiveis combinações (8) de exemplos pode ser particionada por retas.

Page 18: Support Vector Machines

•• Objetivo: minimizar o Risco Esperado!Objetivo: minimizar o Risco Esperado!•• DivideDivide--se F nos subconjuntos:se F nos subconjuntos:

•• Assim,Assim,•• Seja o classificador com menor Risco Seja o classificador com menor Risco

Empírico.Empírico.•• A medida que A medida que kk cresce, cresce, diminiudiminiu e a capacidade e a capacidade

aumenta.aumenta.•• Assim, existe um Assim, existe um kk ótimo que minimiza o limite ótimo que minimiza o limite

sobre o risco esperado. A escolha de constitui o sobre o risco esperado. A escolha de constitui o princípio da MREprincípio da MRE

Minimização do Risco EstruturalMinimização do Risco Estrutural

0 1 ... qF F F F

0 1 ... qh h h h ~

k kf F

~

kf

~

kf

Page 19: Support Vector Machines

Minimização do Risco EstruturalMinimização do Risco Estrutural

Figura – Princípio de minimização do risco estrutural

Page 20: Support Vector Machines

SVMsSVMsMáquinasMáquinas de de VetoresVetores de de SuporteSuporte LinearesLineares

Page 21: Support Vector Machines

SVM linearSVM linear

•• SurgiramSurgiram pelopelo empregoemprego diretodireto dos dos resultadosresultadosfornecidosfornecidos pelapela TAE.TAE.

•• SeráSerá apresentadoapresentado osos SVMs SVMs nana obtençãoobtenção de de fronteirasfronteiras lineareslineares parapara a a separaçãoseparação de dados de dados pertencentespertencentes a a duasduas classes.classes.

•• AbordaremosAbordaremos as as lineareslineares..

Page 22: Support Vector Machines

•• Definem fronteiras lineares a partir de dados Definem fronteiras lineares a partir de dados linearmente separáveis.linearmente separáveis.

•• Seja T um conjunto de treinamento com Seja T um conjunto de treinamento com nn dados dados xxii pertencente a X e seus respectivos módulos ypertencente a X e seus respectivos módulos yiie Y = {e Y = {--1,+1}. T é linearmente separável se é 1,+1}. T é linearmente separável se é possível separar os dados de classe possível separar os dados de classe --1 e +1 por 1 e +1 por um hiperplano.um hiperplano.

SVM com margens rígidasSVM com margens rígidas

Page 23: Support Vector Machines

•• A equação do hiperplano é representada abaixo:A equação do hiperplano é representada abaixo:

•• é o vetor normal ao hiperplano descritoé o vetor normal ao hiperplano descrito•• é a distância do hiperplano em relação à é a distância do hiperplano em relação à origem.origem.•• Essa equação divide o espaço de dados X em Essa equação divide o espaço de dados X em

duadua regiões: f(x)>0 e f(x)<0regiões: f(x)>0 e f(x)<0

SVM com margens rígidasSVM com margens rígidas

( ) 0f w b x x

|| ||bw

w

Page 24: Support Vector Machines

•• DefineDefine--se o hiperplano canônico, isto é,se o hiperplano canônico, isto é,

•• Resumindo,Resumindo,

•• OuOu

SVM com margens rígidasSVM com margens rígidas

| | 1iw x b

11

i

i

w x bw x b

se

se

1iy

1iy

( ) 1 0i iy w x b

Page 25: Support Vector Machines

SVM com margens rígidasSVM com margens rígidas

Distância d: 2|| ||w

Consideração: maximizar a margem de separação dos dados em relação a:

0w x b

Assim, na verdade, o que se quer:

Minimizar:

Com as restrições:

21 || ||2

w

( ) 1 0i iy w x b

Page 26: Support Vector Machines

•• Em situações reais, é difícil encontrar aplicações Em situações reais, é difícil encontrar aplicações cujos dados sejam linearmente separáveis cujos dados sejam linearmente separáveis (presença de ruídos).(presença de ruídos).

•• Nova modelagemNova modelagem–– : variável de folga.: variável de folga.

•• Objetivo:Objetivo:

SVMsSVMs com Margens Suavescom Margens Suaves

( ) 1i i iy w x b

i

2

1

1 || || ( )2

n

ii

w C

Minimizar:

Page 27: Support Vector Machines

ConclusãoConclusão• A Matemática salva!• As SVMs são robustas diante de dados de grandedimensão.• Convexidade do problema de otimizaçãoformulado em seu treinamento, o que implica aexistência de um único mínimo global. (Vantagenssobre as Redes Neurais)• As SVMs podem ser aplicadas na solução deproblemas de regressão e no agrupamento dedados (aprendizado não supervisionado)

Page 28: Support Vector Machines

BibliografiaBibliografia

• Uma Introdução às Support Vector Machines• Livro texto