Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

25
14/4/2009 1 SCC5871 – Introdução ao Aprendizado de Máquina Aula 6 – Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs) Prof. Ricardo J. G. B. Campello PPG-CCMC / ICMC / USP 2 Créditos Parte do material a seguir consiste de adaptações e extensões dos originais: de (Tan et al., 2006) gentilmente cedidos pelo Prof. André C. P. L. F. de Carvalho 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0

Transcript of Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

Page 1: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

1

SCC5871 – Introdução ao Aprendizado de Máquina

Aula 6 – Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

Prof. Ricardo J. G. B. Campello

PPG-CCMC / ICMC / USP

2

Créditos

� Parte do material a seguir consiste de adaptações e extensões dos originais:

� de (Tan et al., 2006)

� gentilmente cedidos pelo Prof. André C. P. L. F. de Carvalho

0 1 1 0 0 1 1 01 1 0 0 1 0 0 10 1 1 0 1 1 1 11 0 1 0 0 1 0 0

Page 2: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

2

3

Tópicos

� Dimensão VC

� SVMs

� Caso Binário Linearmente Separável

� Caso Binário Não Linearmente Separável

� Caso Binário Não Linear

� Caso Multi-Classes

4

Minimização de Risco Estrutural

� Sabemos que a capacidade de generalização de uma máquina de aprendizado refere-se à taxa de erro desta máquina em dados não vistos no treinamento

� Da teoria do aprendizado estatístico sabe-se que essa taxa é limitada superiormente por uma soma de dois termos:

� a taxa de erro nos dados de treinamento

� um termo que depende da dimensão VC

� de Vapnik-Chervonenkis

Page 3: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

3

5

Minimização de Risco Estrutural

� Uma máquina de aprendizado que minimiza o limitante superior do erro de generalização é dita seguir o princípio estatístico de minimização de risco estrutural

� Representantes importantes desta classe são as SVMs

� Máquinas de Vetores Suporte (Support Vector Machines)

� Em problemas linearmente separáveis, anulam o 1º termo do limitante (erro de treinamento) e minimizam o 2º (dim. VC)

� Maximizam a capacidade de generalização

6

Dimensão VC

� N pontos podem ser rotulados em classes binárias (+/–) de 2N possíveis maneiras

� 2N problemas de aprendizado diferentes podem ser definidos

� Diz-se que o espaço de hipóteses H de uma máquina de aprendizado particiona os N exemplos se: � ∃ h ∈ H que separa exemplos positivos e negativos para

qualquer um dos 2N problemas

� No. máximo de pontos que podem ser particionados por H é definido como a dimensão VC de H

� VC(H) mede a capacidade de representação de H

Page 4: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

4

7

Dimensão VC

� Seja um classificador linear em um espaço 2D� d = 2 dimensões� N = 3 pontos ⇒ 2N = 23 = 8 problemas� Existem 3 pontos que sempre podem ser separados

� Todos os 8 problemas linearmente separáveis

VC(H) = d + 1

VC(H) = 3

8

Dimensão VC

� Seja um classificador linear em um espaço 2D� N = 4 ⇒ 16 problemas

� Ao menos um deles sempre será não linearmente separável

VC(H) = 3

VC(H) para um classificador linear em um espaço de d

dimensões é d + 1

Page 5: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

5

9

Dimensão VC

� Seja um classificador na forma de retângulo em um espaço bidimensional� N = 4 (16 problemas)

x1

x2

VC(H) = 4

Para N = 5 pontos alguns problemas sempre serão não separáveis

10

Dimensão VC

� É definida genericamente para uma classe de modelos de dimensão pré-estabelecida:

� Depende da representação das hipóteses

� Normalmente depende do no. de atributos

� Mas nem sempre

� Por exemplo, se H for uma tabela de busca

� dimensão VC é infinita !

Page 6: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

6

11

Dimensão VC

� Dimensão VC é um conceito teórico

� Na prática, é difícil de calcular com exatidão para a maioria dos classificadores

� Quanto mais flexível o classificador, provavelmente maior sua dimensão VC

� portanto maior o limitante superior para a taxa de erro de generalização

� maior o risco de overfitting !

SVMs Lineares

� Problema Linearmente Separável :

– Encontrar um hiperplano que discrimine entre as classes

(Tan et al., 2006)

12

Page 7: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

7

SVMs Lineares

� Uma possível solução (limiar de decisão linear) é mostrada acima

(Tan et al., 2006)

13

SVMs Lineares

� Uma outra possível solução é mostrada acima

(Tan et al., 2006)

14

Page 8: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

8

SVMs Lineares

� Outras possíveis soluções...

