Classificador SVM
Support Vector Machine
AULA 12
DATA MINING
Sandra de Amo
Idéia Geral
Margem
para
B2
Margem
para
B1
B1
B2
Problema a resolver

Qual o melhor “hiperplano separador” ?


Margem estreita: mínimas perturbações no hiperplano
podem produzir um hiperplano não-separador.
Margem grande: a propriedade de “separação” de classes
é preservada por pequenas perturbações no hiperplano.

Conclusão: Melhor hiperplano separador é o que
apresenta a maior margem.

Encontrar o melhor hiperplano separador =
Problema de Otimização com restrições
Casos a tratar

Fronteira é Linear (espaço vetorial)


Dados são “separáveis”
Dados não são “separáveis” ??
B1 ainda é o melhor
separador !
Mas B2 é o que seria
produzido usando uma
técnica própria para dados
Ruídos ?
“separáveis”
Enfoque Soft Margin:
Produz fronteira que tolera
algumas “exceções” na
separação.
E quando a fronteira não é linear ?
Transformação R2  R2 (não- linear)
Transforma a fronteira não – linear numa fronteira linear
Dados são separáveis

Hiperplano = subespaço vetorial de
dimensão n-1
Conjunto dos vetores x
w.x + b = 0
b = deslocamento do hiperplano a partir
da origem
w = vetor ortogonal ao hiperplano
Cálculo do deslocamento b
w . x = (||x||.cosθ) ||w|| = c ||w||
supondo ||w|| = 1
w.x – c = 0
k
Logo b = - c
Fronteira superior
w.x = c + k
w.x + b = k
w
c
Fronteira inferior
w.x = c - k w.x + b = - k
x
Equações simplificadas das fronteiras
B1
w x+ b = 0
w
w x+b =1
w x + b = -1
Obs: Para tornar as
equações das
fronteiras mais simples
multiplica-se w pelo
escalar 1/k de modo
que o lado direito é 1
ou -1
d
b12
b11
d = 2/ ||w||
Cálculo da margem d em função do
vetor w
B1
w
d = projeção do vetor x1 – x2
sobre o vetor w
d
x1
x2
Lei dos cossenos
w. (x1-x2) = (||x1 – x2||.cosθ) ||w|| =
d ||w||
w.x1 + b = 1
w. x2 + b = -1
b11
b12
w .(x1 – x2) = 2
Logo : d = 2/||w||
Problema


Dado um conjunto de k amostras
(x1, c1),…(xk,ck), onde xi são vetores de n dimensões e ci é a
classe (1 ou -1) das amostras
Encontrar o hiperplano determinado pelo vetor w e o escalar b tal
que:
 Qualquer amostra xi da classe ci = 1 satisfaça
 w. xi + b >= 1
 Qualquer amostra xi da classe ci = -1 satisfaça
 w.xi + b <= -1
 Margem d = 2/||w|| é maximal
2
 Ou equivalentemente: 2/||w|| é maximal
2
 Ou equivalentemente: f(w) = ||w|| /2 é minimal
Problema de Otimização com
restrições de desigualdade

Dados (x1,c1), …, (xN,cN) determinar w e b de tal
modo
2


F(w) = ||w|| / 2 seja mínimo
as N desigualdades abaixo sejam satisfeitas
ci (w. xi + b) >= 1
Classificador SVM

Consiste no vetor w e no escalar b que
caracterizam o melhor hiperplano separador.

