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
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
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
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
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 !
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
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
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
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
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
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=
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
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
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
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
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
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
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
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
λ
ϕϕλ
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
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
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 ...
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
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
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