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

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

Support Vector Machines (SVM) Eduardo Borges Gabriel Simões.

Apresentações semelhantes


Apresentação em tema: "Support Vector Machines (SVM) Eduardo Borges Gabriel Simões."— Transcrição da apresentação:

1 Support Vector Machines (SVM) Eduardo Borges Gabriel Simões

2 Roteiro Introdução – O que é SVM? – Motivação – Exemplo simples SVM – Dados linearmente separáveis – Dados linearmente inseparáveis Exemplo

3 Introdução Método supervisionado de aprendizado de máquina Classificação em dois grupos – Classificação de múltiplas classes não é uma limitação, pois pode-se construir uma SVM para cada classe Apresenta resultados melhores que muitos métodos populares de classificação

4 Introdução 1968: base matemática – Teoria de Lagrange [Vapnik et al, 1992] Primeiro artigo [Vapnik et al, 1998] Definição detalhada Última década – Série de artigos com aplicações de SVM – Série de artigos com otimizações de SVM SMO, por exemplo

5 Introdução SVM são utilizadas em diversas áreas: – Bioinformática – Reconhecimento de assinaturas – Classificação de texto e imagens – Identificação de spams – Reconhecimento de padrões diversos – Identificação de dados replicados

6 Motivação da SVM Como separar as duas classes?

7 Motivação da SVM Reta / Plano / Hiperplano? Qual o hiperplano ótimo? Menor erro de classificação

8 Conceitos de SVM Qual o hiperplano ótimo? – Menor erro de classificação – Maior margem Distância entre vetores de suporte e o hiperplano

9 Conceitos de SVM Qual o hiperplano ótimo? – Menor erro de classificação – Maior margem Distância entre vetores de suporte e o hiperplano

10 Como funciona para dados linearmente separáveis? Dados de treinamento – Tuplas no formato (X 1, X 2,..., X n, Y) Atributos X i Classe Y (+1, -1) Conjunto dito linearmente separável, se existir um hiperplano H (no espaço de entrada) que separe as tuplas de classes diferentes Determinar os vetores de suporte Encontrar o hiperplano ótimo – Com maior margem

11 O Hiperplano (H) Pontos que pertencem a H satisfazem a equação w x + b = 0 w : vetor normal a H w = w 1, w 2,..., w n ||w|| é a norma euclidiana de w (w w ) = (w w n 2 ) |b|/||w|| é a distância perpendicular de H até a origem A distância r entre um ponto x e o hiperplano H é r = g(x) / ||w|| r = ( w x + b ) / ||w|| Orientação de w – Define o lado do plano em que os pontos pertencem a classe +1 b > 0 (origem no lado positivo) b < 0 (origem no lado negativo) b = 0 (origem pertence ao plano) X1X1 X2X2 r |b|/||w|| w x H

12 O Hiperplano (H) – Exemplo H: w x + b = 0 H: w 1 x 1 + w 2 x 2 + b = 0 Aplicando os pontos (5,0) e (0,5) 5w 1 + b = 0 5w 2 + b = 0 Isolando b 5w 1 = 5w 2 (w 1 = w 2 ) Escolhendo arbitrariamente w 1 = 1 b = -5 Norma de w ||w|| = (w 1 2 +w 2 2 ) = 2 Distância da origem |b| / ||w|| = 5/ 2 Distância de um ponto x = (5,2) até H r = ( w x + b ) / ||w|| r = (5w1 + 2w2 -5 ) / 2 r = (5+2-5) / 2 r = 2 X1X1 X2X2 5/ 2 w x = (5,2) H 5 5 2

13 Hiperplano ótimo r + : distância entre H e o ponto positivo mais próximo r - : distância entre H e o ponto negativo mais próximo margem: r + + r - Objetivo da SVM é encontrar w 0 e b 0 para a maior margem H 0 : w 0 x + b 0 = 0 H 1 : w 0 x i + b 0 = 1 H 2 : w 0 x i + b 0 = -1 r + = ( w x + b ) / ||w|| r + = 1 / ||w|| Para o hiperplano ótimo, r + = r - r - = 1 / ||w|| Margem = 2 / ||w|| X1X1 X2X2 w0w0 H0H0 H1H1 H2H2 r+r+ r-r-

14 Hiperplano ótimo margem = 2 / ||w|| É aquele que possui maior margem É aquele que possui menor ||w|| Determinação do hiperplano – Problema de otimização restrita – Minimizar uma função de custo (produto interno) sujeito a restrições – Multiplicadores de Lagrange Fora do escopo Exemplo Prático

15 Exemplo -1, 0, -1 0, -1, -1 0, 1, -1 1, 0, -1 3, -1, +1 3, 1, +1 6, -1, +1 6, 1, +1

16 Exemplo -1, 0, -1 0, -1, -1 0, 1, -1 1, 0, -1 3, -1, +1 3, 1, +1 6, -1, +1 6, 1, +1

17 Exemplo H 1 : w x + b = 1 H 2 : w x + b = -1 w 1 x 1 + w 2 x 2 + b = -1 1w 1 + 0w 2 + b = -1 b = -1 - w 1 w 1 x 1 + w 2 x 2 + b = 1 3w 1 -1w 2 + b = 1 w 2 = 3w w 1 -1 w 2 = 2w w 1 +1w 2 + b = 1 3w 1 + 2w w 1 = 1 w 1 = 1 b = -2 w 2 = 0 (1, 0) x - 2 = 0 X 1 = 2 (1, 0) -1 (3, -1) +1 (3, 1) +1