Como usar o classificador SVM para
classificar uma amostra x ?
1
classe ( x ) = 
- 1
se w x + b  1
se w x + b  - 1
Multiplicadores de Lagrange : Técnica para
Solução de Problemas de Otimização
Com Restrições de Igualdade
Problema: Encontrar o mínimo da função
satisfazendo as restrições
Método: Achar o minimo do lagrangiano associado
= 0
1. Defina o Lagrangiano
λi = multiplicadores de Lagrange
2. Encontre as derivadas parciais de L com respeito aos xj e λi e iguale a zero.
3. Resolva as d+p equações e encontre os valores de x1,...,xd e λ1,..., λp
Exemplo
satisfazendo a restrição
Encontre o mínimo da função
Solução:
Solução das equações:
Caso 1:
Caso 2:
Portanto: a função f atinge seu valor mínimo para
Multiplicadores de Lagrange : Técnica para
Solução de Problemas de Otimização
Com Restrições de Desigualdade
Problema: Encontrar o mínimo da função
satisfazendo as restrições
Equivalente a minimizar o Lagrangiano associado a f(x)
L(x,λ1,…,λq) =
≤0
Sujeito às restrições λ1≥ 0 …, λq ≥ 0
Repare que: L(x,λ1,…,λq) ≤ f(x) para quaisquer valores de x = (x1,…,xq),
Logo: valores de x que minimizam L = valores de x que minimizam f
Dual de Wolfe (Fletcher 1987)
Minimizar L(x,λ1,…,λq) =
com respeito às variáveis x1,…,xq
sujeito às restrições λ1≥ 0 …, λq ≥ 0
∂L
= 0 para i = 1,…q
∂λi
Problema dual de Wolfe
Maximizar L(x,λ1,…,λq) =
com respeito às variáveis λ1,…, λq
sujeito às restrições λ1≥ 0 …, λq ≥ 0
∂L
= 0 para i = 1,…q
∂xi
PROBLEMAS DE OTIMIZAÇÃO CONVEXOS
Conjunto convexo
Função convexa
Conjunto não-convexo
Um problema de otimização é convexo se:
 A função objetivo é convexa
 As restrições determinam um conjunto convexo
As restrições de Karush-Kuhn-Tucker
(Fletcher 1987)
Problema Dual de Wolfe (DW)
Maximizar L(x,λ1,…,λq) =
com respeito às variáveis λ1,…, λq
sujeito às restrições λ1≥ 0 …, λq ≥ 0
∂L
= 0 para i = 1,…q
∂xi
Se o problema de otimização é convexo
então as seguintes condições são
necessárias e suficientes para
x1,…,xq, λ1, …, λq serem soluções do
problema DW
Restrições de Karush-Kuhn-Tucker (KTT)
Exemplo
Encontre o mínimo da função
2
f(x,y) = (x – 1) + (y – 3)
sujeito às restrições
2
Solução: Maximizar o Lagrangiano dual de Wolfe com respeito a λ1, λ2
2
2
Lagrangiano: L(x,y,λ1,λ2) = (x-1) + (y-3) + λ1(x+y-2) + λ2(x-y)
sujeito às restrições KTT:
Estudar todos os possíveis
casos para estas equações
Caso 1: λ1 = 0 e λ2 = 0
x-1= 0 e y-3 = 0
x = 1 e y =3
Viola a restrição x + y ≤ 2
Caso 2: λ1 = 0 e λ2 > 0
x – y = 0 , 2(x-1) + λ2 = 0, 2(y-3) - λ2 =0
Caso 3: λ2 = 0 e λ1 > 0
x + y – 2 = 0 , 2(x-1) + λ1 = 0, 2(y - 3) + λ1 =0
Solução: x = 0, y = 2, λ1 = 2
Solução: x = 1, y = 3, λ2 = -2
Viola as restrições x + y ≤ 2 e λ2 > 0
Solução possível !
Caso 4: λ1 > 0 e λ2 > 0
x + y – 2 = 0 , 2(x-1) + λ1 + λ2 = 0, 2(y - 3) + λ1 – λ2 = 0
Solução: x = 1, y = 1, λ1 = 2, λ2 = - 2
Viola a restrição λ2 > 0
Obervação:
 Transformar o problema de otimização original no problema de otimização do
Lagrangiano simplica as equações.
 Resolver o problema de otimização do Lagrangiano nem sempre
é simples, e envolve a aplicação de métodos numéricos sofisticados.
 Diversos softwares estão disponíveis (ex. MATLAB)
