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

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

Classificador SVM Support Vector Machine AULA 12 DATA MINING Sandra de Amo.

Apresentações semelhantes


Apresentação em tema: "Classificador SVM Support Vector Machine AULA 12 DATA MINING Sandra de Amo."— Transcrição da apresentação:

1 Classificador SVM Support Vector Machine AULA 12 DATA MINING Sandra de Amo

2 Idéia Geral Margem para B1 Margem para 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 ?? Ruídos ? 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.

5 E quando a fronteira não é linear ? Transformação R 2 R 2 (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 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

8 Equações simplificadas das fronteiras d w wx + b = 0 wx + b wx = 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

9 Cálculo da margem d em função do vetor w x2 x1 w d = 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 = 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 (x 1,c 1 ), …, (x N,c N ) 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 ? 1b se1 1b 1 )(classe x xw xw

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 0=

14 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

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

16 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

17 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

18 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ão necessá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)

19 Exemplo Encontre 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) 2 2 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 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: R. Fletcher. Practical Methods of Optimization. John Wiley and Sons, Inc., 2 nd 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)

22 Voltando ao nosso problema SVM 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. 2

23 Voltando ao nosso problema SVM Problema 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.

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

25 Problema de Otimização mais simples : L D Lagrangiano dual L D é mais simples : Um número menor de variáveis λ1,…, λN Considera-se as derivadas parciais de L D 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

26 Método para achar a solução de L P a partir das soluções de L D 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 + b Ou equivalentemente o sinal de :

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

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 Christopher Burges. A Tutorial on Support Vector Machine for Pattern Recognition. Data Mining and Knowledge Discovery 2(2): , Livros Vapnik, V. Statistical Learning Theory. Wiley, Vapnik, V. The Nature of Statistical Learning Theory. Springer, New York, 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 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) Classifica X usando cada um dos modelos M1,..., Mn 2) Verifica qual classe teve o maior número de votos entre os classificadores. 3) Esta será a classe escolhida para classificar X

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


Carregar ppt "Classificador SVM Support Vector Machine AULA 12 DATA MINING Sandra de Amo."

Apresentações semelhantes


Anúncios Google