1 / 33

Classificador SVM Support Vector Machine

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 ” ?

haile
Télécharger la présentation

Classificador SVM Support Vector Machine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Classificador SVMSupport Vector Machine AULA 12 DATA MINING Sandra de Amo

  2. Idéia Geral Margem para B2 Margem para B1 B1 B2

  3. 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

  4. 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 “separáveis” Enfoque Soft Margin: Produz fronteira que tolera algumas “exceções” na separação. Ruídos ?

  5. E quando a fronteira não é linear ? Transformação R2 R2 (não- linear) Transforma a fronteira não – linear numa fronteira linear

  6. 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

  7. Cálculo do deslocamento b w . x = (||x||.cosθ) ||w|| = c ||w|| supondo ||w|| = 1 w.x – c = 0 Logo b = - c k Fronteira superior w.x = c + kw.x + b = k w c Fronteira inferior w.x = c - k w.x + b = - k x

  8. Equações simplificadas das fronteiras = 1 = 0 w x x w w x w = -1 + b + b + b 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 d = 2/ ||w||

  9. Cálculo da margem d em função do vetor w 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 w .(x1 – x2) = 2 Logo : d = 2/||w||

  10. 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

  11. 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

  12. 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 ? + ³ ì w x 1 se b 1 = classe ( ) í w x - + £ - 1 se b 1 î x

  13. 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

  14. Solução das equações: Caso 1: Caso 2: Portanto: a função f atinge seu valor mínimo para Exemplo Encontre o mínimo da função satisfazendo a restrição Solução:

  15. 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) ≤ 0 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), Logo: valores de x que minimizam L = valores de x que minimizam f

  16. Dual de Wolfe (Fletcher 1987) com respeito às variáveis x1,…,xq L(x,λ1,…,λq) = Minimizar sujeito às restrições λ1≥ 0 …, λq ≥ 0 ∂L = 0 para i = 1,…q ∂λi Problema dual de Wolfe com respeito às variáveis λ1,…, λq Maximizar L(x,λ1,…,λq) = sujeito às restrições λ1≥ 0 …, λq ≥ 0 ∂L = 0 para i = 1,…q ∂xi

  17. 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

  18. As restrições de Karush-Kuhn-Tucker(Fletcher 1987) Problema Dual de Wolfe (DW) com respeito às variáveis λ1,…, λq Maximizar L(x,λ1,…,λq) = sujeito às restrições λ1≥ 0 …, λq ≥ 0 = 0 para i = 1,…q Se o problema de otimização é convexo então as seguintescondiçõessão necessárias e suficientespara x1,…,xq, λ1, …, λq seremsoluções do problema DW ∂L Restrições de Karush-Kuhn-Tucker (KTT) ∂xi

  19. Exemplo sujeito às restrições Encontre o mínimo da função 2 2 f(x,y) = (x – 1) + (y – 3) 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

  20. 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 Solução: x = 1, y = 3, λ2 = -2 x + y – 2 = 0 , 2(x-1) + λ1 = 0, 2(y - 3) + λ1 =0 Viola as restrições x + y ≤ 2 e λ2 > 0 Solução: x = 0, y = 2, λ1 = 2 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

  21. 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

  22. 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.

  23. Voltando ao nosso problema SVM Restrições KTT (1) Problema Equivalente: Dual de Wolfe 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.

  24. 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 (5) λi [Σλj yi yj xj . xi) + yi b – 1] = 0 j j

  25. 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úmeromenor de variáveisλ1,…, λN • Considera-se as derivadasparciais de LD com relação a λi e iguala-se a zero. • Considera-se somente as soluçõessatisfazendo as duasrestriçõesdadas.

  26. 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 o sinal de : Testa o sinal de w.z + b

  27. 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

  28. Exercício Vetores de suporte (Support Vectors) • Pede-se: • Encontre o hiperplano separador • Plote as amostras e o hiperplano separador num plano • Classifique a nova instância (0.45, 0.29), sem plotá-la no plano, usando • o classificador.

  29. Resposta Vetores Suporte

  30. 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

  31. 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/

  32. 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 • pos = C1 , neg = {C2,...,Ck} ---------> Modelo M1 • pos = C2, neg = {C1,C3,...,Ck} ---------> Modelo M2 • ... • Pos = {Ck}, neg = {C1,C2,...,Ck-1} ---------> Modelo Mk • Para classificar uma nova amostra X : • 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

  33. Exemplo • C = {C1, C2, C3, C4} • X : nova amostra VOTOS RECEBIDOS POR CADA CLASSE Classe C1 é a mais votada para classificar X Logo X é classificada na classe C1

More Related