Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
1. 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
2. 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
3. 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
4. 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
5. 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 !
6. 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
7. 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
8. 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
9. 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
10. 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=+ ba
T
xw
0=+ bb
T
xw
19
SVMs Lineares
−≤+−
≥++
=
)(quadradosse1
(círculos)se1
)(
kb
kb
y T
T
xw
xw
x
0=+ bT
xw
kbT
−=+xw
kbT
=+xw
rótulos de classes
20
12. 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
−≤−
+≥+
=
1se1
1se1
)(
xw
xw
x T
T
y
ωωω T
=
2
24
13. 14/4/2009
13
SVMs Lineares
Problema de Otimização:
– Dados N padrões xi (i = 1, ..., N) e os respectivos
rótulos de classe y(xi) = +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 i
T
i
T
,,11)(s.a.
min
L=+≥⋅ xwx
ωω
w
25
SVMs Lineares
Classificação (para w ótimo): classe =
Vetores
Suporte
≤−
≥+
0se1
0se1
xw
xw
T
T
26
14. 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
ii
T
iy
ξ
ξ
1se1
1se1
)(
xw
xw
x
28
15. 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 xi particular (uma restrição específica)
xi
1−=xwT
i
T
ξ+−= 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
j
j
T
1
ξαωω
30
16. 14/4/2009
16
Problema de Otimização:
– Dados N padrões xi (i = 1, ..., N) e os respectivos
rótulos de classe y(xi) = +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 ii
T
i
N
j
j
T
N
,,11)(s.a.
min
1
,,, 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
17. 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 xi (i = 1, ..., N) e os respectivos
rótulos de classe y(xi) = +1 ou -1, deseja-se:
– Recai em um SVM linear !
Apenas substitui-se xi por ϕϕϕϕ(xi), onde ϕϕϕϕ(xi) = [ 1 ϕϕϕϕ(xi) ]T
Mas isso se a transformação for conhecida...
SVMs Não Lineares
( )( ) Niy i
T
i
T
,,11)(s.a.
min
L=+≥⋅ xwx
ωω
w
ϕ
34
18. 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 ϕϕϕϕ(xi)Tϕϕϕϕ(xj) para
cada par de padrões xi e xj, não dos termos individuais
i.e., depende apenas da matriz K(xi, xj) = { ϕϕϕϕ(xi)Tϕϕϕϕ(xj) }i,j=1,...,N
35
SVMs Não Lineares
A matriz K(xi, xj) = { ϕϕϕϕ(xi)Tϕϕϕϕ(xj) } é 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(xi, xj), sempre existe uma transformação ϕϕϕϕ(x) que
permite decompor o kernel como { ϕϕϕϕ(xi)Tϕϕϕϕ(xj) }
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
19. 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(xi, xj) = (xi
Txj + 1)p
p é um parâmetro definido pelo usuário
– RBF: K(xi, xj) = exp( − ||xi − xj||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 xi
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λt
ttt
N
i
i
T
ii
Ky
y
xxx
xxx
λ
ϕϕλ
20. 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λt
tt 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áveis
originais do problema (vetor w), da transformação ϕϕϕϕ(x) e dos
multiplicadores de Lagrange
– Inapropriado pois, além de demandar conhecimento de ϕϕϕϕ(x), opera
na 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 Kernels
40
21. 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
22. 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 ...
23. 14/4/2009
23
45
Problemas Multi-Classes
Padrões de várias classes
{1, 2, ..., n}
Classes mutuamente
excludentes
Temperatura
Pressã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
24. 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
25. 14/4/2009
25
49
Referências
Haykin, S., Neural Networks: A Comprehensive
Foundation, 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