18 Exemplo H: (1, 0) x - 2 = 0 H: x = 0 Dados de Teste (4, 2), (1.5, 0.5), (0, -2) = 2 [+1] = -0.5 [-1] = -2 [-1]

19 Como funciona para dados linearmente inseparáveis? Mapeamento do espaço de características de D dimensões para HD, onde HD > D Vetores de entrada são mapeados de forma não linear Após transformado, o novo espaço de características deve ser passível de separação linear

20 Exemplo X1X1 Class Como separar as duas classes com apenas um ponto? Class +1 Class -1

21 Exemplo X1X1 Class SVM usa uma função não linear sobre os atributos do espaço de características inicial Φ(X 1 ) = (X 1, X 1 2 ) Esta função torna o problema bidimensional Class +1 Class -1

22 Class +1 Class -1 Exemplo X1X1 X12X12 Class SVM usa uma função não linear sobre os atributos do espaço de características inicial Φ(X 1 ) = (X 1, X 1 2 ) Esta função torna o problema bidimensional e os dados linearmente separáveis

23 Exemplo w x + b = +1 w 1 x 1 + w 2 x 2 + b = +1 0w 1 + 0w 2 + b = +1 b = 1 3w 1 + 9w 2 + b = +1 w x + b = -1 w 1 x 1 + w 2 x 2 + b = -1substituindo b e após w 1 1w 1 + 1w 2 + b = -1 w 1 = -2 - w 2 2w 1 + 4w 2 + b = w 2 + 4w2 + 1 = -1 w x + b = 0w 2 =1 e w 1 = -3 w 1 x 1 + w 2 x 2 + b = 0 -3x 1 + x = 0 X1X1 X12X12 Class

24 Exemplo H: -3x 1 + x = 0 Dados de Teste (1.5), (-1), (4) (1.5) mapear para (1.5, 2.25) = [-1] (-1) mapear para (-1,1) = 5 [+1] (4) mapear para (4,16) = 5 [+1] Class +1 Class Class +1 Class -1

25 Outro Exemplo X1X1 X2X2 Class Como separar as duas classes com apenas uma reta?

26 Outro Exemplo (4-x 2 +|x 1 -x 2 |, 4-x 1 +|x 1 -x 2 |), (x x 2 2 ) > 2 Φ(x 1, x 2 ) = (x 1, x 2 ) Esta função mantém o problema bidimensional

27 Outro Exemplo x1x1 x2x2 Class Vetores de Suporte

28 Outro Exemplo x1x1 x2x2 Class Vetores de Suporte H 1 : w x + b = 1 H 2 : w x + b = -1 w 1 x 1 + w 2 x 2 + b = -1 1w 1 + 1w 2 + b = -1 w 1 = -1 -b -w 2 w 1 x 1 + w 2 x 2 + b = 1 2(-1 -b -w 2 ) + 2w2 + b = b -2w2 +2w2 + b = 1 b = -3 (2-1) x 2 = (2-1) x 1 Equação da reta 2x 2 - x 2 = 2x 1 - x 1 x 2 = x 1 w 1 = w 2 = 1 H 0 : (1,1) x -3 = 0 x1 + x2 -3 = 0

29 Outro Exemplo (4-x 2 +|x 1 -x 2 |, 4-x 1 +|x 1 -x 2 |), (x x 2 2 ) > 2 Φ(x 1, x 2 ) = (x 1, x 2 ) Esta função realmente separa o espaço original de forma linear? Dados de teste (5,5) Φ(5,5) = (-1, -1) Dados de teste (4,4) Φ(4,4) = (0, 0)Erros de classificação! (5,5) (4,4)

30 Outro Exemplo Função de mapeamento não é ideal

31 Problema Como escolher a função Φ(x) tal que o espaço de características transformado seja eficiente para classificação e não possua custo computacional alto demais? Funções de Núcleo (kernel) Polinomial Gaussiano Sigmoid – Sempre aumentam o número de dimensões Algumas vezes aumentam bastante!

32 Outro Exemplo Φ[x 1,x 2 ] = [x1, x2, ((x 1 2 +x 2 2 )-5)/3 ]

33 LibSVM Disponível em Java e C++ Applet para brincar

34 Bibliografia Burges, J. A tutorial on support vector machines for pattern recognition. Data Mining Knowledge Discovering, 1998, pp. 121–167. Han, J.; Kamber, M. Data Mining: Concepts and Techniques. 2nd edition, Morgan Kaufmann, Hearst, M.; Schölkopf, B.; Dumais, S.; Osuna, E.; Platt, J. Trends and controversies-support vector machines. IEEE Intelligent Systems 13: 18-28, Joachims, T. Text categorization with Support Vector Machines: Learning with many relevant features. Proceedings of ECML-98, 10th European conference on machine learning, 1998, pp 137–142. Kumar, V ; Tan, P.; Steinbach, M. Introduction to Data Mining. Addison-Wesley, Lin, T.; Ngo, T. Clustering High Dimensional Data Using SVM. Rough Sets, Fuzzy Sets, Data Mining and Granular Computing. Lecture Notes in Computer Science, Springer, Mangasarian, O. Data mining via support vector machines. System Modeling and Optimization, Kluwer Academic Publishers, Boston, 2003, Vapnik, V. Statistical LearningTheory. Wiley, Ventura, D. A (not finished) tutorial example for linear and non-linear SVMs. Available at


Carregar ppt "Support Vector Machines (SVM) Eduardo Borges Gabriel Simões."

Apresentações semelhantes


Anúncios Google