(Tan et al., 2006)

15

SVMs Lineares

� Qual classificador é melhor? B1 ou B2 ?– Como definir “melhor”... ?

(Tan et al., 2006)

16

Page 9: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

9

SVMs Lineares

� Encontrar o hiperplano que maximiza a margem do limiar de decisão– B1 é muito melhor que B2 !!!

(Tan et al., 2006)

17

SVMs Lineares

0=+ bT xw

� O hiperplano B1 é descrito por um vetor w e por um escalar b– w é da mesma dimensão dos pontos x e perpendicular a B1

(Tan et al., 2006)

18

Page 10: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

10

SVMs Lineares

( )ab xx −

� Note que a partir das expressões acima obtém-se wT (xb – xa) = 0

– o que prova que w é de fato perpendicular a B1

0=+ baT xw

0=+ bbT xw

19

SVMs Lineares

−≤+−≥++

=)(quadrados se1

(círculos) se1)(

kb

kby

T

T

xw

xwx

0=+ bT xw

kbT −=+xwkbT =+xw

rótulos de classes20

Page 11: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

11

SVMs Lineares

−≤−+≥+

=)(quadrados1 se1

(círculos) 1 se1)(

xw

xwx

T

T

y

1−=xwT

1+=xwT

⋅=

ww

bk

1

=

xx

1

rótulos de classes21

SVMs Lineares

1−=aT xw

1+=bT xw

( ) ( )ab

T

ab xxww

xxw −⋅=−= proj margem

( )

( ) 2

2

=−

=−

ab

T

abT

kxx

w

xxw

kw2

margem=

Page 12: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

12

SVMs Lineares

ω

2 margem=

� Nota:

� k é uma constante

� portanto não afeta a direção de w

� w é um vetor de pesos desconhecidos

� assim como k é, em princípio, um valor desconhecido

� logo, w pode ser redefinido para incluir k em seus pesos

� ou seja, ωωωω = w/k

� Isso leva à equação tradicional para a margem:

SVMs Lineares

�Problema de Otimização:

– Maximizar a margem do limiar de decisão

� em função do vetor de parâmetros w

� sujeito às seguintes restrições:

– Mas maximizar a margem é equivalente a

� minimizar

−≤−+≥+

=1 se1

1 se1)(

xw

xwx

T

T

y

ωωωT=2

24

Page 13: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

13

SVMs Lineares

� Problema de Otimização :

– Dados N padrões x i (i = 1, ..., N) e os respectivos rótulos de classe y(x i) = +1 ou -1, deseja-se:

– Problema quadrático com restrições lineares

� Problema é convexo em w = [w0 w1 ... wd]T = [ w0 ωωωωT ]T

� Solução global ótima é encontrada por métodos numéricos !

( ) Niy iT

i

T

,,1 1)( s.a.

min

L=+≥⋅ xwx

ωωw

25

SVMs Lineares

� Classificação (para w ótimo): classe =

Vetores Suporte

≤−≥+

0 se1

0 se1

xw

xwT

T

26

Page 14: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

14

SVMs Lineares

� E se o problema for não linearmente separável ?

– Problema de otimização é infactível...

(Tan et al., 2006)

exemplos inconsistentes

27

SVMs Lineares Relaxados

� Primeira alternativa presume que classificador linear é apropriado, apesar da não separabilidade

– e.g., exemplos inconsistentes devido a ruído

� Abordagem:

– Flexibilizar as restrições de otimização

� utilizando variáveis de relaxamento do problema

� essas variáveis são conhecidas como “slack”

– Novas restrições:

+−≤−−+≥+

=ii

T

iiT

iyξξ

1 se1

1 se1)(

xw

xwx

28

Page 15: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

15

SVMs Lineares Relaxados

� Interpretação geométrica do relaxamento:

– por simplicidade para uma variável slack ξi referente a uma instância x i particular (uma restrição específica)

xi

1−=xwT

iT ξ+−= 1xw

SVMs Lineares Relaxados

� Problema desta Abordagem:

– Não há restrições sobre o número de classificações incorretas...

– Algoritmo tenderá a maximizar a margem do limiar de decisão indefinidamente� relaxando as restrições o quanto for necessário

� Solução:

– Inserir uma penalidade sobre os relaxamentos

– Nova função objetivo:

+ ∑

=

N

jj

T

1

ξαωω

30

Page 16: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

16

� Problema de Otimização :

– Dados N padrões x i (i = 1, ..., N) e os respectivos rótulos de classe y(x i) = +1 ou -1, deseja-se:

– Problema convexo

� Solução global ótima é encontrada por métodos numéricos !

� Parâmetro α pode ser escolhido experimentalmente, com base no desempenho do classificador em dados de validação

( ) Niy iiT

i

N

jj

T

N

,,1 1)( s.a.

min1

, , , 1

L

K

=−+≥⋅

+ ∑=

ξ

ξαξξ

xwx

ωωw

SVMs Lineares Relaxados

SVMs Não Lineares

� E se o problema de classificação for não linear ?

(Tan et al., 2006)

32

Page 17: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

17

SVMs Não Lineares (Tan et al., 2006)

33

� Solução é encontrar uma transformação não linear ϕϕϕϕ(x) = [ϕ1(x) ... ϕm(x)] que mapeie o espaço original dos padrões para um novo espaço de atributos m-dimensional no qual os padrões x passam a ser linearmente separáveis

– m pode ser muito maior que a dim. do espaço original

x = [x1 x2]T

m = 2 (mesma de x nesse caso)ϕϕϕϕ(x) = [ϕ1(x) ϕ2(x)]T

ϕ1(x) = x1

ϕ2(x) = (x1 + x2)4

� Problema de Otimização :

– Dados N padrões x i (i = 1, ..., N) e os respectivos rótulos de classe y(x i) = +1 ou -1, deseja-se:

– Recai em um SVM linear !

� Apenas substitui-se x i por ϕϕϕϕ(x i), onde ϕϕϕϕ(x i) = [ 1 ϕϕϕϕ(x i) ]T

� Mas isso se a transformação for conhecida...

SVMs Não Lineares

( )( ) Niy iT

i

T

,,1 1)( s.a.

min

L=+≥⋅ xwx

ωωw

ϕ

34

Page 18: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

18

SVMs Não Lineares

� Como saber qual a transformação ϕϕϕϕ(x) para tornar linearmente separável um determinado conjunto de N padrões x1, ..., xN ???

� Problema pode ser contornado utilizando uma formulação equivalente do problema de otimização

– Formulação via multiplicadores de Lagrange

– Solução depende apenas do produto ϕϕϕϕ(x i)Tϕϕϕϕ(x j) para cada par de padrões x i e x j, não dos termos individuais

� i.e., depende apenas da matriz K(x i, x j) = { ϕϕϕϕ(x i)Tϕϕϕϕ(x j) }i,j=1,...,N

35

SVMs Não Lineares

� A matriz K(x i, x j) = { ϕϕϕϕ(x i)Tϕϕϕϕ(x j) } é denominada Kernel

� A idéia é de alguma forma determinar essa matriz de produtos sem precisar conhecer a transformação ϕϕϕϕ(x)

� Teorema de Mercer :

– Assegura que, para algumas classes de kernels K(x i, x j), sempre existe uma transformação ϕϕϕϕ(x) que permite decompor o kernel como { ϕϕϕϕ(x i)Tϕϕϕϕ(x j) }

� teorema não assegura nada sobre a dimensão m do espaço transformado ϕϕϕϕ(x), que pode até ser infinita

– isso depende da classe de kernels e dos N padrões

– usar kernels pode evitar trabalhar diretamente nesse espaço !36

Page 19: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

19

SVMs Não Lineares

� Dois kernels clássicos que satisfazem o teorema de Mercer e são muito utilizados em SVMs são:

– Polinomial : K(x i, x j) = (x iTx j + 1)p

� p é um parâmetro definido pelo usuário

– RBF: K(x i, x j) = exp( − ||x i − x j||2 / 2σ2 )

� σ é um parâmetro definido pelo usuário

37

SVMs Não Lineares

� Solução por multiplicadores de Lagrange:

– São encontrados N multiplicadores de Lagrange λi

� Cada multiplicador λi está associado a um padrão x i

� Os multiplicadores não nulos referem-se aos vetores suporte

– A classificação de qualquer instância x é dada por:

� Classe(x)

38

( ) ( )( )

+=

=

=

0 :

1

,1sinal

)()()(sinal

tλtttt

N

ii

Tii

Ky

y

xxx

xxx

λ

ϕϕλ

Page 20: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

20

SVMs Não Lineares

� Nota 1 :

– Da função de discriminação anterior, note que para kernels RBF recai-se exatamente em uma rede neural RBF, com centros (e número) de neurônios dados automaticamente pelos vetores suporte !

39

padrão x

kernels

( )∑≠

=0 :

0

tλttt yw xλ

SVMs Não Lineares

� Nota 2 :

– Existem 2 formulações equivalentes para o problema de otimização por multiplicadores de Lagrange:

� Problema Primal : depende explicitamente das variáveisoriginais do problema (vetor w), da transformação ϕϕϕϕ(x) e dosmultiplicadores de Lagrange

– Inapropriado pois, além de demandar conhecimento de ϕϕϕϕ(x), operana dimensão do espaço transformado, usualmente muito elevada !

� Problema Dual : depende apenas dos N multiplicadores

– Opera em um espaço N dimensional, onde N é o no. de padrões

• tipicamente muito menor que a dim. do espaço transformado !

– Solução é função apenas dos Kernels40

Page 21: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

21

SVMs Não Lineares

� Nota 3 :

– A maximização de margem realizada no espaço transformado pelo SVM não-linear não garante a inexistência de overfitting no classificador

� Dados de treinamento sempre serão separáveis para alguma dimensão suficientemente alta do espaço transformado

� Por exemplo, no limite qualquer conjunto de N padrões será separável com, no máximo, 1 kernel RBF para cada padrão

– N padrões = N vetores suporte

� Mas e os demais dados...?

– Controle de overfitting pode ser feito com a mesma técnica de relaxamento já descrita para SVMs lineares

41

42

Características dos SVMs

� Vantagens:

� Ao contrário de métodos como ADs, que são susceptíveis a obterem soluções sub-ótimas, SVMs sempre encontram a melhor solução possível para o problema de otimização que se propõem resolver

� SVMs são conhecidos serem dentre os mais eficientes classificadores para problemas de elevada dimensionalidade (muitos atributos)

� Por maximizarem a margem de separação ao mesmo tempo que permitem controle da flexibilidade do modelo através da técnica de relaxamento, SVMs minimizam o risco de overfitting, que é crítico para problemas com grande dimensionalidade (dados esparsos), em especial na presença de ruído

� SVMs podem ser adaptados / estendidos para problemas de regressão

Page 22: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

22

43

Características dos SVMs

� Desvantagens:

� Ao contrário de métodos como Ads, SVMs são classificadores do tipo “caixa-preta”, que não permitem interpretação da estratégia de decisão

� SVMs são desenvolvidos para atributos numéricos. Tratamento de atributos categóricos demanda a conversão desses para numéricos

� SVMs utilizam métodos numéricos de otimização quadrática que possuem complexidade mínima O(N2), usualmente O(N3), onde N é o número de padrões de treinamento

� Pode ser crítico a partir de uma determinada quantidade de padrões

� Reforça a maior adequabilidade desses classificadores em problemas envolvendo quantidades relativamente baixas de padrões (dados esparsos)

44

Problemas Multi-Classes

� SVMs são classificadores binários

� capazes de discriminar entre 2 classes

� O que fazer quando se tem um conjunto maior de classes ???

� ou seja, um problema multi-classes ...

Page 23: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

23

45

Problemas Multi-Classes

� Padrões de várias classes

� {1, 2, ..., n}

� Classes mutuamente

excludentes

Temperatura

Pre

ssão

gripe

sarampo

amidalite

46

SVMs Multi-Classes

� São necessários múltiplos SVMs binários para construir um classificador multi-classes

� Alternativas mais simples:� Decomposição 1-de-n:

� n classificadores binários, cada um treinado para distinguir uma das classes das demais classes

� Decomposição 1-1:� n*(n – 1)/2 classificadores binários, cada um treinado

para distinguir dentre um par de classes

Page 24: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

24

47

SVMs Multi-Classes

� Decomposição 1-de-n:

� n classificadores binários, cada um treinado para distinguir uma determinada classe das demais n – 1

� decomposição simplifica o problema, pois distinguir entre apenas 2 classes é um problema mais simples

� eventuais empates podem ser resolvidos utilizando alguma medida de confiabilidade das classificações

� por exemplo a distância do padrão ao limiar de decisão de cada um dos classificadores binários SVM em empate

48

SVMs Multi-Classes

� Decomposição 1-1:

� n*(n – 1)/2 classificadores binários, cada um treinado para distinguir entre um par de classes

� padrões referentes às n – 2 classes não envolvidas em cada classificador são ignorados no treinamento

� usa mais classificadores que abordagem 1-de-n, mas cada um deles envolve apenas padrões de 2 classes

� Na classificação, classe com maior no. de votos (indicações) dentre os múltiplos SVMs é escolhida

� votação diminui susceptibilidade a erro de um único classificador

Page 25: Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)

14/4/2009

25

49

Referências

� Haykin, S., Neural Networks: A ComprehensiveFoundation, 2nd Edition, 1999

� E. Alpaydin, Introduction to Machine Learning, MIT Press, 2004

� P.-N. Tan, Steinbach, M., and Kumar, V., Introduction to Data Mining, Addison-Wesley, 2006