A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Classificador SVM Support Vector Machine

Apresentações semelhantes


Apresentação em tema: "Classificador SVM Support Vector Machine"— Transcrição da apresentação:

1 Classificador SVM Support 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 + k w.x + b = k w c Fronteira inferior w.x = c - k w.x + b = - k x

8 Equações simplificadas das fronteiras
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 d = 2/ ||w||

9 Cálculo da margem d em função do vetor 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 ? î í ì - + = 1 b se ) ( classe x w

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 = 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 Exemplo satisfazendo a restrição Solução: Solução das equações:
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

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) 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

16 Dual de Wolfe (Fletcher 1987)
com respeito às variáveis x1,…,xq Minimizar L(x,λ1,…,λq) = sujeito às restrições λ1≥ 0 …, λq ≥ 0 ∂L ∂λi = 0 para i = 1,…q 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 ∂xi = 0 para i = 1,…q

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) Maximizar L(x,λ1,…,λq) = com respeito às variáveis λ1,…, λq sujeito às restrições λ1≥ 0 …, λq ≥ 0 ∂L ∂xi = 0 para i = 1,…q 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)

19 Exemplo Encontre o mínimo da função sujeito às restrições
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 Viola as restrições x + y ≤ 2 e λ2 > 0 Caso 3: λ2 = 0 e λ1 > 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

21 Referências Teóricas:
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 Problema Equivalente: Dual de Wolfe MAXIMIZAR LP Com relação às variáveis λ1, …, λN (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.

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

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
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 Livros
Kristin P. Bennett, Colin Campbell : Support Vector Machines: Hype or Hallelujah? SIGKDD Explorations. Volume 2, Issue 2, pp Christopher Burges. A Tutorial on Support Vector Machine for Pattern Recognition. Data Mining and Knowledge Discovery 2(2): , 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, B. Scholkopf, A.J. Smola. Learning with Kernels: Support Vector Machines, Regularization, Optimization and Beyond. MIT Press, 2001 Software SVMLight (livre)

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 + - 1 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 M1 1 M2 M3 M4 Classe C1 é a mais votada para classificar X Logo X é classificada na classe C1


Carregar ppt "Classificador SVM Support Vector Machine"

Apresentações semelhantes


Anúncios Google