Referências Teóricas:
R. Fletcher. Practical Methods of Optimization.
John Wiley and Sons, Inc., 2nd Edition, 1987
Voltando ao nosso problema SVM
2
Minimizar f(w) = ||w|| /2
Restrições: yi (w. xi + b) ≥ 1 ,
i = 1,…,N
N = número de amostras
Exercício: Mostrar que o Problema de Otimização SVM é
Convexo. Logo podemos utilizar as restrições KTT para
auxiliar em sua solução.
Voltando ao nosso problema SVM
Restrições KTT
Problema Equivalente: Dual de Wolfe
(1)
MAXIMIZAR LP
Com relação às variáveis λ1, …, λN
(2)
(3)
(4)
(5)
Resolve-se as equações (1), (2), (3), (4) e (5) , começando por (5),
considerando-se os 4 casos em que a expressão (5) é nula.
Outra maneira de solucionar Lp
Exercicio: 1) Substituir as restrições (1) e (2) na fórmula do Lagrangiano LP
(1)
(2)
Resultado: Lagrangiano “Dual”
2) Mostrar que a nova formulação das restrições KTT (3) e (5) é dada por
(3) (Σ λj yi yj xj . xi) + yi b ≥ 1
j
(5) λi [Σ λj yi yj xj . xi) + yi b – 1] = 0
j
Problema de Otimização mais simples : LD
Achar o máximo da Função
(nas variáveis λ1,…, λN)
Satisfazendo as restrições
λ1 ≥ 0,….λN ≥ 0
Lagrangiano dual LD é mais simples :
• Um número menor de variáveis λ1,…, λN
• Considera-se as derivadas parciais de LD com relação a λi e iguala-se a zero.
• Considera-se somente as soluções satisfazendo as duas restrições dadas.
Método para achar a solução de LP a
partir das soluções de LD
Para obter o vetor w:
Para obter o deslocamento b usa-se a equação (restrição KTT)
Para classificar uma nova amostra
z = (z1,...,zm)
Ou equivalentemente
Testa o sinal de w.z + b
o sinal de :
Vetores de suporte (Support Vectors)
Ou λi = 0 ou
λi ≠ 0  amostra xi pertence a umas das margens
Tais amostras são chamadas : Vetores de Suporte
Hiperplano separador (determinado por w e b) só depende dos vetores suporte
Exercício
Vetores
de suporte
(Support
Vectors)
Pede-se:
1) Encontre o hiperplano separador
2) Plote as amostras e o hiperplano separador num plano
3) Classifique a nova instância (0.45, 0.29), sem plotá-la no plano, usando
o classificador.
Resposta
Vetores
Suporte
Vantagens e Desvantagens
Vantagens
Flexibilidade: Técnica aplicada a outras tarefas: detecção de novidades,
anomalias, previsão
Muitas aplicações bem sucedidas: bioinformática, reconhecimento de face,
visão computacional, reconhecimento de escrita manual,
Intuição geométrica, elegância matemática
Poucos parâmetros, resultado final é estável, reproduzível, não depende de
ajuste de parâmetros (como redes neurais, por exemplo).
Existem vários algoritmos de otimização robustos
Método é simples de usar
Desvantagens
Interpretabilidade ?
Resultados podem ser afetados pela técnica usada para normalizar os dados
Referências
Surveys
Kristin P. Bennett, Colin Campbell : Support Vector Machines: Hype or
Hallelujah? SIGKDD Explorations. Volume 2, Issue 2, pp. 1-13. 2000
 Christopher Burges. A Tutorial on Support Vector Machine for Pattern
Recognition. Data Mining and Knowledge Discovery 2(2): 121-167, 1998.

Livros
Vapnik, V. Statistical Learning Theory. Wiley, 1998.

Vapnik, V. The Nature of Statistical Learning Theory. Springer, New
York, 1995.

Cristianini N. and Shawe-Taylor J. An Introduction to Support Vector
Machines and other Kernel-based Learning Methods. Cambridge University
Press, 2000. www.support-vector.net

B. Scholkopf, A.J. Smola. Learning with Kernels: Support Vector Machines,
Regularization, Optimization and Beyond. MIT Press, 2001
Software SVMLight (livre)
http://svmlight.joachims.org/

Como utilizar classificadores binários para
classificar dados multi-classes ?
Método “um contra todos”
C = {C1, C2, ..., Ck} : conjunto de k classes

Constrói-se k modelos do classificador binário
1)
pos = C1 , neg = {C2,...,Ck}
---------> Modelo M1
2)
pos = C2, neg = {C1,C3,...,Ck}
---------> Modelo M2
3)
...
k)
Pos = {Ck}, neg = {C1,C2,...,Ck-1} ---------> Modelo Mk
Para classificar uma nova amostra X :

1)
2)
3)
Classifica X usando cada um dos modelos M1, ... , Mn
Verifica qual classe teve o maior número de votos entre os
classificadores.
Esta será a classe escolhida para classificar X
Exemplo


M1
M2
M3
M4
C = {C1, C2, C3, C4}
X : nova amostra
VOTOS RECEBIDOS POR CADA CLASSE
C1
C2
C3
C4
X
+
-
+
-
+
-
+
+
-
M1
M2
M3
M4
C1
C2
C3
C4
1
1
1
1
0
0
1
1
0
1
0
1
0
1
1
0
Classe C1 é a mais votada para classificar X
Logo X é classificada na classe C1
Download

Classificador SVM Support Vector Machine