classificador svm support vector machine aula 12 data mining sandra de amo
TRANSCRIPT
Classificador SVMSupport Vector Machine
AULA 12
DATA MINING
Sandra de Amo
Idéia Geral Margem para B1
B1
Margem para B2
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” ??
Ruídos ?
B1 ainda é o melhor separador !
Mas B2 é o que seriaproduzido usando uma técnica própria para dados“separáveis”
Enfoque Soft Margin:Produz fronteira que toleraalgumas “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
w . x = (||x||.cosθ) ||w|| = c ||w|| supondo ||w|| = 1
w.x – c = 0 Logo b = - c
c
x
w
k
Fronteira superior w.x = c + k w.x + b = k
Fronteira inferior w.x = c - k w.x + b = - k
Cálculo do deslocamento b
Equações simplificadas das fronteiras
B1
b11
b12
d
ww x + b = 0
w x + bw x + b = 1
= -1
d = 2/ ||w||
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
Cálculo da margem d em função do vetor w
B1
b11
b12
x2
x1
wd = projeção do vetor x1 – x2 sobre o vetor w
d
w. (x1-x2) = (||x1 – x2||.cosθ) ||w|| =d ||w||
Lei dos cossenos
w.x1 + b = 1w. x2 + b = -1
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 Ou equivalentemente: 2/||w|| é maximal Ou equivalentemente: f(w) = ||w|| /2 é minimal
2
2
Problema de Otimização com restrições de desigualdade Dados (x1,c1), …, (xN,cN) determinar w e b de tal
modo F(w) = ||w|| / 2 seja mínimo as N desigualdades abaixo sejam satisfeitas
ci (w. xi + b) >= 1
2
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 ?
1b se1
1b se1)(classe x
xw
xw
Multiplicadores de Lagrange : Técnica para Solução de Problemas de OtimizaçãoCom Restrições de Igualdade
Problema: Encontrar o mínimo da função
satisfazendo as restrições
Método: Achar o minimo do lagrangiano associado
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
0=
Exemplo
Encontre o mínimo da função satisfazendo a restriçã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çãoCom 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) =
Sujeito às restrições λ1≥ 0 …, λq ≥ 0
Repare que: L(x,λ1,…,λq) ≤ f(x) para quaisquer valores de x = (x1,…,xq),
≤ 0
Logo: valores de x que minimizam L = valores de x que minimizam f
Dual de Wolfe (Fletcher 1987)Minimizar L(x,λ1,…,λq) =
sujeito às restrições λ1≥ 0 …, λq ≥ 0
com respeito às variáveis x1,…,xq
= 0 para i = 1,…q
Maximizar L(x,λ1,…,λq) =
sujeito às restrições λ1≥ 0 …, λq ≥ 0
com respeito às variáveis λ1,…, λq
∂L
∂xi = 0 para i = 1,…q
Problema dual de Wolfe
∂L
∂λi
Função convexa
Conjunto convexo
PROBLEMAS DE OTIMIZAÇÃO CONVEXOS
Um problema de otimização é convexo se:
A função objetivo é convexa As restrições determinam um conjunto convexo
Conjunto não-convexo
As restrições de Karush-Kuhn-Tucker(Fletcher 1987)
Maximizar L(x,λ1,…,λq) =
sujeito às restrições λ1≥ 0 …, λq ≥ 0
com respeito às variáveis λ1,…, λq
∂L
∂xi = 0 para i = 1,…q
Se o problema de otimização é convexo então as seguintes condições sãonecessárias e suficientes para x1,…,xq, λ1, …, λq serem soluções do problema DW
Problema Dual de Wolfe (DW)
Restrições de Karush-Kuhn-Tucker (KTT)
ExemploEncontre o mínimo da função sujeito às restrições
Solução: Maximizar o Lagrangiano dual de Wolfe com respeito a λ1, λ2
f(x,y) = (x – 1) + (y – 3) 2 2
Lagrangiano: L(x,y,λ1,λ2) = (x-1) + (y-3) + λ1(x+y-2) + λ2(x-y)22
sujeito às restrições KTT:
Estudar todos os possíveiscasos para estas equações
Caso 1: λ1 = 0 e λ2 = 0
x = 1 e y =3
x-1= 0 e y-3 = 0
Viola a restrição x + y ≤ 2
Caso 2: λ1 = 0 e λ2 > 0
Solução: x = 1, y = 3, λ2 = -2
x – y = 0 , 2(x-1) + λ2 = 0, 2(y-3) - λ2 =0
Viola as restrições x + y ≤ 2 e λ2 > 0
Caso 3: λ2 = 0 e λ1 > 0
Solução: x = 0, y = 2, λ1 = 2
x + y – 2 = 0 , 2(x-1) + λ1 = 0, 2(y - 3) + λ1 =0
Solução possível !
Caso 4: λ1 > 0 e λ2 > 0
Solução: x = 1, y = 1, λ1 = 2, λ2 = - 2
x + y – 2 = 0 , 2(x-1) + λ1 + λ2 = 0, 2(y - 3) + λ1 – λ2 = 0
Viola a restrição λ2 > 0
Referências Teóricas:
R. Fletcher. Practical Methods of Optimization. John Wiley and Sons, Inc., 2nd Edition, 1987
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)
Voltando ao nosso problema SVMMinimizar 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.
2
Voltando ao nosso problema SVMProblema Equivalente: Dual de Wolfe
MAXIMIZAR LP
Com relação às variáveis λ1, …, λN
Restrições KTT
(1)
(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 LpExercicio: 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
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.
Achar o máximo da Função (nas variáveis λ1,…, λN)
Satisfazendo as restrições
λ1 ≥ 0,….λN ≥ 0
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)
Testa o sinal de w.z + bOu equivalentemente 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 separador2) Plote as amostras e o hiperplano separador num plano3) Classifique a nova instância (0.45, 0.29), sem plotá-la no plano, usando o classificador.
Resposta
VetoresSuporte
Vantagens e DesvantagensVantagensFlexibilidade: Técnica aplicada a outras tarefas: detecção de novidades, anomalias, previsãoMuitas aplicações bem sucedidas: bioinformática, reconhecimento de face, visão computacional, reconhecimento de escrita manual,Intuição geométrica, elegância matemáticaPoucos 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 robustosMétodo é simples de usar
DesvantagensInterpretabilidade ?Resultados podem ser afetados pela técnica usada para normalizar os dados
ReferênciasSurveys 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.
LivrosVapnik, 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.netB. 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 M12) pos = C2, neg = {C1,C3,...,Ck} ---------> Modelo M23) ...k) Pos = {Ck}, neg = {C1,C2,...,Ck-1} ---------> Modelo Mk
Para classificar uma nova amostra X :1) Classifica X usando cada um dos modelos M1, ... , Mn2) Verifica qual classe teve o maior número de votos entre os
classificadores.3) Esta será a classe escolhida para classificar X
Exemplo
C = {C1, C2, C3, C4} X : nova amostra
C1 C2 C3 C4 X
M1 + - - - +M2 - + - - -M3 - - + - -M4 - - - + -
VOTOS RECEBIDOS POR CADA CLASSE
C1 C2 C3 C4
M1 1 0 0 0M2 1 0 1 1M3 1 1 0 1M4 1 1 1 0
Classe C1 é a mais votada para classificar XLogo X é classificada na classe C1